[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

/dpt/ - Daily Programming Thread

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 306
Thread images: 38

File: 1480590811928.png (389KB, 934x1000px) Image search: [Google]
1480590811928.png
389KB, 934x1000px
What are you working on, /g/?

Old thread: >>57927950
>>
First for Rust
>>
Remember, if you're a christian programmer, avoid Vi and its many faces & disguises, like Vim, Neovim and the heretic alchemy of Spacemacs.

Use only the holy editor of Emacs!
>>
>>57935726
More like Bust #gotem
>>
Python master race

car_manu = ['ford', 'vauxhall', 'toyota', 'renault', 'volkswagen']
car_dict = {
"ford" : {
'focus', 'fiesta'
}, "vauxhall" : {
'corsa', 'astra'
}, "toyota" : {
'aygo'
}, "renault" : {
'clio'
}, "volkswagen" : {
'golf', 'polo'
}
}

print('\n'.join(
ele for ele in sum(
[ele for ele in [
list(car_dict[brand]) for brand in car_manu]
],[])
)
)
>>
>>57935747
now do fizzbuzz
>>
Studying for CS final and am practicing on implementing a Binary Search Tree.

Here's my code for "Delete Node"... I feel like I screwed up royally with the garbage collection.

BSTNode* BST::deleteNode(const std::string& key)
{
BSTNode* foundRoot = findNode(this->root, key);

if(foundRoot == NULL) return NULL; //Node wasn't found;

if(foundRoot->left == NULL && foundRoot->right == NULL)
{ //No children. Can remove node without needing to change the tree
delete foundRoot;
}
else
{
if(foundRoot->left != NULL && foundRoot->right != NULL) //Two children. Requires replacing the node to delete by the rightmost node on left subtree
{ //or leftnmost node on right subtree
BSTNode* replacingNode = foundRoot->right;
BSTNode* prevNode = foundRoot;
while(replacingNode->left != NULL) //Traverses all the way down the left path of the right subtree until it finds a leaf
{
prevNode = replacingNode;
replacingNode = replacingNode->left;
}
foundRoot->value = replacingNode->value;
delete prevNode->left;
prevNode->left = NULL;
}
else //Only one child
{
if(foundRoot->left == NULL && foundRoot->right != NULL) //Only right child
{
BSTNode* temp = foundRoot->right;
foundRoot->value = temp->value;
delete temp;
foundRoot->right = NULL;
}
if(foundRoot->left != NULL && foundRoot->right == NULL) //Only left child;
{
BSTNode* temp = foundRoot->left;
foundRoot->value = temp->value;
delete temp;
foundRoot->left = NULL;
}
}
}
return NULL;
}

>>
can someone tell my what i'm doing wrong?

im following this https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html but I don't get the 304 code, I get 200. is it a problem with 4chan?

modified_since = time.strftime('%a, %d %b %Y %H:%M:%S GMT', time.gmtime(int(time.time())-600))
headers = {'Last-Modified': modified_since}
r = requests.get(https://a.4cdn.org/int/thread/68473633.json, headers=headers)
>>
>>57935762
ups, forgot to put the url between ' ' here
>>
>>57935759
What's the point of the return value?
>>
>>57935802
I was sort of confused if I should return something. I need to make sure the root node is updated with the changes on the subtrees below it... Do I already take care of that in my code?
>>
>>57935886
>Do I already take care of that in my code?

What kind of question is this… You wrote it…
>>
I've got a gyroscope sensor who's outputs go from 0 to 360 and then snap back to zero

How can I take the output of these functions and map them to 361 362, etc. when the output snaps back to 0?
>>
>>57935929
count cycles?
>>
>>57935897
Okay, I'm probably not making much sense, but I'm trying to implement a BST . I was wondering if simply changing the pointers is enough to get the job done
>>
>>57935941
How would I do that?
>>
>>57936008
++ ?
>>
File: the rarest.png (26KB, 620x683px) Image search: [Google]
the rarest.png
26KB, 620x683px
>>57935681
>What are you working on, /g/?
creating rare pepes
>>
>>57936009
Under what conditions do I add one to the cycle?
>>
>>57936030
r = ...

cycles += r / 360;
r %= 360;
>>
>>57935929
Store the last reading and add 360 * (floor(lastRead/360)) to the new reading if the new reading mod 360 is greater than 180. Make sure the stored readings are the modified values not the raw if you want it to go multiple rotations (721, etc)
>>
>>57936052
err forget the mod of the new reading
>>
>>57936043
This won't work. If the gyroscope goes from 355 back to 0, nothing gets detected.
>>
File: 1481405791042.png (31KB, 620x683px) Image search: [Google]
1481405791042.png
31KB, 620x683px
>>57936023
>>
>>57936023
that's not pepe, it's his insane leftie brother
>>
>>57936023
>>57936081
This shit is giving me headaches
fuck off
>>
>>57936133
get out of here then
>>
>>57936081

What's the technique, boss?
>>
>>57936205
GIMP
>>
>>57936205
He just inverted the colors.

http://jackxmorris.com/posts/traveling-salesman-art

It's slow as fuck though. I'm waiting until it finishes getting the dots in the right spot. Then it'll find a solution to the traveling salesman problem with the given points.

I'm >>57936023
btw
>>
>>57936255

I see, but the plotting of the 'dots' into the pepe, what was the technique for that?
>>
>>57936255
i didn't see any code in the page you linked..

or did you wrote some?

and why is it so slow?
>>
Oops, nevermind, I see it now.
>>
>>57936288
That page says Weighted Voronoi Stippling. No idea what it means, though

>>57936292
>check out my code on Github
at the bottom of the page
https://github.com/jxmorris12/traveling-salesman-art
>>
>>57936312
>No idea what it means, though

I kind-of have an idea. Might try to implement it later.
>>
>>57936052
Sorry that whole thing was retarded. I think this would be more accurate, if you're just above zero and the last reading was above 180, then it probably rolled over 360 and reset so handle that, if you're just below 360 and the last reading was below 180 then it probably rolled under and jumped to 360, handle as appropriate

if lastRead is undefined
return rawVal

if rawVal < 90 then
if lastRead % 360 > 180 then
r = 360 * (floor(lastRead / 360) + 1)
else
r = 360 * floor(lastRead/360)
fi
else if rawVal > 270 then
if lastRead % 360 > 180 then
r = 360 * floor(lastRead/360)
else
r = 360 * (floor(lastRead/360) - 1)
fi
else
r = 360 * floor(lastRead/360)
fi

return r + newVal
>>
>>57935681

hello I'm making this post for a friend

he is an utter madman

he wants to know how to write a ddr4 ram driver
>>
File: comfy.png (167KB, 376x328px) Image search: [Google]
comfy.png
167KB, 376x328px
Rate my AoC Day 10!

int done = 0;
while (!done) /* run commands */
{
done = 1;
for (i = 0; i < BOTS; i++)
{
if (bot[i].idx >= 2)
{
done = 0; /* keep running */
int low = min(bot[i].store[0], bot[i].store[1]);
int high = max(bot[i].store[0], bot[i].store[1]);
for (j = 0; j < 2; j++) /* give */
{
int addr = bot[i].send[j].addr;
int mode = bot[i].send[j].mode;
struct bin *to = (mode == BOT) ? bot : out;
to[addr].store[to[addr].idx++] = (j == LOW) ? low : high;
}
memset(&bot[i], 0, sizeof(struct bin)); /* wipe bot */
}
}
}
>>
what's the deal with bitwise operations like xor

what happens if you interpret them geometrically
>>
>>57936407
didn't know you write code in Age of Conan
>>
>>57936411
>what's the deal with bitwise operations like xor
I don't know Jerry
>>
>>57936411
>what happens if you interpret them geometrically
Universe will be divided by zero.

XOR shows, if the sum of TRUE values is odd.
Sometimes it's useful, like swapping values without temporary variable.
>>
>>57936407
Thank you for doing Advent of Code 2016.
>>
https://developers.google.com/maps/documentation/javascript/examples/streetview-service

<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>


is YOUR_API_KEY something I want to keep secret? the only harm that can be done with it is making calls under my account which could jack up my usage, but since google gives you 1m free calls per day, I don't think there's any worth in stealing this key.
>>
>>57936483

You are a disgusting fuck using an 'AoC' style challenge for data mining.
>>
>>57936411
xor is the most important operation in cryptography. there is a joke that say you only need to know how xor work to become a cryptographer.
>>
>>57936411

>what happens if you interpret them geometrically

imagine putting two shapes above each other, both are black and white. where two white areas have an overlap, it's black again, otherwise it's just as in the shapes.
>>
File: 1469166822667.png (10KB, 620x683px) Image search: [Google]
1469166822667.png
10KB, 620x683px
>>57936403
Stiiiiiillllll getting the dots in the right place.

I swear, I think this is trying to solve the Traveling salesman problem each time.

I inverted the colors because I actually kinda like it that way
>>
>>57936627
>>57936403
Woah. Didn't mean to quote.

At either rate, you can ask Linus
>>
>>57936513
How the fuck do you plan to keep it secret if it MUST be shipped to the client so it can make requests?
>>
>>57936411
Addition table:

addition
_|_1_|_0_|
1| 10| 1 |
0| 1 | 0 |


Xor table:
XOR
_|_1_|_0_|
1| 0 | 1 |
0| 1 | 0 |


You can see the only difference between the two is in case 1 xor 1 and 1 + 1

So, in digital logic, xor is used to create adders and half adders. you can use an AND gate to find if there's a carry-out bit:

AND
_|_1_|_0_|
1| 1 | 0 |
0| 0 | 0 |


Also, XOR can be used in imagery.

Imagine one of those "what's the difference" images. Xor the two images and everything that's the same will become black while the differences will show up.
>>
>>57936519
Is AOC being used for data mining?
>>
>>57935762
s-someone?
>>
>>57936519
Shut the fuck up dude
>>
>>57936767
k-kys?
>>
>>57936795
a-are you m-m-making fun of my s-s-s-stuttering condition?
>>
>>57936795
>kisses you softly

a-anon this isnt the time to erp
>>
>>57935681
Rewriting the Linux kernel in APL
>>
>>57936911
Do it in haskell
>>
>>57936962
already did
>>
Guys, i'm working on a kernel in C and i need some help

let me know if anyone's interested and i'll post my github with the code
>>
Rate my fizzbuzz

for i in range(1, 20): message = "fizz" if i % 3 == 0 else "buzz" if i % 5 == 0 else i; print(message)
>>
Which is the best programming language for Scandinavians?
>>
>>57936519
k tard
>>
>>57936997
Cuck++
>>
>>57936983
I bet you were going to post the Linux kernel when someone asked
>>
>>57936911
>le APL meme
APL is dead.

It was never really alive desu, certainly was never useful.
>>
>>57936744

Yes. That's why it requires google/github/etc accounts.
>>
>>57937088
t. Applet
>>
File: Floral_Shoppe_Alt_Cover.jpg (31KB, 316x316px) Image search: [Google]
Floral_Shoppe_Alt_Cover.jpg
31KB, 316x316px
What do you listen to while programming?
>>
>>57937103
Guess again, irrelevant beardy.
>>
>>57937112
edenofthewest.com
>>
>>57936966
Post code.
>>
>>57937101
Everything is being used for data mining these days.
>>
area = function(r) {
return r * r * 3.14159
}

(14)

// area = 615.75164


Gotta love JavaScript
>>
>>57937139

Whatever helps you sleep at night.
>>
>>57937154
Sperging about data mining in 2016 when we already lost is the definition of insanity.
>>
>>57937154
I don't sleep any more. Don't want them to know how much sleep I need.
>>
>>57937174
how many hours do you sleep a day?
>>
>>57937171
I'm going to live in a yurt in Mongolia. I'd like to see them data mine me then.
>>
>>57937101
>reddit account
>data mining
kek
>>
>>57937150
Gross senpai
>>
>>57937184
3.

>>57937187
So you just said you're gonna live in Mongolia. Ezpz to triangulate where your yurt is, m8.
>>
>>57937184
google pls go
>>
File: nails.jpg (222KB, 500x500px) Image search: [Google]
nails.jpg
222KB, 500x500px
>>57937112
>>
>>57937195
?
>>
>>57937199
Triangulate with what? I'm not taking any electronics with me.
>>
Hi guys, I just learnt about bit fields in C. I have a question. Should we programmers always try to use as little memory as a possible? Or are computers strong enough nowadays to just not care about such things?
>>
>>57937222
YOU won't, but your yurt-mate surely will have one. :^)

>>57937208
?
>>
>>57937230
It doesn't matter, especially if you're already using C. Write your code as clearly as possible.
>>
File: play_book.png (17KB, 680x67px) Image search: [Google]
play_book.png
17KB, 680x67px
Post times you fell for meme langs, libs, or frameworks
>>
>>57937232
?
>>
>>57937259
Scala isn't a meme, it pays well.

>>57937285
?
>>
>>57937289
I know, but the Play! framework was definitely a meme.
>>
>>57937302
Nothing is a meme unless stated otherwise by the mememasters.
>>
>>57937208
you even don't need a email to create a reddit account.
>>
>>57937230
It doesn't matter until it's obvious it does matter (for instance, when dealing with Gigabytes of data and efficiency is a requirement)
>>
File: meme.png (9KB, 836x169px) Image search: [Google]
meme.png
9KB, 836x169px
>>57937259
Just got my first and last application written in this to an installable and usable state.
>>
>>57937400
At what point did you realize it was your last?
>>
>>57937319
Let's be honest, Play is fucking atrocious. It practically forces you to use singletons and globals everywhere. The resulting code is untestable.
>>
>>57937419
I think right about midway through, in which I tried out mutlithreaded signal handling and just gave up right there on the spot before I even wrote any code.
>>
>>57937439
damn bro
>>
>>57937230
> Should we programmers always try to use as little memory as a possible?
Programmers should use enough memory, if possible.
Problem 2000 was basically because it wasn't possible back then.
>>
>>57937230

CPUs have made many improvements in performance over the years. The speed of un-cached memory access has not, however, improved by nearly as much. Using less memory, and using memory in sequential order, is a good way to ensure you don't trash the cache too much, and allowing more of your program's performance to be determined by the speed of the CPU. Bitfields are a useful tool, though there's really only a few areas where you SHOULD be using them in specific. One is when dealing with a fuck ton of booleans. It sort of makes sense when you have like 20..30 configuration options to store all of them in an int32_t and pass the whole thing around as a single function argument.
>>
>>57937479
Ruby, there's a reason you're /dpt/'s daddy and OSGTP is only its mummy.
>>
>>57937508
>calling for gender roles

UGH so ass backwards! It's 2016!
>>
>>57937230
Sometimes. It all depends.
>>
>>57936023
I kind of get whats going on here:
>split the pic into two colors: white and black
>replace white with pixel-dots with wide spacing
>replace black with pixel-dots with small spacing

But why are the pixel-dots randomly scattered? There doesn't seem to be any sort of pattern to their dispersal at all. Further more, why have any dots in the white areas at all? Why not just use the white spacing dots for the black areas, and leave the white areas empty?
>>
hasklel admin rust sperg nazi sjw
>>
Am I allowed to use Rust if I'm white?
>>
Do anyone here know Lua? I'm having some trouble with the 'docked' table.
Even though all the other elements of the tbl table are accessible from inside tbl.draw(), docked isn't and I can't figure it out why. The error says "attempt to get length of field 'docked' (a nil value)"

function elem.pane(CLR, x, y, w, h)
tbl = {type = 'pane', x = x, y = y, w = w, h = h, CLR = CLR, docked = {}}
function tbl.draw()
love.graphics.setColor(CLR)
love.graphics.rectangle('fill', x, y, w, h)

for i=1, #docked do
docked[i].draw()
end
end

return tbl
end

Sure is fugly, but its still just a draft.
>>
>>57937608
No. Use Python instead.
>>
>>57937616
t. literal terrible, indian java programmer
>>
>Finally figured out how to use Curses in perl
>Just about had finished building the interface to scrape youtube links to stream through mpv
>New youpoop layout
>All my regex breaks
>None of it works now
God fucking damn it I hate dealing with regex so much
>>
>>57937544
see >>57936255

Basic concept is
>make random dots
>move dots a little bit based on the darkness of the pixels on the input image
>repeat until dots stop moving.

I'm playing around with the settings. It's always seems to be converging to a point, but the "repeat until dots stop moving" never happens. I'm settling for "repeat until dots stop moving any noticeable amount of difference"

It should be done soon
>>
>>57937508
>talking to tripfags
>replying to tripfags
Pathetic, apologists are even worse than tripfags.
>>
>>57937608
You can't really use it to make things. You can only talk about how great it is.
>>
File: 1481046495005.jpg (20KB, 403x497px) Image search: [Google]
1481046495005.jpg
20KB, 403x497px
Is haskell worth learning or is it just a meme?
in that case why is it worth it and what are some good books on it?
>>
the implication that ethnical and gender diversity implies intellectual diversity is:
- false
- ruining the quality of many tech conferences
- backwards as fuck
>>
>>57937798
do people really argue that? ethnic and gender diversity seems to be accepted as its own end

>>57937834
gab.ai might be more accurate
>>
>tfw javafag is actually indian
>>
>>57937764
Pure meme. Monad isn't even a real word.
>>
>>57937871
yes
the prominent argument for why tech conferences prefer speakers that aren't white or aren't male is that this diversity will result in more intellectual diversity
>>
>>57937943
oh
that's hilarious
>>
>>57937610
I've barely done Lua but I had some table fuckery before once, I believe it you need to do table.docked[i]
>>
>>57937674
So the amount of dots at the end of the image equal the amount at the start before they move? If so, how many dots are used, or better yet, what is the spacing between the dots at the start?

Maybe I'm missing the point of what your trying to accomplish, but wouldn't it be easier to first filter out the colors and return an image that only has white and black?
>>
File: rare_pepe.webm (381KB, 620x683px) Image search: [Google]
rare_pepe.webm
381KB, 620x683px
Man, this is taking a while.

I created a video for you guys who are interested on how the stippling works.
>>
>>57937798
It also implies that not all genders are equal and that not all ethnicities are equal, because when they say "diversity" due to something as general as "gender" or "ethnicity", they are saying that all people in x category are the same and have the same diverse qualities, and therefore, if your in y category, you can't share their qualities.

It's part of a bigger lie and scheme to eventually group all these "diverse" groups into one group. Agenda 21/NWO, whatever you want to call it, the main idea is to remove borders and make human life more "efficient".
>>
>>57937983
The end goal is to have a traveling salesman algorithm run through all of the dots.

I've yet to even come close.

The algorithm that author used is pretty slow, so it's going to take some time to actually get the dots.
>>
>>57937943
>the prominent argument

I counter with:

"But what makes the white male different from the white female/non-white male/female? Isn't equality worth something, or are you trying to say male and female are not equal?
>>
>>57937989

Gonna try to implement it myself, later. See if I can get a decent result.
>>
>>57938079
Bro, what the hell are you doing? You forgot to capitalize "White!"
>>
So whats the verdict on rust
>>
>>57938229
It's a meme
>>
What does /g/ think of Ruby for writing scripts like web scrapers etc?
>>
>>57938250
atleastit'snotmemesnek
>>
>>57938229
Rust is a toy

Just use C++
>>
>>57938229
Solidly usable.
>>
sssssnake up you asssss
>>
>>57938328
5 cummies have been deposited into your SJW oppression account. Thanks!
>>
If I'm trying to play an audio file in c#, how would I free up the memory used?
Every time I run this method, the process memory goes up by the size of the .wav file.

 private void btnMagicShield_Click(object sender, EventArgs e)
{
Stream str = Properties.Resources.magicshield;
SoundPlayer snd = new SoundPlayer(str);
snd.Play();
}
>>
>>57938370
Close the stream and destroy the SoundPlayer object
>>
>>57938370
>still have to manually free resources that aren't memory
>GCucks
>>
>>57938370
Isn't that why C# has a fucking garbage collector?
>>
>>57938057
So the traveling salesman part isn't even the problem yet? It seems like the stippling or dot creation is the issue. I'm assuming you need to set a cut off value (some fixed distance for how close you allow the dots to get before it stops), otherwise it would never stop. The author of that site had a link to his code, so you could easily see what he did.
>>
>>57938370
I thought C# implicitly garbage collected allocated heap objects after scope ended.
>>
>>57938370

use using
>>
>>57938526
>otherwise it would never stop.

That's not true, though, you're just waiting for the pixels to stabilize.
>>
File: Solid options.png (152KB, 676x948px) Image search: [Google]
Solid options.png
152KB, 676x948px
>want to make a bot
Life is suffering
>>
File: 1452549366218.png (16KB, 295x436px) Image search: [Google]
1452549366218.png
16KB, 295x436px
>>57938526
It does converge eventually. It just takes a long time to do so.
>>
>>57938549
>>57938395
both of these worked, thank you. I just started learning c#.

>>57938451
>>57938537
thats what I assumed, but (I think) it kept initializing SoundPlayers
>>
File: .jpg (78KB, 600x850px) Image search: [Google]
.jpg
78KB, 600x850px
>truly declarative programming is only capable to be a query language
halp
>>
>>57938636
i have never heard of crystal
i thought unity was a 3d game engine
>>
>>57938672
Imperative is just declaring that things happen in sequence.
>>
>>57938677
>Have a syntax similar to Ruby (but compatibility with it is not a goal)
>Statically type-checked but without having to specify the type of variables or method arguments.
>Be able to call C code by writing bindings to it in Crystal.
>Have compile-time evaluation and generation of code, to avoid boilerplate code.
>Compile to efficient native code.

Seems interesting
>>
File: 9QWBpCV.jpg (66KB, 721x472px) Image search: [Google]
9QWBpCV.jpg
66KB, 721x472px
Any have any recommendations for projects in C that don't involve a GUI? I just rewatched a lot of good C videos and I'm feeling inspired
>>
>>57938672
You need to solve P=NP first. I'm from the future and it won't happen in your lifetime
>>
>>57938765
Chess engine. That's what I'm working on, except in C++.
>>
>>57938765
sudoku solver
bonus: make it so it can also solve sudoku-like puzzles like KenKens
>>
>>57938771
It didn't happen in your lifetime too.
>>
File: power stance.png (2MB, 1920x1080px) Image search: [Google]
power stance.png
2MB, 1920x1080px
>>57937989
Do one with CIA
>>
File: 191145372245230[1].png (15KB, 320x171px) Image search: [Google]
191145372245230[1].png
15KB, 320x171px
On what architectures does compare and sway spuriously fail? Not x86, right? What about ARM?
>>
File: 1461513580573.png (112KB, 1968x1856px) Image search: [Google]
1461513580573.png
112KB, 1968x1856px
>>57938852
It works better with areas of low/high darkness.

Pic related. I'll post the input image after htis
>>
File: 1451238521867.jpg (33KB, 480x454px) Image search: [Google]
1451238521867.jpg
33KB, 480x454px
>>57938912
>>
>>57938912
Separate the RGB channels and do a weighted sum
>>
>>57938872
What do you mean? CAS involves comparison, of course it can "fail".
>>
>>57937610
"docked" is a member of the table "tbl".

Since "docked" as it's own local/global variable doesn't exist, you are applying the length operator on a nil value.

Just use "tbl.docked".

Lua's flexibility is also its biggest flaw, you have to text absolutely fucking EVERYTHING.
Even running through luac without an error is no guarantee you wont get a runtime error with a deterministic fucking chunk.
>>
Oh man, what IT books should I ask for this Christmas
>>
>>57939055
Javascript for dummies
>>
>>57937645
youtube-dl
>>
>>57939055
K&R C.
>>
File: 1460953767670.jpg (832KB, 3264x1836px) Image search: [Google]
1460953767670.jpg
832KB, 3264x1836px
>>57939055
these.

>>57939082
Read it again.
>>
>>57939073
>>57939092
Gross
>>57939091
Already got it
>>
File: 1460933182215.jpg (1MB, 4076x1376px) Image search: [Google]
1460933182215.jpg
1MB, 4076x1376px
>>57939100
>>
>>57937645
https://developers.google.com/youtube/v3/
>>
>>57939128
>Have to tie it into an account
>API "quotas" that count against you for every call you make
The point is to give jewgle nothing, not more.
>>
>>57937645
>>57939128
I think I realize why google changes their layout so often.
It's simply to fuck over people who scrape their pages without using their API so they can datamine you at every avenue.
>>
>>57939164
>>57939190
Isn't the solution to make a burner account?
>>
Scrapped a whole sql select command connection to just a list.

wew
>>
JavaScript best programming language confirmed by Tyrone himself.

https://www.youtube.com/watch?v=Z2Vj6uBrrMQ
>>
What's the fastest to retrieve a random file from a folder in C#?
Right now I'm populating a list with a all the files in any given folder and then picking a random file as usual. But the problem is that reading a folder with +10k images can be quite taxing on the HDD.

string extensions = "*.jpg,*.png";
listOfFiles = Directory.EnumerateFiles(settings.Path, "*.*", SearchOption.AllDirectories).Where(s => extensions.Contains(System.IO.Path.GetExtension(s).ToLower())).ToList();


randomSearch = randomGenerator.Next(0, listOfFiles.Count);
currentPicture = listOfFiles[randomSearch];
>>
>
>>
>>57939443
so you open it up and it's k&r?
>>
>>57939443
kysss
>>
>>57939443
import innerloops.inC
>>
1st for I hate python not having anonymous functions and need help naming a function that I shouldn't have to name.
def playerSlotConfig():
"""Prompts the user to configure the player slots by choosing their nickname
and whether they should have their moves manually selected by a person or randomly
generated by the computer"""
class playerSlot:
name = None
randomMoveSelection = None
slot = None
sequentialPosition = None

p1 = playerSlot()
p1.slot = 1
p1.sequentialPosition = 'first'
p2 = playerSlot()
p2.sequentialPosition = 'second'
p2.slot = 2

def foo(player): # help me name this shit
"""Scope: playerSlotConfig. Just a supplementary function to help playerSlotConfig acheive it's intended goal."""
print("Please enter a (12 character or less) name for the " + player.sequentialPosition + " player to be referred to by:")
player.name = input()

print("How should Player " + player.slot " moves be selected?")
print("\t1. Manually (ie. selected by the user)")
print("\t2. Automatically (ie. generated by the computer)")

selection = getInput(2)

if selection == 1:
player.randomMoveSelection = False
print("Player slot " player.slot " will be referred to as " + player.name + " and will have their moves selected manually.")
print("\t1.Confirm selection")
print("\t2.Change Selection")
choice = getInput(2)
if choice == 2:
foo(player)
elif selection == 2:
player.randomMoveSelection = True
print("Player slot " player.slot " will be referred to as " + player.name + " and will have their moves generated randomly.")
print("\t1.Confirm selection")
print("\t2.Change Selection")
choice = getInput(2)
if choice == 2:
foo(player)

foo(p1)
foo(p2)
>>
>>57939706
>1st for I hate python not having anonymous functions
It does, though.
>>
>>57939706
>not having anonymous functions
Then what are lambdas if not anonymous functions?
>>
>>57939710
>>57939726
Fit the foo function into a lambda.

I'll wait.
>>
>>57939706
Lambda exists???
EG:
>>> square = lambda x: x*x
>>> square(3)
9
>>
>>57939736
Anonymous functions are meant to be short quick functions. You're not supposed to use it for every single function.

EG:
map(lambda x: x*x , range(100))
>>
>>57939736
>spoonfeed me by rewriting my shitty code for me

No. I'm not even sure why you are defining foo within playerSlotConfig anyway, it's not like you're returning it (aka closure) or even capturing state (aka currying).
>>
>>57939736
foo = lambda(player):
# etc.

I mean, I guess you still need a name since you're calling it twice. But Python has anonymous functions all the same.
>>
>>57939706
> Kids these days can't name anything remotely intelligent
Color me shocked.
>>
>>57939737
>>57939754

lambdas are so shitty though. Suppose you need an anon function with more than one line. Maybe it's a simple if-else statment
>>
>>57939755
It's only ever used within the scope of playerSlotConfig and inlining the code any other way would entail either calling it twice and adding a shitload of cryptic parameters to playerSlotConfig or hardcoding "first", "second", "1", and "2" where needed (which would double the length of the function and increase redundancy dramatically)

I'm open to ideas.
>>
>>57939706
What you meant to say is "why does Python limit lambdas to single-expression bodies?"
>>
new meme: csv is the superior format to xml
>>
>>57939833
I didn't realize /g/ was going to be so autistic about defending lambdas as a suitable method of implementing anonymous functions.
>>57939800
Do you have a good name for that function? because I'd be more than glad to hear it.

I'd rather have a nameless function than one that has a shitty or cryptic name.
>>
>>57939880
That's not a meme though
>>
>>57939898
>lambdas as a suitable method of implementing anonymous functions.
You also didn't realise those two terms are synonymous.
>>
>>57939898
no one here really wants to defend python
>>
>>57939828
>It's only ever used within the scope of playerSlotConfig
So?

>and inlining the code any other way would entail either calling it twice and adding a shitload of cryptic parameters to playerSlotConfig
But you're not capturing any state, so you are in fact passing state via arguments. The only variable you use is player, which you pass as an argument.

Also, defining a class within a function is really bad form, not to mention an old-style class. This is bad practice.
>>
>>57939898
I didn't read it very carefully, but it seems like a "setup_game"
>>
>>57939880
>csv
Please read the ASCII spec.
>>
>>57939924
https://www.psychologytoday.com/blog/the-gift-aging/201304/people-autism-spectrum-disorder-take-things-literally

I'm clearly talking about lambdas in the context of how they're implemented in Python.
>>57939943
I'm pretty new to programming (but especially OOP) so if you have any guidelines or suggestions for how to improve the code I'd be glad to hear them.

I realize that it looks like I'm trying to program in a purely functional manner in Python like some sort of fucking retard, but I'm really not that worried about keeping all my state immutable. I was trying to program in a more procedural style with anonymous functions. (I do realize that this is possibly more autistic)
>>
>>57938672
haskell
anything can be declarative
>>
>>57935762
Last-Modified is a response header. You're looking for If-Modified-Since.
>>
>>57940011
>I'm clearly talking about lambdas in the context of how they're implemented in Python.
So you didn't realise that's exactly what my first post referred to, AND you didn't realise the terms were synonymous?

Racking them up here, bro.
>>
>>57939464

underrated post
>>
>>57940011
Well, it looks that foo is mostly doing stuff on the object. You should consider moving some of that logic into methods on that object, since it's generally a good idea to make the object in charge of mutating itself.

Secondly, your definition of playerSlot is declaring a bunch of class members, not object attributes. This means that when you do player.name = input() in foo, you're changing both p1 and p2. I don't think this is what you intended.
>>
>>57935943
is the node gone after you've moved the pointers?

refer to your own reply, the one to this post, for my answer.
>>
>>57940052
Fuck. I would pretty much need to reorganize my whole program to make those changes.

Can you recommend any good books for somebody who grew up on imperative programming to learn how to properly write object-oriented programs?
>>
>>57940017
haskell is composabe sanpreet
>>
>>57940138
haskell's declarative
>>
>>57940136
To clarify, this isn't the only instance in this program where there are classes defined within a function nor the only instance of classes having undefined data attributes that are later assigned via another function.
>>
>decide to learn some java
>look into key binding
>have to mutate the state of an inherited object's object by calling a public method that accepts an implemented "AbstractAction" which takes a function (which is not anonymous), from outside of that object itself
>object oriented language encouraging this shitty of practises
>>
>>57940175
And java is the most popular enterprise language :)
>>
>>57940136
>Can you recommend any good books for somebody who grew up on imperative programming to learn how to properly write object-oriented programs?
I don't really know, I learned Python in university and didn't really use a book to learn it. Object-oriented programming I learned in a first semester class.

But to help you.

class MyObject(object): # inheriting from object is a new-style class in Python2 (and default in Python3 afaik, but is good practice to do)

class_member = 2 # this is a class member

def __init__(self, value): # constructor
self.object_member = value # this is actually declaring an object attribute


obj1 = MyObject(2)
obj2 = MyObject(3)

obj2.class_member = 5 # this changes class_member for BOTH obj1 and obj2 and every new instance
obj2.object_member = "gorilla" # this only changes obj2's object_member
>>
File: Java keybinding.png (34KB, 1512x648px) Image search: [Google]
Java keybinding.png
34KB, 1512x648px
>>57940205
Here, I drew an inheritance/object diagram.
>>
>>57940249
Clears up everything
>>
>>57940210
What's the advantage of this over imperative or procedural programming? How the fuck is anybody supposed to maintain my code if they have to go up a tree of inherited objects and classes and mentally keep track of the scope of variables and whether or not they're private or public or whatever.

I'm starting to get the idea that OOP is a meme.
>>
>>57940383
the next step is learning haskell and never putting a foot outside of fizzbuzz
>>
>>57940210
Technically __init__ isn't a constructor. It's accepting self as an argument, so the object has to have been already constructed.
>>
>>57940383
Do you ever want to get a job programming?

That's it.
>>
>>57940383
OOP is the foundation of modern programming. Without OOP you don't have encapsulation, data hiding, or polymorphism.
>>
File: 1479605643910.gif (3MB, 445x247px) Image search: [Google]
1479605643910.gif
3MB, 445x247px
>>57940446
>Without OOP you don't have encapsulation, data hiding, or polymorphism.
>>
>>57940446
9/10.
>>
>>57940383
>imperative or procedural programming
Stop using terms you don't understand.

>How the fuck is anybody supposed to maintain my code if they have to go up a tree of inherited objects and classes and mentally keep track of the scope of variables and whether or not they're private or public or whatever.
Do you think all variables should be accessible from anywhere? Do you think their should be several copies of the same code in different classes? Do you think being able to design a system to work on any objects with a common interface is useless?

>>57940460
That's what OOP is, and what almost every language supports. Python and Ruby have a class based system. C has structs. Haskell has use definable data structures. Common Lisp has CLOS.
>>
>>57940383
>How the fuck is anybody supposed to maintain my code
You maintain your code alone until you teach somebody else to do it before you get laid off.
>>
>>57940518
>structs
>definable data structures

>OOP
he just keeps going!
>>
>>57940518
>Do you think all variables should be accessible from anywhere?
Modules.

>Do you think their should be several copies of the same code in different classes?
Functions.

>Do you think being able to design a system to work on any objects with a common interface is useless?
Types.
>>
>>57940518
>>57940532
Actually you don't even need modules to prevent variables being used everywhere, that's just passing things as arguments vs. making them global.
>>
>>57940446

HAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA
>>
File: BECOME.png (36KB, 1041x533px) Image search: [Google]
BECOME.png
36KB, 1041x533px
I'VE BECOME SO NUMB

I CAN'T FEEL YOU THERE
>>
File: 1474157653464.jpg (126KB, 2048x1536px) Image search: [Google]
1474157653464.jpg
126KB, 2048x1536px
>>57940531
>>57940532
Wow, it's like you think OOP means 'Class Oriented Programming'. Go read your SICP. https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-13.html#%_chap_2

>>57940544
Yes, having lexical scoping is enough to prevent variables from being used everywhere.
>>
>>57940561
SICP is full of shit and everybody knows it
I never mentioned classes
>>
File: 1374576817989.jpg (4KB, 190x190px) Image search: [Google]
1374576817989.jpg
4KB, 190x190px
>>57940518
>Data structures are OOP
You can't make this shit up.
>>
>>57940518
>Stop using terms you don't understand.
"I don't know what these words mean so clearly they must mean nothing, stop using them because it's totally you who doesn't know!!!"
>>
speaking of sicp

http://www.posteriorscience.net/?p=206
>>
reminder that bits are just objects and so all programming is object oriented
>>
>>57940582
Everything in the universe can be defined as an object, data or not, so clearly literally everything is object oriented right?

Procedures are groups of functions represented by a block of computer data with scope so clearly that's just an object.
>>
are women objects?
>>
Does anyone here use OpenTK?
>>
>>57940561
You know, if you water down the definition of OOP enough to make all this stuff "fundamentally OO" or whatever then it might as well not even be a thing.

OOP should only be used if you're talking about modelling software as multiple objects interacting through messages. That's a very apt, specific, and historically accurate definition.
>>
>>57940608
No, women are not objects.
But all programming is object oriented.
That's why women can't program.
>>
https://youtu.be/i0ygB1MfmrA

gonna take a break and learn the history of our subject
>>
File: 5385862027160344.png (494KB, 1242x1080px) Image search: [Google]
5385862027160344.png
494KB, 1242x1080px
>>57940637
>>
>>57940564
>SICP is full of shit and everybody knows it
It seems like you fell for the "SICP is a meme!" meme.

>>57940577
>"I don't know what these words mean so clearly they must mean nothing, stop using them because it's totally you who doesn't know!!!"
Procedural programming is imperative programming. If you knew what 'imperative' meant, you would know that. You probably think C is functional because it has functions.

>>57940613
You're right. I'm being obtuse, but this chain of conversation has all been in response to 57940383 blaming OOP for making him go through the effort of making his code modular. He'd complain no matter what paradigm he had to deal with. However, I don't think your definition still doens't make much sense. SmallTalk fans would like it, but it doesn't include languages like Java or C#. It doesn't really fit the modern usage of the term.
>>
It's nice that you can use 0 as _ to make null pointers in Rust. Though for some reason if something unrelated fails to compile you also get errors saying it's illegal to convert an integer to a pointer even though Rust specifically allows this.
>>
Is there a better way to do this?
/***********
void generateBinaryCode(int nBits)

Generates the bit patterns for the binary representation of all
integers that can be represented using the specified number of bits

//So far keeps track of the digits we've placed so far
**********/
void binaryCodeHelper(int nBits, std::string soFar)
{
if(nBits == 0) std::cout << soFar << std::endl;
else
{
binaryCodeHelper(nBits - 1, soFar + "0");
binaryCodeHelper(nBits - 1, soFar + "1");
}
}
void generateBinaryCode(int nBits)
{
binaryCodeHelper(3, "");
}
>>
File: mslain68.png (1MB, 1520x1080px) Image search: [Google]
mslain68.png
1MB, 1520x1080px
>>57940674
Lain is the only one we are all indebted to.
>>
>>57940687
>it doesn't include languages like Java or C#. It doesn't really fit the modern usage of the term.
I don't know why we have to call it object-oriented programming. Can't we just use objects without saying we're orienting ourselves around them?
>>
>>57940702
>//So far keeps track of the digits we've placed so far
This is how I know you're actually writing in Java and not C++.
>>
>>57940704
lain is perfect
>>
>>57940687
WHY THE FUCK DOES A ROCK PAPER SCISSORS GAME HAVE TO BE MODULAR?

I ALREADY PLANNED OUT AND KNOW ALL THE FEATURES IT'S GOING TO FUCKING HAVE, I DON'T NEED OOP BULLSHIT SO THAT ADDING NEW ONES IS EASIER
>>
>>57940736
Some of us write more important code than rock paper scissors.
>>
>>57940747
Is it so god damn difficult to plan out what your program is going to do beforehand?
>>
>>57940702
I don't know what you want to do, but it doesn't seem like it would work properly
>>
>finish principles of mathematical analysis
>read discrete mathematics
>it's all babby shit

CS is a joke.
>>
>>57940772
yeah

because we write code for other people that change their needs as the project develops, that's how you earn money retard
>>
>>57940518
As a counter-example, Haskell is decidedly NOT OOP, and supports gratuitous polymorphism.
>>
>>57940736
class Rock : public Play;
>>
>>57940709
It's a buzzword half the time. We shouldn't worry about it too much or we'll end up like those retards who argue about the distinction between scripting languages and programming languages all day.

>>57940736
It doesn't, but one day you'll have to write a program more complicated than RPS.

>>57940772
Planning beforehand doesn't prevent you from having to write a clear easy to understand implementation.
>>
>>57940816
oh, yeah
what programmers mean by "learn math" is usually really silly
>>
>>57940822
You're right, but you're missing my point. You can follow the chain or just jump to 57940613 and read my response to him.
>>
>>57940838
How does encapsulating absolutely fucking everything make things clearer and easier to understand?
>>
>>57940702
binary 0 = pure ""  -- just like my waifu
binary n = (:) <$> "01" <*> (binary $ n - 1)
>>
>>57940702

Every time you pass around an std::string by value, rather than by reference, you are creating a copy of that string, and creating a new memory allocation at the beginning of its scope, and a new deallocation at the end of its scope. Same goes for using the + operator with strings. Ideally, if you are going to solve this using an std::string object, you should only allocate one, and mutate it at each step, pushing and popping characters like a stack.

Alternatively, just iterate between every number between 0 and (1 << nBits), converting each to binary and padding on 0s at the front until it is nBits long.
>>
>>57935681
haskellfag here
I have a coordinate and a value, I need to change the list with that value at coordinate
how do I do this?
list :: [[a]]
>>
>>57940859
When data is encapsulated, the programmer doesn't have to worry about it being directly changed externally. It can only be changed through an interface. The program is easier to reason about.
>>
File: 1478487028815.jpg (280KB, 1114x876px) Image search: [Google]
1478487028815.jpg
280KB, 1114x876px
What are some good books that I can read for ai, machine learning, neural networks, etc?
>>
>>57940138
what does this mean??
>>
>>57940890
You're a loser man.
>>
>>57940890
she is hot. you should post more of her.
>>
How does one start programming to make ASCII art?
>>
>>57940916
If you want to make art, you should hire an artist.
>>
>>57940916
Design an ascii art font and print out the letters in the right order, it's trivial shit.
>>
>>57940908
i know :(
>>
who here /hates-parenthesis/

>foo(ass(dick(penis(9))))))))))))))))))
>intead of
>foo . ass . dick . penis $ 9

