[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: 326
Thread images: 34

File: 1493015203872.jpg (601KB, 1280x1115px) Image search: [Google]
1493015203872.jpg
601KB, 1280x1115px
Old thread: >>60052526

What are you working on, /g/?
>>
nth for reimplementing rust in c++
>>
New fags don't remember lesbian gnu/Linux and porn-get
>>
>>60059663
It's already written in C++. The whole thing is a lie.
>>
bit early for a new thread but nice choice of picture
>>
File: 1493084234934.jpg (898KB, 1570x1876px) Image search: [Google]
1493084234934.jpg
898KB, 1570x1876px
>>
>>60059693
Interpreted rust.
>>
>>60059712
Isn't it already interpreted? Lazy evaluation can't be compiled.
>>
>>60059696
pretty accurate
>>
>>60059693
Rust is written in Rust an OCaml
>>
>>60059636
What's the book in the Amazon box? Becoming a trap for dummies?
>>
>>60059771
What is oCamel written in?
>>
>>60059728
>Lazy evaluation can't be compiled.
Tell that to the GCH guys.
>>
>>60059790
>GHC*
>>
>>60059728
>Lazy evaluation can't be compiled.
but it can
>>
>>60059788
OCaml
>>
>apparently great company
>has a system built on php
do you take the job y/n
>>
>>60059776
It's a bag of underwear.
>>
>this function causes my program to segfault
void to_lower(char *s)
{
while (*s) {
if (*s >= 65 && *s <= 90) {
*s = *s + 32;
}
s++;
}
}


maybe because s is NULL?
>>
>>60059819
>
 while (*s)

baka
>>
>>60059829
what you mean?

explain pls
>>
>>60059696
kek
>>
Are you sad no one really responds to your meme?
>>
>>60059819
You're skipping past the null terminator.

Use
while (*++s)
>>
File: Python and Rust.png (1MB, 500x1200px) Image search: [Google]
Python and Rust.png
1MB, 500x1200px
>>60059696
>>
60059881
60059696
Head back to /b/ if you are here to post your memes
>>
A pretty rddit thing 2bh, embarrassing.
>>
did you find CS really hard in uni, my fellow /dpt/ bros?

even the business fags take CS because it's part of a MIS degree
>>
>>60059696
please do common lisp
>>
>>60059876
now it doesn't segfault, but in some cases it doesn't print the complete string, only half of it
    while (*++s) {
if (*s >= 64 && *s <= 90) {
*s = *s + 32;
}

}
>>
https://discord.gg/wUwkMWe
/g/ discord
>>
>>60059917
stop with the magic numbers.
>>
>>60059929
Fuck off to >>>/v/ autistic manchild.
>>
>>60059931
maybe later
>>
>>60059917
Use character literals, you baka.
>>
>>60059941
*posts anime*
>>
@60059929
>>>/r/abbit
>>>/v/
>>>/b/
>>
>>60059945
Are you a hue?
>>
>>60059917
Protip: you don't need any braces for that function.
At all.
>>
>>60059972
no shit sherlock

that doesn't solve my problem tho
>>
>>60059972
brodib xDDD
. . .
hashOut.data = hashes + SSL_MD5_DIGEST_LEN;
hashOut.length = SSL_SHA1_DIGEST_LEN;
if ((err = SSLFreeBuffer(&hashCtx)) != 0)
goto fail;
if ((err = ReadyHash(&SSLHashSHA1, &hashCtx)) != 0)
goto fail;
if ((err = SSLHashSHA1.update(&hashCtx, &clientRandom)) != 0)
goto fail;
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
goto fail;
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
goto fail;
goto fail; /* MISTAKE! THIS LINE SHOULD NOT BE HERE */
if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
goto fail;

err = sslRawVerify(...);
. . .
>>
>>60059986
this shit is why we have exceptions nowadays
>>
>>60059986
use the MaybeT monad transformer
>>
i'm using like


table->str = to_lower(table->str);


but when i print table->str, it doesn't show the complete string

fuck this
char *to_lower(char *s)
{
while (*++s) {
if (*s >= 'A' && *s <= 'Z') {
*s = *s + 32;
}

}
return s;
}
>>
Is there a performance difference between x++ and x += 1?
>>
>>60060010
Why not MonadError?
>>
>>60060012
Any sane or insane compiler will produce identical machine code for both.
>>
>>60060013
there isn't an instance for MonadError () Maybe (or maybeT) sadly
similarly there should be an instance for

>MonadWriter w ((,) w)
>>
File: 1484935553180.png (1MB, 854x1280px) Image search: [Google]
1484935553180.png
1MB, 854x1280px
The reason Rust is being pushed so hard is because social justice warriors have found great difficulty penetrating the communities of open source system coders who use C and/or C++.

The "safety" features give advantages to lobotomised Feminist studies "coders" who are trying to "disrupt" these communities while breaking the knee caps of everyone else who knows what they are doing.

Literally nothing in Rust actually solves problems that haven't already been solved by RAII in C++ and even some GC/stack/heap techniques in the arguably superior but slower D compiler.

The advocates are all social justice warriors and this is their "long march through the development communities". They are employing critical theory against their main targets C and C++, by criticising everything it is and does and demonising its users. They've held back their "cis het white male" jargonism for now, but once they have established a foot hold "killer app", expect them to go wild with it. Just read through the big throbbing CoC they've erected on their main website.

Rust is kill. Don't touch it, spit on all its advocates.
>>
do codecademy exercises help out with programming?

the python language isn't that hard, but i have trouble coding and developing the algorithms. i failed all the CS labs in uni
>>
>>60060027
Even assuming -O0?
>>
>>60060041
>CoC
Calculus of Constructions?
>>
>>60059693
Rust compiler is in Rust retard.
>>
>>60060047
R*st isn't that advanced.
>>
>>60060057
I heard it doesn't even have HKTs.
>>
>>60060011
Less magic numbers. Maybe something like

*s += ('a'-'A');
>>
do people here really use and enjoy rust?
>>
>>60060119
Not many. There are 3 or 4 maybe, and then there's 1 who shills it nonstop
>>
>>60059636
only cute programmer bois will get this
>>
If programming is what professionals do, do amateurs do amagramming?
>>
how do i practice coding? my basics are bad to get through CS in uni
>>
>>60060058
Neither does 'c'
>>
>>60060211
>You need to know how to program before starting college
>>
File: 1480324431037.png (37KB, 576x384px) Image search: [Google]
1480324431037.png
37KB, 576x384px
>>60060119
Well I am installing it right now, let's see if I can join in
>>
>>60060214
C never claimed it was going to support FP.
>>
>>60060214
When C doesn't have features, thats a feature.
When something else doesnt have features, theyre shit.
>>60060231
ripip
>>
>>60060230
I fucking wish this was enforced.
You shouldn't enter a 4 year program without already knowing the basics of computer programming.

They waste so much time getting the slowest people up to speed and the worst ones graduate without knowing a single language in any meaningful way.
>>
>>60060058
HKT's are useless.
>>
File: 1484159433927.png (740KB, 1834x1200px) Image search: [Google]
1484159433927.png
740KB, 1834x1200px
>>60060244
>When C doesn't have features, thats a feature.
>When something else doesnt have features, theyre shit.
Pretty much

>>60060057
>""""""""advanced""""""""
What makes you think it's git anything to do with being """"""""advanced""""""""?
>>
>>60060058
HKTs are for pure brainlets
>>
I wrote a small program and it runs perfectly in IntelliJ. But when I pack everything into a .jar and try to run it from the windows command prompt with "jave -jar" it behaves differently and shows errors...

why is that?
>>
>>60060233
What do HKTs have to do with FP?
>>
>>60060262
got*
>>
>>60060262
>What makes you think it's git anything to do with being """"""""advanced""""""""?
Is this completely unreadable on purpose or are you just that retarded?
>>
>>60060257
>t. Freshman
You don't get taught how to program in college, so you better get over your autism now.
>>
>>60060317
I'm pretty sure that he's retarded.
>>
>>60060317
Learn how to read a thread before posting like a 12 year old
>>
>>60059881
Do one for SHITKELL
>>
>>60059696
it's called assembly, not assembler
>>
>>60059790
Ok
[12:59] == asdf_ [0128d688@gateway/web/freenode/] has joined #ghc
[12:59] <asdf_> Lazy evaluation can't be compiled.
[13:03] == afarmer [[email protected]] has joined #ghc
[13:03] <geekosaur> what?
[13:05] <asdf_> What don't you understand about what I said?
[13:07] == petermw [[email protected]] has quit [Ping timeout: 245 seconds]
[13:07] <roboguy`_> asdf_: well, it seems to be a false statement. So why can it not be compiled
[13:07] <asdf_> Idk, someone told me to say it here.
[13:08] <roboguy`_> ahhh
[13:08] <roboguy`_> ok
>>
>>60060339
>Learn how to read a thread
Your post isn't a thread.
What were you even trying to say? I genuinely can't understand.
>>
>>60060356
Now ask them why Hasklel failed so hard
>>
>>60060349
Make it yourself
>>
>>60060375
>Your post isn't a thread.When did I claim otherwise? Have you spoken to a doctor yet? It seems pretty obvious you are mentally disabled
>>
>>60060355
>it's called assembly, not assembler
Both are valid, the latter is more common among old fags
>>
>>60060393
Can you just rewrite your post? I really want to understand it.
Or can anyone else who speaks his language translate it for me?
>>
>>60060387
It's not like you have anything better to do. Or have you got a soft spot for SHITKELL?
>>
>>60060408
It's called English. Translate it yourself to your language.
>>
>>60060413
I have work, because I am employed, unlike you
>>
>>60060428
That definitely isn't standard English. It might be syntactically similar, but it doesn't make any sense.
>>
>>60060433
>I have work
Oh right. So how many memes are you making today at your "work"?
>>
>>60060437
>That definitely isn't standard English
May be you have been taught English by illiterates
>>
>>60060433
>I have work
Are you >>60059881 and >>60059696?

How much do you get paid as NEETbux, anon?
>>
>>60060454
I wouldn't consider my parents to be "illiterates".
>>
>>60060484
Are you home "schooled"? Why do you think your opinion counts? Your illiterate parents have produced another illiterate just like them. May be your family was too poor to afford school for you.
>>
my laptop's got an intel processor but it's linux, should i use GAS or NASM assembler?
>>
>>60060511
it's an epic meme where he pretends to be retarded by pretending that ">" means quoting, when no where in any official documentation on 4chan does it say that. it's only referred to officially as greentexting. report him and then ignore him. he doesn't know how c structs work either
>>
>>60060199
they do indie gaming
>>
>>60060519
You should use Nasm regardless of your CPU vendor or OS.
Gas and AT&T are appropriate nowhere.
>>
File: itR6b6lwbqdaf.jpg (229KB, 600x521px) Image search: [Google]
itR6b6lwbqdaf.jpg
229KB, 600x521px
>form repo
>commit changes to forked master
>make pull request master
how do I freeze or swap my master branch so that I can commit to it again without adding more trash to the pull request
>>
>>60060519
fasm
>>
>>60060598
What did you mean by this?
>>
>>60060588
that's a strong opinion so i'll assume it's well founded, ty
>>
>>60060634
You must be new here.
>>
>>60060598
just make another branch off of it
>>
>>60060244

Because minimalism is the main feature of C. Since other languages aren't trying to be minimalist, a lack of a feature is a detriment given the plethora of other features.
>>
:~/asm$ time ./a.out
Hello, world!

real 0m0.001s
user 0m0.000s
sys 0m0.000s
:~/asm$ time ./helloWorldC
Hello, world!

real 0m0.002s
user 0m0.000s
sys 0m0.000s
:~/asm$


why do people use C when it's twice as slow as assembly?
>>
>>60059678
please bring it back
>>
Type-generic immutable-only procedural language when? Why can't I have Haskell's nice features in a C-like language?
>>
>>60060754

Because it's roughly even with assembly when program complexity grows larger than hello world. Most programmers are shit at optimizing assembly compared to C, while compilers are pretty damn good.

Also, because we don't want to have to write a completely different program as soon as we have to port to a different architecture.
>>
>>60060754
People that write C are too retarded for ASM
>>
>>60060788
I wish Haskell had support for writing low level code
>>
File: memcpy-malloc.png (19KB, 806x148px) Image search: [Google]
memcpy-malloc.png
19KB, 806x148px
What did he mean by this?
>>
>>60060788
I'm working on it
>>
>>60060877
Github? If I like it I might help.
>>
>>60060754
The "real" time output of time is not a useful metric, as it's at mercy of the scheduler.
>>
File: multiplied by 0.png (20KB, 668x348px) Image search: [Google]
multiplied by 0.png
20KB, 668x348px
>>60060870
>>
File: linus.png (203KB, 816x639px) Image search: [Google]
linus.png
203KB, 816x639px
>>
>>60060788
>immutable-only procedural language
Imperative (therefore procedural) languages are defined by their ability to mutate their state whenever the hell they want to.
A pure procedural language is an oxymoron.
>>
>>60060957
sounds like a top bloke
>>
Non lexical scoping for Rust when?
>>
>>60060973
>state mutation cannot occur without mutable bindings
look at this fool and laugh!
>>
>>60061015
>Non lexical scoping
Why do I need that?
>>
>>60061036
Please describe how this would work in an imperative language, then.

>>60061050
Because Rust's borrow checker is a picky asshole.
>>
>>60059696
I guess I should be using the C++ masterrace.
>>
>when you read that section on RSA four fucking times over in your networks book and still have no clue what is going on
am I a brainlet? or is this something on math pros / CS geniuses can understand at first? and specifically I mean the process behind how the public and private keys are chosen using modular arithmetic and prime numbers
>>
>>60061050
More granular (better) borrow checking.
>>
>>60061065
just tell your professor he's a CIA nigger and RSA is for CIA niggers too on your final and you won't have any part of it, he can't really take points off since it's true
>>
>>60061055
let a = 3
let a = a + 1

Magic. 'a' is a binding to the immutable value 3, then 'a' + 1 is evaluated, the 'a' binding dropped, and 'a' bound to the value 4.

Can you guess what this code does?
let add_an_element = List['a] func(List a, 'a elem)
return a.insert(elem)

List[int] wewlad = [1, 2, 3, 4]
let wewlad2 = add_an_element(wewlad, 5)
print(wewlad)
print(wewlad2)

If you can, you're learning.
>>
>>60061129
That whole thing just screams 1 GB/s.
>>
>>60060973
>Imperative (therefore procedural)
I think this might be the most retarded thing I have ever read in this thread.
>>
File: 1483607682429.png (1MB, 875x1080px) Image search: [Google]
1483607682429.png
1MB, 875x1080px
Someone shop SICP onto this please.
>>
>>60061151
Procedural languages are imperative by definition, you fuck face.
>>
>>60061144
>he can't into lazy evaluation
>he can't into static analysis of copies to determine when mutation can occur
>he simply doesn't understand what ref counting is
Immutable by default! Smart copy semantics for every type! Aliases explicitly!
>>
>>60061161
Procedural languages, by definition, have procedures as their main structural element. I don't know what kind of retard one would have to be to somehow claim that a language is imperative simply because it has procedures.
>>
>>60061181
Who are you quoting? Who said I don't understand those concepts?
>>
>>60061129
>Can you guess what this code does?
No, because I'm not going to read garbage which doesn't indicate types with a ':'
>>
>>60061195
Go look up the definition of procedural programming, idiot. You're embarrassing yourself.
>>
>>60061196
you don't understand C structs either you stupid ass. you're also not funny pushing this stale meme and everyone thinks you're annoying
>>
Is there any itext alternatives to use? That is easy to manipulate and won't require a fuckton workarounds for simple things?
>>
Lazy evaluation is for lazy people.
>>
>>60061206
>Go look up the definition of procedural programming
It seems like you didn't do that yourself, but you wouldn't even need to if you knew English since the definition is in the name.
To claim that something being procedural implies it being imperative is to claim that something which has function calls is imperative. This is clearly absurd.
>>
>>60061196
You dummy. Don't see how you think it would be slower. It only performs copies if they are needed. If you wanted the copy so that the two variables don't alias, you already have to call a copy method. Also, lazy evaluation means that it can mutate the list: it first prints the original list, then it must print the list that is a function of the original list, because that list isn't referenced in any other bindings or data structures the runtime is free to mutate the list then perform the print. All of that can be determined statically too given print have the proper type (indicating IO).
>>
>>60061207
You clearly are making a lot of assumptions about what I know, considering I basically haven't said anything.
>>
>>60061207
>you don't understand C structs either you stupid ass
Where did his post say anything about C structs?
>>
>>60061244
This >>60061245 applies to you, too.
>>
>>60059696
I dont get the rust one
>>
>>60061270
Then what's your beef? If you understood those concepts you wouldn't have made your original comment...
>>
>>60061293
I was just making a jab at Haskell and other pure languages. You really should be able to detect meme posts.
Your fanciful static analysis arguments are great and all, but real world implementations of even more strict languages still have the problem of requiring massive amounts of unnecessary copying. I'll start giving a shit when I see a real world, production ready example of it that works in the general case.
>>
>>60061335
>real world
What is a "real world"?
>>
>>60061350
4chen
>>
>>60061335
>meme
>>>/v/
>>
File: 2dd.jpg (37KB, 600x600px) Image search: [Google]
2dd.jpg
37KB, 600x600px
Is it worth it to do a MSc in computer science?

I've been offered $14,500 per year to do one, provided it's with one specific professor who I've had before but have no opinion bad or good of. He wants to oversee my thesis provided it's based on visual computing.

I made character recognition software as my capstone project which piqued his interest. He's specifically scouting me for the master's program.
>>
>C, C++, Java, Python, Lua are languages I've used before in some capacity
>want to learn a new language

I really like C and C++. I made a particle simulator strictly with C and GLUT. Any other C-like languages I could look into?

My professor says Ada is something I should learn, as a lot of legacy software is in Ada (legacy software needs maintenance and older programmers are dying/died = high paying job), is he right? Shit like bank systems, air traffic control systems, etc.
>>
>>60061463
There is no point in doing a master unless you plan on getting a PhD sometime down the line. The reason people get masters is to branch out specifically with an MBA. If you are doing a masters in the same field as your bachelors and not planning to do a PhD, it is pointless and no worth the return in monetary value.
>>
>>60061181
not as trivial when you have complex patterns
>>
File: 1493088914602.jpg (6KB, 284x177px) Image search: [Google]
1493088914602.jpg
6KB, 284x177px
$a = "b";
$b = "c";
$c = "a";
echo $a; // b
echo $$a; // c
echo $$$a; // a
echo $$$$a; // b
echo $$$$$a; // c
echo $$$$$$a; // a
...


Why is this allowed?
>>
>>60061482
Who are you replying to?
>>
File: 1418751544004.gif (2MB, 320x212px) Image search: [Google]
1418751544004.gif
2MB, 320x212px
>>60061501
>>
>>60061492

My BSc is in chemistry, although I did minor in computer science. I'm thinking an MSc in compsci can lead into a PhD in computational chemistry.
>>
>>60061522
Then go for it.
>>
>>60061160
>>>/wsr/
>>
File: 1283265262586.png (890KB, 5000x4068px) Image search: [Google]
1283265262586.png
890KB, 5000x4068px
> 8 layers depth into the callstack
>>
>>60061594
That's nothing.
>>
File: SDL_Logo.svg.png (49KB, 985x508px) Image search: [Google]
SDL_Logo.svg.png
49KB, 985x508px
Is there anything like stb.h for window creation, getting a GL context and input events on multiple platforms (mostly X and Windows)? Like a simple, single header library for creating a window and getting an OpenGL context running, or hopefully at least something you can easily link statically.
It just feels like a bit of a waste using the whole of SDL2 when all I use from it are these features. I thought I could try GLFW, but I don't like the way they do input event handling (callbacks). Any suggestions, or "just use GLFW"?
>>
>>60061619
Just use GLFW.
>>
>>60061213
So I am this anon and I am gonna skip the itext shit and go with PDFBox.
Now my biggest concern is that there is no info about how to append more text to the next page.
Could anyone help me out?
>>
How can I use undefined behaviors to optimize my program?
>>
File: 1490908592833.gif (128KB, 500x300px) Image search: [Google]
1490908592833.gif
128KB, 500x300px
>>60061879
>>
File: 1472926719403.gif (747KB, 500x508px) Image search: [Google]
1472926719403.gif
747KB, 500x508px
>>60061888
I just want more speed.
>>
I need some help here, /dpt/.

How does the last line in this code work? This is to create power sets using recursion.

def recur(set):

if len(set) == 0:
return [[]]
temp = recur(set[1:])
return temp + [[set[0]] + x for x in temp]
>>
>>60061947
I don't know python, but try evaluating it by hand on simple examples. That's usually the best way to learn about this kind of stuff.
>>
File: 1490918315081.png (466KB, 1336x804px) Image search: [Google]
1490918315081.png
466KB, 1336x804px
>need to make multiple "instances" of a structure in VB
>only way I know how is arrays
>have a delete button
>deleting something in an array
All right is anyone here knowledgeable in VB? I'm sure you guys don't care for the language but this seems kind of impossible, or unnecessarily hard, or I'm just missing something about VB that would let me do this.

The book I have only mentions arrays for multiple structures though.
>>
File: tickly.png (39KB, 256x256px) Image search: [Google]
tickly.png
39KB, 256x256px
173rd for Tcl.
>>
>>60062185
Since C# has them, VB should have Lists too
>>
Is there a Brainfuck to Haskell compiler?
>>
>>60062522
No because brainfucks functionality is a superset of haskells functionality.
>>
>>60062531
They have the same functionality.
>>
>>60062536
No.
. and , do I/O, which is impure and forbidden in Haskell.
>>
>>60062543
This is blatantly false.
I have an interpreter (written in Brainfuck) for a subset of Haskell and I can do I/O just fine.
>>
>>60059663
https://github.com/thepowersgang/mrustc
>>
>>60062364
I looked into them, but guessing from what I read you can't simply say "structurename(listname)" like an array. Seems useful and I'll just have to do something with it. I'll do it in the morning. Thanks, anon.
>>
>>60060041
>the big throbbing CoC they've erected
kek
>>
>>60059636
i was wondering if i could iterate over a matrix using only pointer arithmetic, since a variable i = matrix[][] is a pointer that points to the beginning of the matrix. then i made this code to try this out and i'm getting segfault...
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int matrix[1000][1000];
long limit = 1000 * 1000;
long count = 0;
for(int i = 0;i < limit-1;i++){
**(matrix+i) = 1;
printf("%i\n", **(matrix+i));
count++;
}
printf("%li", count);
return 0;
}

it should work right? since C stores matrix in line order... also if this is true, can i gain any performance by doing this? because i think just removing one for is not going to decrease my algorithm complexity, since it'll iterate, compare and increment the same number of time.
>>
>>60062893
looks unnecessary complicated. simply store your matrix in a single array.
>>
>>60062920
yes, that's an option, but i already know i can do that. can't i declare in matrix form and do the same?
>>
>>60062946
why would you want to do that? you won't gain anything from that.
>>
; >Whomever areth thee qouting sire?
; assemble with "nasm -f bin -o kys.com damn_quoters.asm"
org 0x100 ; .com files always start 256 bytes into the segment

; int 21h is going to want..

mov dx,msg ; Msg address
mov ah,9 ; ah=9 - "print string" sub-function
int 0x21

mov ah,0x4c ; Terminate
int 0x21

msg db 'Kill yourself', 0x0d, 0x0a, '$'
>>
>>60062893
Use C++.
struct alignas(sizeof(float)) Vec4 {
const float* ptr() const { return &x; }

float x;
float y;
float z;
float w;
};

class Mat4 {
public:
const float* ptr() const { return m_[0].ptr(); }

private:
Vec4 m_[4];
};
>>
>>60059636
have you tried using just one asterisk instead of two? As far as I know, a double array like matrix[100][100] just pretends you wrote matrix[100 * 100], so at it's core it's just a single matrix, and if you're doing it the way you want to, you should only bother dereferencing it one time, not two? And also what the other guy is saying, it's weird, why bother doing it like that
>>
>>60062893
I ran some tests and is seems that it segfauilts when you get to i=1003. For i from 0 to 999, you are setting Matrix[0][0...999], but after 1000, Matrix[1][0...] does not get set when you set **(Matrix+1000...), so i would conclude that they aren't stored in order, and it segfaults when you finally run into a restricted memory cell. I would imagine memory allocation behavior is different for different c implementations, so its you should rely on it, especially since it give no real benefit
>>
>>60059636
a convolutional neural network for detecting cancerous pulmonary nodules
>>
>>60059819
Yes you need to check if s is NULL unless you explicitly state that calling your function with NULL is undefined behaviour
>>
wrote a bitching batch script that renames all your jpg gif png and webms in a folder to random 4chan filenames
now you can easily refresh your shitposting folder and nobody can backtrace your image names and findout what crap you've been spewing

@echo off
setlocal disableDelayedExpansion
set "chars=0123456789"
for /f "eol=: delims=" %%F in ('dir /b /a-d *.jpg *.png *.gif *.webm') do call :renameFile "%%F"
exit /b

:renameFile
setlocal enableDelayedExpansion
:retry
set "name=148"
for /l %%N in (1 1 10) do (
set /a I=!random!%%10
for %%I in (!I!) do set "name=!name!!chars:~%%I,1!"
)
echo if exist !name!%~x1 goto :retry
endlocal & ren %1 %name%%~x1
>>
File: anon....jpg (28KB, 480x265px) Image search: [Google]
anon....jpg
28KB, 480x265px
>>60063322
anon...
>>
File: 1479186622095.jpg (41KB, 933x521px) Image search: [Google]
1479186622095.jpg
41KB, 933x521px
>>60059636
Is 5(6 + 1) valid infix notation or does it have to be 5 * (6 + 1)?
>>
>>60063514
What language?
>>
>>60063617
I'm trying to write an infix to postfix converter and it freaks out on that case. Not sure if I should try to fix it or if it doesn't matter.
>>
>>60062893
I think your pointer arithmetic is wrong. Hard to explain, but try
&array [0][0]
as a base for adding with the i variable...
>>
>>60063028
No
>>
>>60063647
usually programming languages don't assume multiplication when operators are omitted so I wouldn't expect 5(6+1) to work.

That said you should still have a reasonable error message instead of producing invalid output.
>>
How does % work?
Another way to say it is, "X divided by Y with J remaining." For example, "100 divided by 16 with 4 remaining." The result of % is the J part, or the remaining part.


is there an easier way of understanding this?
>>
fuck me writing non ass gui code is hard
>>
>>60063700
If you understand how you did division in elementary school you understand %.

100 % 16 == 4 because 16 goes 6 whole times into 100 with 4 remaining.
>>
File: cthrow.jpg (11KB, 463x112px) Image search: [Google]
cthrow.jpg
11KB, 463x112px
Hey faggots, what should i improve?
#include <stdio.h>
#include <wchar.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
typedef unsigned int uint_t;
typedef struct Error { char *type; char *msg; int id; } Error;
#define API_ERROR ((Error) {"API ERROR", "An API Error has occured", 1})
#define ABI_ERROR ((Error) {"ABI ERROR", "An ABI Error has occured", 2})
#define LIB_ERROR ((Error) {"LIB ERROR", "A Library Error has occured", 3})

#if defined(_WIN32) || defined(_WIN64)
int vasprintf(char **strp, const char *fmt, va_list ap)
{
int len = _vscprintf(fmt, ap);
if (len == -1) {
return -1;
}
size_t size = (size_t)len + 1;
char *str = malloc(size);
if (!str) {
return -1;
}
int r = _vsnprintf(str, len + 1, fmt, ap);
if (r == -1) {
free(str);
return -1;
}
*strp = str;
return r;
}

int asprintf(char **strp, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
int r = vasprintf(strp, fmt, ap);
va_end(ap);
return r;
}
#endif
#ifdef _UNIX
extern int asprintf(char **strp, const char *fmt, ...);
#endif
void throw( Error e, uint_t callLine )
{
char *syscall;
asprintf(&syscall, "sed -n %d,%dp %s", callLine-5, callLine+5, __FILE__);
printf("(%s) - {%s [ID:%d]} :: invoked at line |%d|\n", e.type, e.msg, e.id, callLine);
int ret = system(syscall); free((void*)ret);
exit(EXIT_FAILURE);
}

int main(void)
{
throw(LIB_ERROR, __LINE__); return 0;
}

It relies on the GnuWin32 sed extension to work properly
>>
>>60063700
Add the result of the division (quotient) and all becomes clearer:
X = Y * D + J
And the remainder J must be the smallest possible natural number for which this can hold.
>>
>>60063747
Use macros, to automatically insert the __LINE__, so the user doesn't have to provide it.
>>
>>60063746
that just seems painful to come up with on the spot
>>
>>60063700
The greatest programmer of all time (Donald Knuth) defines the modulo operation as;
a % b = a - b*floor(a/b)
>>
>>60063771
Explain?
>>
>>60063770
No, stop being lazy, thats literally 0.5 seconds of your time
>>
>>60063747
 int ret = system(syscall); free((void*)ret);

Why this anon?
First: You didn't allocate ret using malloc
Second: Because ret is in the stack wouldn't it be freed when the function returns?
>>
>>60063779
if you had 32 % 16 you would multiply 16 by 2 , get 32, then say 32 % 16 == 0 ?
>>
>>60063810
what's painful to come up with on the spot?
>>
>>60063807
To avoid warnings, they hurt my soul
Also im just staying safe
>>
>>60063819
the integer components rather than just the ratio itself i guess. i've never done remainder stuff that much.
>>
>>60063664
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

#define N 10
#define M 10

int main(void) {
int matrix[M][N];
int* raw = &matrix[0][0];
for(int i = 0; i < M; i++) {
for(int j = 0; j < N; j++) {
assert(&matrix[i][j] == raw);
raw++;
}
}
return EXIT_SUCCESS;
}

Here's proof
>>
>>60063807
But would you say this is better?
char *syscall; int ret = (int)malloc(sizeof(int));
...
ret = system(syscall); free((void*)ret);
>>
>>60063793
But it would look so much cleaner!
>>
>>60063851
No, you could just do
(void) system(syscall);
>>
>>60063864
Thanks :) looks better now
I should get some sleep, that was kinda obvious
>>
File: 1479163129510.jpg (298KB, 1200x1188px) Image search: [Google]
1479163129510.jpg
298KB, 1200x1188px
Proof that 15 is a valid "FizzBuzz" value and that 3 is a valid "Fizz" value.
Require Import Arith NPeano.

Definition fizz (n : nat) := n mod 3 = 0.
Definition buzz (n : nat) := n mod 5 = 0.
Definition fizzbuzz (n : nat) := fizz n /\ buzz n.

Theorem fifteen_fb : fizzbuzz 15.
Proof.
split.
reflexivity. reflexivity.
Qed.
Print fifteen_fb.

Theorem three_fizz : fizz 3.
Proof.
reflexivity.
Qed.

Theorem three_not_fizz_absurd : ~fizz 3 -> False.
Proof.
pose proof three_fizz as F.
contradiction.
Qed.
>>
How do you implement points clustering that depends on map zoom level? I need something like hierarchical clustering but with ability to add and remove points without recalculating all clusters. (http://www.sberbank.ru/ru/about/today/oib#map)
>>
>>60061463
If you can make an agreement about a strict time limit you should definitely do it.
>>
Attempting to implement an R-way Trie in Javascript.

The instructor initializes an array of length 256. Then he uses the letters of the word being placed in the trie as indices for this array.

I don't know if that's something you can just do in Java, but you definitely can't in JS. Doing something like foo['c'] just adds a property 'c' onto the array, and doesn't actually touch the array's indices.

Is the most optimal solution to get the char-code of the letter, use that as the index, and then retrieiving the word, rebuild it by converting from char-code back to letter? That's another linear-step of preprocessing added to a search request though.
>>
>>60064364
>The instructor initializes an array of length 256
That's actually really fucking wasteful on memory space.
The more sensible (but at cost of slowing down access times) thing to do would be to have an ordered resizeable array with the children, or make the node into a linked list.
>>
>>60064392
Not within the context of an r-way trie -- array needs to be preallocated as each index implicitly represents a character for the set you're building a trie to handle (in this case, extended ASCII).

There are much more memory-efficient implementations of tries, of course -- this is just a learning exercise.
>>
>>60064409
I've implemented a trie in Java for a university assignment before, and I did the "allocate 256 array for children" thing, and given a decent input (it was collecting all the words in some long text file), the program actually ran out of memory.
I changed it to a linked list (technically a left-child, right-sibling binary tree) and it ran with a much more sensible memory usage.
Googling "r-way trie" isn't really coming up with anything helpful, so I don't know how they're different from a normal trie.
>>
>>60064441
Your solution sounds somewhat similar to a ternary tree.
>>
I'm working on a brainfuck interpreter in C. This doesn't do anything, plz help

typedef unsigned char byte;

int c;
byte cells[10000];
byte* ptr = cells;

while ((c = fgetc(f)) != EOF)
{
switch (c)
{
case '+': *ptr++; break;
case '-': *ptr--; break;
case '>': ptr++; break;
case '<': ptr--; break;
case '.': putchar(*ptr); break;
case ',': *ptr = getchar();
}
}
>>
>>60064364
Yep, you'll have to to wrap that into a function that converts a char to its ASCII value. You could do something like this:
Array.prototype.place = (key, value) => {
console.log(key.charCodeAt(0))
this[key.charCodeAt(0)] = value
}

Array.prototype.fetch = (key) => {
return this[key.charCodeAt(0)]
}

let test = []
for (let i = 0; i <= 256; ++i) {
test.push(0)
}

test.place('0', 1234)
console.log(test.fetch('0'))


But it's also retarded because for some reason JS won't then have the same values at test.fetch('0') and test[48] even though '0'.charCodeAt(0) returns 48.
>>
>>60064451
Why would it? Cells is uninitialized. Also where's the support for [ and ]?
>>
>>60064491
>Cells is uninitialized
Thanks
>Also where's the support for [ and ]?
It's still WIP, I just wanted to test if it can print anything now
>>
>>60064485
>prototype extension
you naughty man

Is this the only real solution to this problem? I wonder if it kind of tanks the performance benefit of an r-way trie if we're going to have to convert these indices back to letters every time we want to collect the keys.
>>
>>60064485
Can't you just do something like
'a' - 0
?
>>
>>60064601
No, JavaScript types are pants of head retarded.
For instance, 'a' - 0 returns NaN (not a number), whereas 'a' + 0 returns the string 'a0'.

The language is a disgrace.
>>
>>60064620
s/of/on
>>
What does the following code in Java do?

// this is how next is initialized (it's an array)
// private Node[] next = new Node[256];

// there's some code that places an object into next, at the index specified by a character extracted from a string
char c = key.charAt(d); // get a character at the position given by d within the string 'key', put it in c
x.next[c] = someObj; // x is an object with an array stored at next (see array details above)


Is this placing someObj at a numerical index within next through some kind of implicit coercion of the character c into an integer? Or is it adding some property denoted by c to the next array? If so, that surely defeats the purporse of declaring an array of length 256.
>>
>>60063050
Thanks anon, thats really helpful!
>>
Best fizzbuzz:
for(var i:int = 1; i < 100; i++)(i%3==0)?((i%5==0)? trace("fizzbuzz"):trace("fizz")):((i%5==0)?trace("buzz"):trace(i));

AS3 is wonderful <3
>>
>>60063025
C btfo
>>
What is the best language for writing Fizzbuzz and why?
>>
>>60064724
>code
Wrong thread.
>>>/g/wdg/
>>
guys why does each github project has a million different build requirements
>>
>>60065330
>tribalistic adherence to pedantic convention AND you're not even right

wew lad
>>
>>60065354
Who the fuck said this?
>>
>>60065369
>green text must only be used for quotation because i am both ignorant of prevailing convention and a pedant

step it up
>>
>>60065336
Because each project uses different dependencies and build systems?
>>
>>60065379
You're not fast on the uptake, are you?
>>
>>60065379
>green text
What is that? Some new /b/ thing?
>>
>>60065369
read this sentence
>>
Why am I getting "expecting indented block" here? God, I hate python. The error is after the "for k" bit.
Might just end up doing this in matlab but I wanted to avoid that as far as possible. or LISP for the lulz.
def dft(slit):
SUM = []
for j in range (1, 501):
SUM.append(0)
for m in range (1, 501):

SUM[m].append(0)
for k in range(1, 501):
for j in range(1, 501):
x = j - 251
SUM[j][k] = slit[j] * cos(- pi * x * (k-251))

RF = 1/500 * SUM
return RF
>>
>>60065532
huh, it formatted weirdly here
>>
>>60065532
>>60065563
Probably because you're mixing spaces and tabs like a retard.
>>
>>60065532
you don't have anything after "for m in range(1,501):

did you mean to indent SUM[m] etc and below?
>>
>>60065532
Tabs vs spaces hoe
Use one or the other
>>
>>60065532
>>60065571
also if you didn't mean to have anything after that for some reason, then yous till need a statement there. you can use the statement "pass" to do nothing

if it's this, >>60065570
then use this script

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[])
{
if(argc!=2)
{
printf("Incorrect argument count\n");
return 1;
}
int tabWidth = atoi(argv[1]);

char c;
int spaceCount = 0;
while((c = getchar())!= EOF)
{
if(c == ' ')
{
++spaceCount;
}
else if (spaceCount > 0)
{
int tabsToPrint = spaceCount / tabWidth;
int spacesToPrint = spaceCount - (tabsToPrint * tabWidth);
for(int i = 0; i < tabsToPrint; ++i) putchar('\t');
for(int i = 0; i < spacesToPrint; ++i) putchar(' ');
spaceCount = 0;
putchar(c);
}
else putchar(c);
}
}


the argument is the tab width
>>
>>60065570
I'm not tho. I think I made a typo. """""retard"""""""".
>>60065583
see above
>>
>>60065585
that's not it, but thanks anyway. I just put a space after the colon, I think.
>>
I'm currently in the middle of a dynamic data structures course and I'm just thinking this would be a lot easier if I already knew this shit from self study. Anyone know where I can find a big collection of videos/pdfs whatever on dynamic data structures (like binary search trees and linked lists and shit) for java?
>>
>>60063028
If you want to use a flat array multidimensionally, you access it's members like this
mat[(ROW_COUNT * i) + j]
>>
>>60064724
I think it might be adding them as properties but I'm not sure. I think you're meant to use a map for strings as keys?
>>
is studying IDE functionalities worth it?
>>
File: ada.jpg (957KB, 3200x1800px) Image search: [Google]
ada.jpg
957KB, 3200x1800px
>>60059696
you forgot Ada, desu
>>
>>60065897
If it makes you work faster, yes!
>>
>>60065897
>not using pencil and paper to code
>>
File: anal beads.png (7KB, 553x115px) Image search: [Google]
anal beads.png
7KB, 553x115px
>>60065897
Usually, you think something like
>It would be cool if I could just...
and then you find out the IDE had that feature all along.

You'll find the features as you need them, in most cases.
>>
>>60065964
>paste json as classes
Ew. There's never any case where this is a good idea. OOP programmers should be shot.
>>
>>60066093
The point is to create a container you can directly deserialize into, then use the data in a sane way within your application.
>>
File: fa8.jpg (54KB, 500x500px) Image search: [Google]
fa8.jpg
54KB, 500x500px
Employed Haskell programmer reporting in
Running Arch btw
>>
>>60063028
In C multi dimensional arrays are a mess and their dimensionality inevitably gets cast away. I recommend not using them.
>>
>>60066119
I'd like to ravage Sento's pussy
>>
>>60066111
I guess that makes sense if your output absolutely has to be json.
>>
>>60066154
In my line of work, it's the other way around.

Some service or application emits JSON, and I need to take that data and use it. This lets me copy whatever dumbfuck JSON they've created and immediately get it into datatypes that I can work with.
>>
File: hifive1-top-view.png (558KB, 978x663px) Image search: [Google]
hifive1-top-view.png
558KB, 978x663px
Fuck bare metal pi. That shit has a lot of magic going on in its firmware and GPU (the GPU is more of the "primary" processor with the CPU secondary), and everything is shitty documented, mostly by people on forums that reverse engineered. And the pi foundation has no interest in helping bare metal programmers, partly because they have their hands tied by NDAs with broadcom.

So, I'm abandoning my bare metal forth on Pi project, and instead just got myself a HiFive1 based on the open source Risc-V ISA, and I'll start over on that. Then port it to lowrisc when that comes out.
>>
>>60060119
Yes and yes.
>>
>>60066180
How customizable is Forth? Is it true that I can add almost anything on top of it?
>>
I'm trying to iterate on a list inside a function in Python but if I try let's say

def func(arg)
var = []
for i in range(len(x)): ### len(x) is 6 here for the record
opti[i] = x[i] + y[i]


it throws an exception "list index out of range" because var length is undefined
if I do

def func(arg)
var = [True, True, True, True, True, True]
for i in range(len(x)): ### len(x) is 6 here for the record
opti[i] = x[i] + y[i]


it werks

x and y are defined outside the function btw

how to avoid doing this pleb shit ?
>>
>>60066331
shit I meant

var[i] = x[i] + y[i]


of course
>>
>>60066331
I assume you've intentionally changed the variable names and var was meant to be named opti?
In which case just use var.append(value).
>>
>>60066350
yeah sorry
it works, thanks
>>
>>60066331
append
>>
>>60066331
This is a case where you should use list comprehensions
return [xi + yi for (xi, yi) in zip(x, y)]
>>
Redpill me on Functional languages
>>
>>60066436
Steep learning curve
Elegant, safe, compact programs
Easily parallelizable because of no side-effects
Get to feel smug even if you never make anything useful
>>
>>60066411

i thought using list comprehensions whenever possible was the pythonic way
>>
>>60066459
>>
>>60066319
Well, you can add anything on top of any language.

But Forth is more of an abstraction of assembly (whereas most all languages are rather translated into assembly). You have all your primitive words, which you use to define more words. It's turtles all the way up.

It's transcendental in a similar way to Lisp.
>>
How do i Comapre with CompareTo generic class list object in a same generic class in C#? I either get can't implicity convert error or type doesn't contain definition for CompareTo.
>>
>>60059696
Wouldn't rust be more like a high speed train? Goes fast and is safe, but only goes along the tracks. And if you want to go off-track you have to build new tracks first, which if you screw up will crash the train.
>>
File: go.jpg (43KB, 300x300px) Image search: [Google]
go.jpg
43KB, 300x300px
>>60066617
Go
>>
File: rust.jpg (66KB, 800x600px) Image search: [Google]
rust.jpg
66KB, 800x600px
>>60066617
Rust
>>
>>60062310
Apart from Tk and niche EE tools, does Tcl see any use anymore?
I think it has a cuteness factor to rival Lua to be frank. Fun little language
>>
File: cpp.jpg (131KB, 1200x800px) Image search: [Google]
cpp.jpg
131KB, 1200x800px
>>60066617
C++
>>
>>60066666
winrar?
>>
>>60066119
I'll take a triple latte please, whole milk if you will.
>>
>>60066617
>Goes fast
When will this meme end?
Stop using synthetic benchmarks.
>>
>>60066617
>Wouldn't rust be more like a high speed train? Goes fast
It doesn't go fast.
It doesn't go anywhere.
>>
>>60066716
>>60066754
is there only one Rust implementation? I don't get a 'language' being slow--it's a language. does it have shitty implementations or something? I don't really know much about it.
>>
>>60066579
>How do i Comapre with CompareTo generic class list object in a same generic class in C#?
-> msdn, and only then if it doesn't help, come, WITH AN ARTICULATE QUESTION FFS!
>I either get can't implicity convert error
In what circumstances?
>or type doesn't contain definition for CompareTo.
By changing what? Post complete C# programs with dummy classes that anyone with Visual Studio can run and see the error. Then, maybe, if /dpt/ is in too magnanimous of a mood, you'll get an answer, but even the keep in mind that this is not BeginnerPajeetForum, which is where your kind belongs.

_|_
>>
>>60066788
I shouldn't type so much, it just comes down to >>>/g/sqt
>>
I know /g/ hates Python, but if I am going to learn it thoroughly, is there any specific book you'd recommend? I'm not new to programming, just never used Python before.
>>
>>60066907
/g/ hates anything that is potentially productive.
The pain when it reminds them of how useless they are, is just too much.
>>
what's a nice language to supplement Python on linux? preferably a c derivative
>>
>>60066925
niceme.me
>>
>>60066944
>a c derivative
What do you mean by this?
>>
>>60066907
Mark Lutz, "Learning Python".
>>
>>60066944
C++
>>
>>60066944
Since you're on Linux, really, just C. C is the lingua franca of Linux.

Probably one reason Linux sucks.
>>
>>60066907
codeacademy is a good interactive tutorial for learning syntax, and comes with some modules for using restful API's which is a good thing to learn right away.

>>60066954
was going to suggest this

there is also Learning Python the Hard Way which isn't that hard
>>
always hilarious how the same programmers that shit on java will happily use C++
>>
>>60066944
in what way are you trying to supplement the language? Are you looking for something functional, something performant, something for multithreading?
>>
>>60066455
>Steep learning curve
This is only true for 60-80 IQ individuals.
>>
>>60066767
>I don't get a 'language' being slow--it's a language
Some concepts inside a language slow all realisations of the language by default.
For example, bounds checking. You can't make array access any faster if you check its bounds - language (hidden for you) puts before every command which involves access to an array some instruction, which checks if your index is more or less than maximum index.
>>
>>60067016
looking for something faster and ideally easier to make GUI applications in.

honestly i'm really just looking for the c# of linux...
>>
File: 1491947621607.jpg (68KB, 697x644px) Image search: [Google]
1491947621607.jpg
68KB, 697x644px
>>60066971
You do realize that while Windows uses a lot of C++, the kernel itself is written in C?
>>
New thread:

>>60067042
>>60067042
>>60067042
>>
>>60066907
Al Sweigart's Automate the Boring Stuff since you're new to programming. He has a video course for his book as well.

Pick up an academic textbook either midway or after you're done with Automate the Boring Stuff. I end up recommending either the book by John Zelle or John Guttag:

Guttag's book, most recent version: https://www.amazon.com/dp/0262529629/
The 2013 version: https://www.amazon.com/dp/0262525003/
Zelle's book: https://www.amazon.com/dp/1590282752/

You can also pirate these.

>>60066989
>codeacademy
Please fuck off and die.

>>60067035
>c# of linux...
You could try to use Mono if you're feeling brave
>>
>>60067035
>honestly i'm really just looking for the c# of linux...
listen that hurt me personally but I'm a good dude and I'm gonna try and help you still.

Depends just how fast you want to make those GUI's and how streamlined they need to be. You could use Java swing or something like that and bust things out overnight or go with C++ for stuff that is more fine tuned. There are libs out there for lots of languages with gtk, qt, etc.
>>
>>60067035
Why would you make a GUI application targeted only at Linux?

You're better off doing what everyone else is doing and making a totally-not-a-website application on v8 like Electron/Atom/etc.

C# is wonderful for Windows GUI applications, but it's painful for Linux desktop GUI.
>>
>>60067039
Windows sucks too.
>>
>>60067063
> targeted only at Linux

i just want something i can efficiently *use* in linux to make cross-platform programs . i generally dont use IDE's so i dont really want to learn one just to use a language.
>>
>>60067107
Define "cross-platform".
>>
>>60067120
windows, linux, and i guess osx. not interested in mobile.
>>
>>60067107
C. Dark C. Learn about OSes and Unices and delve deep into all the lesser-known mechanisms in the Linux userspace. Also try installing a do-it-yourself distro just so you know some more.
>>
>>60066954
>1500 pages

Whew. Guess I'll give it a go.
Thread posts: 326
Thread images: 34


[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.