they're only acceptable for simple
>foo (baz 9 10 100)
>>
>>57940886
What if you encapsulated the data in a way that doesn't allow you to interface with some piece of data that you didn't anticipate needing to modify, but find out you need to modify much later on in the program.
>>
>>57940890
Start here.

https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf

then

http://www.research.ibm.com/people/h/hirzel/papers/canon00-goedel.pdf

The rest should unfold as you go.
>>
File: officialLABOUM_2016-Dec-10.jpg (424KB, 1500x2000px) Image search: [Google]
officialLABOUM_2016-Dec-10.jpg
424KB, 1500x2000px
>>57940844
also, knowing what you know now you can probably read this little gem
http://www.maths.ed.ac.uk/~aar/papers/milnortop.pdf

>>57940890
this book is nice and made freely available by the authors
http://statweb.stanford.edu/~tibs/ElemStatLearn/
>>
File: bbe778ff39ce5c0dadc549c474025c4c.jpg (893KB, 4128x2322px) Image search: [Google]
bbe778ff39ce5c0dadc549c474025c4c.jpg
893KB, 4128x2322px
>>57940946
The plural is 'parentheses'.
>>
>>57940960
I can't even tell if you're joking at this point.
>>
>>57940970
You probably have aspergers
>>
>>57940884
set 0 v (x:xs) = v : xs
set i v xs = set (i - 1) v xs
>>
>>57940890
You can start here for machine learning. You will need to know Calculus. The lecture videos were taken down because of deaf people, but you can still find archives of it online.
http://cs231n.github.io/

This book is a catalog of iterative trial and error optimization algorithms. A typical example of it in use is turning a raster image into a vector image.
https://cs.gmu.edu/~sean/book/metaheuristics/

>>57940953
>>57940959
Thanks, but these just seem to be mathematics books and a paper on Turing machines.
>>
File: 1479860171242.jpg (41KB, 643x580px) Image search: [Google]
1479860171242.jpg
41KB, 643x580px
>>57940959
>when someone recommends an undergrad topology book for you
>>
>>57940947
That's a language issue. There should be a way to access private attributes for testing purposes and advanced usage.
>>
>>57940987
whoops

set i v (x:xs) = x : (set (i - 1) v xs)
>>
>>57940991
>asks about AI and machine learning
>complains when math books and turing's paper are recommended

Give up.
>>
>>57941008
>not writing code in elegant pointfree style
set = fix (flip flip tail . ((flip . (ap .)) .) . flip flip head . ((flip . (((.) . flip ((.) . (:))) .)) .) . (. subtract 1))

There you go, friend. Isn't that much better?
>>
File: 2016-12-10-225827_73x62_scrot.png (698B, 73x62px) Image search: [Google]
2016-12-10-225827_73x62_scrot.png
698B, 73x62px
>>57941008
but its a coordinate
in the form y x

pic related
(2,0) == O
>>
>>57940702
>>57940868

As an addendum, I'd like to suggest a better way to use the std::string class if this is going to be your preferred method of solving the problem.

#include <iostream>

void printBinaryCodes(int nBits, std::string& bitstring)
{
if (nBits > 0) {
bitstring.push_back('0');
printBinaryCodes(nBits - 1, bitstring);
bitstring.pop_back();
bitstring.push_back('1');
printBinaryCodes(nBits - 1, bitstring);
bitstring.pop_back();
}
else {
std::cout << bitstring << std::endl;
}
}


void generateBinaryCode(int nBits)
{
if (nBits < 0) return;

std::string bitstring;
bitstring.reserve(nBits);
printBinaryCodes(nBits, bitstring);
}

int main(void)
{
for (int i = 0; i <= 8; i++) {
std::cout << "Bitstrings of size " << i << std::endl;
generateBinaryCode(i);
}
}


The data for the std::string object here lives inside of generateBinaryCode's stack frame. Using a reference, I pass it around and make use of the fact that it is internally just a special case of a vector, and push back and pop back characters as necessary, rather than gratuitously copying strings and using the + operator like it's just what you're supposed to do. I also use the reserve method to guarantee that the string will have exactly as much memory as I need, without ever reallocating.
>>
File: 2016-12-10-230025_252x49_scrot.png (1KB, 252x49px) Image search: [Google]
2016-12-10-230025_252x49_scrot.png
1KB, 252x49px
>>57941008
>>
>>57941027
These always make me happy.
>>
>>57941036
modify 0 f (x:xs) = f x : xs
modify i f (x:xs) = x : modify (i - 1) f xs

modify 2 (modify 0 (const O))
>>
>>57941001
Is that how it'd get used in practice? Or would it more realistically wind up with you saying "fuck it" and completely blowing off encapsulation because your client/boss really needed that feature added by tomorrow?
>>
File: LC__Ashley_2016-Dec-10.jpg (172KB, 1080x1080px) Image search: [Google]
LC__Ashley_2016-Dec-10.jpg
172KB, 1080x1080px
>>57940992
have you ever read it? those descriptors apply but i think you're selling the book a bit short

>>57940991
then have him watch andrew ng like everyone else, whatever. that sort of thing was never very helpful to me

this accessibility problem keeps coming up. i wonder if grad students across the nation could pitch in and transcribe lectures. i would do a couple
>>
>>57941027
>
((.) . (:))) .)) .) . (. 
>>
New thread:

>>57941094
>>57941094
>>57941094
>>
>>57940859
Encapsulation is the only way to maintain invariants in most languages. It's a tradeoff - you make things more black boxed and maybe even a bit less efficient but you also ensure correctness.

Dependent types are the ideal solution.
>>
>>57936992

if you're going to insist on putting it on one line you might as well actually roll it into a single statement, not just throwing ";" in the middle
print "\n".join(map(str,["Fizz" if not x%3 else "" + "Buzz" if not x%5 else "" or x for x in range(1,101)]))
>>
>>57941011
>asks about calculus
>complains when arithmetic and algebra books are recommended

Give up.
>>
I wanna record the render state of my opengl application for debug purposes. So at first I thought I'd just copy the framebuffer to disk every frame. That failed, clearly doesn't have the memory bandwidth to do that effectively.

So I'm now considering alternatives. I'd like to save the frames continuously for at least 4-5 seconds back in time. Throughout the application and have them be accessible when I open the debug mode. Shadowplay is a thing. They're saving tons of footage all the time and they're doing it at high quality. Any way I could ask the driver to do the same for me except in a more controlled manner?
If not that what would be a good cheap compression algorithm for the gpu. Just something to get it down from a stupid large bitmap size to something manageable.

Also as an aside does anyone know how I could get or reproduce the full fragment shader inputs afterwards? Because ideally when I inspect the frame I'd like to have data saved so I can look at a fragment and deduce what happened in the shader from that. It would be such an amazing tool for finding a lot of issues.
One way would obviously be to save the entire set of render commands and reproduce the frame. I'll try that for now but of anyone has ideas that'd be great.
Thread posts: 306
Thread images: 38


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.