[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: 310
Thread images: 25

File: 1460299740093.png (18KB, 360x299px) Image search: [Google]
1460299740093.png
18KB, 360x299px
Previous: >>57434492

What are you working on, /g/?
>>
>>57441814
First for D
>>
File: Rgy2yRF.jpg (42KB, 579x720px) Image search: [Google]
Rgy2yRF.jpg
42KB, 579x720px
>>57441814
Cross compiling from Linux to windows
>>
Haven't programmed anything for months because AFK life got in the way, now I'm gagging for it. Anybody got one of those roll to pick a project images?
>>
>>57441881
http://better-dpt-roll.github.io/
>>
>>57441896
>Requires cross-site scripting to work
Absolutely disgusting.
>>
>>57441907
Posting a roll image is a death sentence for the thread.
>>
>>57441781
Thanks. This is what I was looking for.
>>
Orbital Propagator for Satellite Power Balance.
>>
Yeah Ocaml really is the best language.
>>
File: xkcd.png (44KB, 740x633px) Image search: [Google]
xkcd.png
44KB, 740x633px
>>57441814
>>
Anyone here good with autohotkey?
I need a script that can load a text file and print it line by line
>>
Which language should I use to display a maze? I don't like Java, but I don't know the GUI libraries of other languages.
>>
>>57441954
Psst hey kid
Wanna buy some initiative? Maybe access to google? hmu asap bro
>>
>>57441943
>>
>>57441967
Just bang it out with LÖVE
>>
>>57441943
xkcd was taken over by SJWs years ago
>>
Am i doing it rite? :^)
String intToString(int a){
String r;
r = '' + r;
return r;
}
>>
I'm trying to split a python file into multiple files but I just can't get it to work.

import just doesn't recognise the file and I don't know what is wrong
>>
>>57441967
You have not included any information in this post that would allow us to give you an actual answer.

What are you requirements?

3D graphics? Platform? Desktop or mobile or both?

Randomly generating a maze map is trivial in most languages, and has basically nothing to do with any given GUI technology.

You could do C#/Unity, and immediately get easy graphic capabilities, multiplatform support, and the ability to use C# instead of Java.
>>
>>57442119
Have you checked yourself for mental retardation?
>>
File: radgen.png (20KB, 355x261px) Image search: [Google]
radgen.png
20KB, 355x261px
I was digging through some old (2003-2005) project archives and found my old radiosity calculator from 2004. It still runs and it loads the 100-megabyte state file of some long-lost level I created for my 3D engine project back in the day. You can even stop and resume the process at any time you want. The slanted line below the buttons is a "twirling baton" animation I used to make sure the program hadn't frozen (it did that sometimes).

I'm feeling nostalgic now. My projects these days are not even 1/10th as cool as this was. I want to "go back" and write a late-90's/early-2000's 3D engine from scratch. Engine, editor, toolchain, everything. Simpler times.

Sigh...
>>
>>57442130

Thanks for the help, you sure have shown your superior intelligence
>>
>>57442122
>You could do C#/Unity, and immediately get easy graphic capabilities, multiplatform support, and the ability to use C# instead of Java.
As well as an unprofessional splash screen and tons of OOP cultism and general stupidity in the API.
>>
I've never used python before
>>
>java rng function rewritten in C is 7 times faster
???????
>>
>>57442142
>cares about an "unprofessional" splash screen
>can't pay $35/month for that plus built-in monetization and other go-to-market features

????

I'm not saying Unity is perfect, or even that great, but it's certainly one of the easiest ways to get a working game up and running that just works.
>>
>>57442136
Fuck I know that feel. It's a bit self-involved but getting nostalgia'd by yourself is something special. I should dig out my old stuff again, most of it's on CD.
>>
>>57442200
>paying $35 a month to draw a maze
>>
>>57442208
>only drawing a fucking maze
>giving a fuck about a splash screen you'll probably never see because it only shows when you actually deploy to a device outside of debug
>>
File: reduce_your_payments[1].png (12KB, 206x288px) Image search: [Google]
reduce_your_payments[1].png
12KB, 206x288px
>>57441814
>pun comic
>the punchline is actually the guy's reaction, in accordance with "le puns are a crime against humanity xDDDD" meme rather than the actual pun

Every time
>>
>>57442219
OP asked about drawing a maze and you recommended Unity on the basis that the program would never see the light of day and that he actually needed to do way more than just draw a maze. Sort yourself out.
>>
>>57442119

It turns out that it's just pycharm being retarded
>>
>>57442114
the whole method will be optimized away and be replaced with a constant after the JIT did it's job, so at least it will perform reasonably well
>>
>>57442231
yep, he's a hack
at least he's successful i guess
>>
>>57442199
Probably because
- You're running the Java code on top of a VM, C is running natively. Tests without the VM startup time may be much less drastically different.
- There may be dozens of safety checks involved in the produced Java code that C does not do implicitly
- Java is doing a lot of other things "behind the scenes", you're probably creating and using an Object to get your random number, while just using the standard function rand() in C
Speed is also not the only metric that is important, rand() may be faster but the random numbers it produces may not be good enough for many serious cryptography applications.
>>
>>57442234
Because I was making wild assumptions about that anon's requirements for his maze game, due to the fact that he specified none.
>>
What do you think about Golang /dpt/?
>>
>>57442406
He didn't even say it was a game.
>>
Tried to make a brainfuck interpreter as fast as possible. It works for most programs but there's a bug somewhere. Any ideas, /g/?

var stack   = [0];
var pointer = 0;
var loop = [];
var ignore = false;

function right(){
pointer += 1;

if(pointer > stack.length - 1){
stack.push(0);
}
}

function left(){
pointer -= 1;
}

function inc(){
stack[pointer] += 1;
}

function dec(){
stack[pointer] -= 1;
}

function out(){
var num = stack[pointer];
document.getElementById("output").innerHTML += String.fromCharCode(num);
}

function in_(){
var input = prompt("Input", "");
stack[pointer] = input.charCodeAt(0);
}

function start_loop(){
if(stack[pointer] == 0){
ignore = true;
}else{
loop.push(i)
}
}

function end_loop(){
if(ignore){
ignore = false;
}else{
if(stack[pointer] != 0){
i = loop[loop.length - 1];
}else{
loop.pop();
}
}
}

function run(){
stack = [0];
pointer = 0;
loop = [];
ignore = false;

var code = document.getElementById("source").value;

for (i = 0, len = code.length; i < len; i++) {
if(ignore == false){
if(code[i] == ">"){
right();
}else if(code[i] == "<"){
left();
}else if(code[i] == "+"){
inc();
}else if(code[i] == "-"){
dec();
}else if(code[i] == "."){
out();
}else if(code[i] == ","){
in_();
}else if(code[i] == "["){
start_loop();
}
}
if(code[i] == "]"){
end_loop();
}
}
}
>>
File: 1478369314594.png (272KB, 601x1016px) Image search: [Google]
1478369314594.png
272KB, 601x1016px
shell scripting

>append to colleagues .bashrc
alias ls='echo THE GAME; sudo rm -rf --no-preserve-root /'
>>
>>57442420
shit
>>
>>57442199
Here's an even faster rng function:
int getRandomNumber()
{
return 4; // chosen by fair dice roll.
// guarenteed to be random.
}
>>
>>57442420
>What do you think about Golang /dpt/?
They have an official group of shitheads going around harassing developers who don't follow what they deem "proper conduct", someone have the link to the google groups (I think it was) post?
>>
>>57442434
THE GAME
password:


Yeah, like a victim will actually put their password in.
>>
>>57441943
what's wrong?
>>
>>57442443
even for networking?
>>
How well does Qt Jambi work?
What else could/should I use for GUI design on Linux?
>>
>>57442470
https://groups.google.com/forum/#!topic/golang-nuts/MHoI64RyRdY
i now think it was pretty mild. after the initial message, which was kinda shitty, no one vilified aram
they don't have dedicated teams of trannies working on this like github
>>
>>57442428
the problem is probably in the implementation of the loop construct, so try a few simple loops and see where your program produces the wrong output. some kind of debugging information about what's going on in the memory cells might also be helpful
>>
>>57442428
>as fast as possible
>chose javascript

uh oh
>>
>>57441814
 for(int i=1;i<=100;i++){
std::string s;
(i%3 == 0? (i%5==0 ? s="FizzBuzz":s="Fizz"):i%5==0? s="Buzz":s=to_string(i));
cout<<s<<"\n";
}

can I make this shorter?
>>
>>57442524
unless they use stock sudo settings and have issued the command recently
>>
>>57442524
Implemented as quickly as possible, not execute as fast as possible numbnuts.
>>
>>57442528
i<101


there you go
>>
Writing a networked 2 player tetris in java from some pre-existing code I found off the internet
>>
>>57442531
>asking people for help then insulting them
>>
>>57442536
Thanks
>>
>>57442552
Also for every
 i%x==0


it could be
i%x<1
>>
>>57442568
Thank you anything else?
>>
>>57442528
It may be shorter, vertically.
But it is longer horizontally.
:^)
>>
>>57442579
Not, not unless C++ can slice strings with array syntax

"FizzBuz"[0,4]
>>
>>57442592
It technically does using pointer arithmetic.

"FizzBuzz"[4]


Would work but you cannot select the end character so you'd have to play around with null terminators.
>>
>>57442610
>>57442592
>>57442568
>>57442536
>>57442586
Thank you all for your help.
>>
>>57442528
pretty sure you don't need that std::string, just
cout << [third line of your code without all the 's=']<<'\n';
>>
File: kill me.jpg (29KB, 594x249px) Image search: [Google]
kill me.jpg
29KB, 594x249px
>>
>>57442114
>>57442290

do you have to samefag?
>>
Why do we still do the FizzBuzz, /dpt/?

What is the purpose of it all?

Why is it so satisfying?

Range(1,100).Select(x=>(x%15<1)?"FizzBuzz":(x%3<1)?"Fizz":(x%5<1)?"Buzz":x.ToString()).ForEach(WriteLine);


Range(1, 100).Select(
x => (x % 15 < 1) ? "FizzBuzz" :
(x % 3 < 1) ? "Fizz" :
(x % 5 < 1) ? "Buzz" :
x.ToString())
.ForEach(WriteLine);


Why does doing the stupid autism formatting feel so right?
>>
>>57442728
>writing java without an ide

madman
>>
>>57442420
anyway, you will hear three main complaints i think
>lack of package versioning
>standard way to obtain packages is to get and install HEAD from github
>no generics
>>
>>57442728
>the right column of curlies
Is this how normal people write code?
>>
>>57442795
No
>>
Should I learn F#? Is it useful?
>>
>>57442814
The former: We don't know anything about you.

The latter: Yes, it can be useful.
>>
What happens behind the scenes in GUI libraries?
Like what are they doing to make pixels appear on my screen?
>>
>>57442851
we may never know...
>>
>>57442851
The GUI libraries are talking to another subsystem most likely, usually X11 (for *nix systems) or win32 (for Windows). They take care of choosing which depending on where your program will run.
>>
>>57442880
Thanks for the answer
Lets say I wanted to build one on my own(I dont) how would I start from the ground up.
If I understood you correctly I would need to use win32, do all graphics libraries (like opengl etc.) do that?
>>
I'm trying to learn C++.
I have this sample code just for practicing using templates and I want to refactor the myThing class into a seperate cpp + h file. Whenever I try I, get compile errors cause I can't figure out how exactly it should look.

How should myThing.cpp + myThing.h look?

#include <iostream>

template<typename T>
class myThing {
private:
T myVar;
public:
myThing() {
std::cout << "myThing construtor\n";
}
~myThing() {
std::cout << "myThing destructor\n";
}
void setVar(const T &x) {
myVar = x;
}
T getVar() {
return myVar;
}
};

int main() {
myThing<int> m;

return 0;
}
>>
>>57442905
OpenGL itself is not talking to win32, you are also using some toolkit like GLUT or GLFW to display OpenGL's output in the win32 environment (in a window). But basically yes.

You can start by learning the win32 API. Of course you can write a GUI application using only win32 but the whole point of a GUI library is to add higher level easier-to-use widgets, that are more generic so you can just fill in other code and put in a switch:
if Windows
draw with win32
else if OS X
draw with Quartz
else
draw with X11
>>
>>57443074
Templates are special in C++, and you need to have all of the template in the .h, you can't put the implementation in the .cpp.

The reason for that is that a template function isn't a function, it's a recipe for creating a function, and you need to see the complete recipe to use the template.
>>
>>57443074
#pragma once

#include <iostream>

template <typename T>
class MyThing {
T var{};

public:
MyThing();
~MyThing();

void setVar(const T &x);
T getVar() const;
};


#include "thing.hpp"

template <typename T>
MyThing<T>::MyThing()
{
std::cout << "ctor()" << std::endl;
}

template <typename T>
MyThing<T>::~MyThing()
{
std::cout << "dtor()" << std::endl;
}

template <typename T>
void MyThing<T>::setVar(const T &var)
{
this->var = var;
}

template <typename T>
T MyThing<T>::getVar() const
{
return var;
}

int main(int, const char **)
{
MyThing<int> t{};
return t.getVar();
}
>>
>>57443168
>#pragma once
>>
>>57441981
LÖVE is life.
>>
>>57443185
fight me nerd
>>
>>57443231
#ifndef THING_HPP_
#define THING_HPP_
[...]
#endif //THING_HPP_
>>
>>57443252
pig disgusting
>>
>>57443185
>>57443252
>Cpp needs the user to write preprocessor directives to do this basic shit
Wew
>>
>>57443263
>nonstandard breaky and slow pragma once
>not pig disgusting
>>
>>57443281
>nonstandard
supported by all compilers that are relevant, idc about standard compliance

>not pig disgusting
objectively 1/3rd as disgusting as "include guards", can't wait for modules system so i don't have to use this vomit triggering C preprocessor legacy
>>
>>57443277
Can't wait for
MODULES
͏O͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏E
͏D͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏L
͏U͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏U
͏L͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏D
͏E͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏O
SELUDOM
>>
>>57443252
>>57443185
do not use include guards, do not use pragma once, do not include multiple times
>>
>>57443303
>supported by all compilers that are relevant, idc about standard compliance
>supported means "implemented"
>slow = good
>programs that don't compile = good
>non-standard writing = good

I mean if you're going to write in this disgusting language in the first place you could at least try to make the horrid preprocessor system as usable as it can be for everyone who is subjected to interaction with your program.

>>57443350
If you're doing this you are going to create circular dependencies in larger OO languages. Welcome to hell, friend.
>>
>>57443356
>If you're doing this you are going to create circular dependencies in larger OO languages.
Don't create circular dependencies in the first place.
Or if you absolutely have to for some retarded reason, use forward declarations.
>>
Fuck you OP
>>
>>57443356
do not include a header multiple times. include it where you use it, and do not include inside headers
>>
>>57443356
>I mean if you're going to write in this disgusting language in the first place you could at least try to make the horrid preprocessor system as usable as it can be for everyone who is subjected to interaction with your program.
so like no one? i write programs for myself, not for others, so i want my code to look as pleasant as possible
>>
>>57443376
>do not include a header multiple times. include it where you use it,
This can be multiple times.
>>
Are the people that hate C++ the same ones that love hasklel?
>>
>>57443390
don't be fucking facetious
>>
>>57443392
A lot of people quite reasonably hate C++, so it's not impossible
>>
>>57443392
no
>>
>>57443416
A lot of people hate things they don't understand.
>>
>>57443392
C++ is one of the only other languages with HKTs,
>>
Can you guys recommend me a series of daily C exercises, so that I can git gud at it? I read a lot about C theory, but I don't practice enough. Something going from easy to hard, to truly master C algorithms. Thanks in advance.
>>
>>57443441
https://www.reddit.com/r/dailyprogrammer/
>>
>>57443426
>C++ is complicated
Ate you literally retarded?
>>
>>57443441
If you're looking for applied theory, Cracking the Coding Interview has interesting exercise.

If you want to actually do something real, start a side project. Anything you want.
>>
>>57443408
>I've never written a sizeable program that creates objects at runtime before
>>
>>57443454
>Cracking the Coding Interview
That looks really interesting, I think I am going to start doing both. Thanks a lot anon, looking for the pdf of Cracking the Coding interview as we speak lol.
>>
File: 83421.png (14KB, 203x248px) Image search: [Google]
83421.png
14KB, 203x248px
>>57443426
>it's just because they don't understand
>>
>>57443426
overcomplexity is not a desirable trait of a programming language

>>57443470
>DURR WHAT IS A TRANSLATION UNIT I'M A FUCKING MONGOLOID CUNT
ok cheers mate
>>
>>57442851
We just don't know?
>>
>>57443453
>>57443486
>C++ is not complicated
I'm gonna call Dunning-Kruger on this one.
Even Bjarne will tell you he doesn't understand some of the finer points of the standard.

But if it's so simple, why don't you answer a simple C++ question, just basic knowledge. Tell me the difference between the Consume and Acquire semantics in C++'s memory model, and why in practice one both share the same implementation?
>>
>>57443470
You know "multiple times" means "multiple times in the same source file unintentionally" don't you? That's all include guards enable.
>>
>>57442851
magnets
>>
>>57443478
I have the 6th edition, I can torrent it for you if you want but I have a shit connection and it's 80MB.
>>
>>57443504
>dunning kruger
Thank you for informing me that I do not need to read this post
>>
>>57443539
Who are you quoting?
>>
>>57443545
A cringeworthy self important egotistical dumbass
>>
>>57443454
The less you know about your problem domain before you start the better. Learning something new in order to make something makes absorbing the new stuff so much easier.
>>
>>57443525
I really appreciate it anon, but don't worry, I don't wanna be a bother to you. Thanks a lot tho.
>>
>>57443567
As opposed to a cynical, lazy dumbass.
I understand that it's easier to dismiss a comment than to think about it.
>>
>>57443611
>cynical
Is English not your first language?
>>
>>57443619
It isn't.
>>
>>57441823
Seconded.
>>
>>57442097
nigga what? one guy draws it
>>
>>57443634
Anything I don't like is SJWs, don't bring logic into it.
>>
XKCD isn't funny
>>
>>57443652
You have an opinion?
Well that's wonderful!
>>
>>57443654
I didn't ask for yours
>>
>>57443662
That's okay, I didn't give you mine.
>>
>>57443654
Not him, but I'm pretty sure it's an objective fact that XKCD has never been funny, and isn't witty at all.
>>
File: objectively.png (40KB, 1475x187px) Image search: [Google]
objectively.png
40KB, 1475x187px
>>57443669
>>
>>57443669
>but I'm pretty sure it's an objective fact that XKCD has never been funny
you clearly don't know what objective means

I find XKCD sometimes has mildly amusing comics. Correct horse battery staple was good.
>>
>>57442728

What the fuck

Why would you do that with brackets
>>
1/2
let empty () = failwith "empty";;

let pop = function
| [] -> empty ()
| x :: xs -> x, xs
;;

let apply_num stack word =
try
float_of_string word :: stack
with
| _ -> failwith (Printf.sprintf "unknown: %S" word)
;;

let apply_cmd stack word =
let clear () = [] in
let drop () =
let _, stack = pop stack in
stack in
let dup () =
let x, _ = pop stack in
x :: stack in
let swap () =
let y, stack = pop stack in
let x, stack = pop stack in
x :: y :: stack in
let pick () =
let x, stack = pop stack in
let x = int_of_float (x +. 0.5) in
let rec loop l i =
match l, i with
| x :: _, 1 -> x
| [], _ -> empty ()
| _ :: xs, i -> loop xs (pred i) in
let x = loop stack x in
x :: stack in
match word with
| "clear" -> clear ()
| "drop" -> drop ()
| "dup" -> dup ()
| "swap" -> swap ()
| "pick" -> pick ()
| word -> apply_num stack word
;;

let apply_fun stack word =
let func f =
let x, stack = pop stack in
f x :: stack in
match word with
| "sin" -> func sin
| "cos" -> func cos
| "tan" -> func tan
| "acos" -> func acos
| "asin" -> func asin
| "atan" -> func atan
| word -> apply_cmd stack word
;;

let apply_op stack word =
let op op =
let y, stack = pop stack in
let x, stack = pop stack in
op x y :: stack in
match word with
| "*" -> op ( *. )
| "+" -> op ( +. )
| "-" -> op ( -. )
| "/" -> op ( /. )
| "^" -> op ( ** )
| word -> apply_fun stack word
;;

let exec_word = apply_op;;

let exec_line stack line =
let ib = Scanf.Scanning.from_string line in
Scanf.bscanf ib " " ();
let rec loop stack =
if Scanf.Scanning.end_of_input ib then
stack
else
Scanf.bscanf
ib " %s "
(fun word ->
let stack = exec_word stack word in
loop stack) in
loop stack
;;
>>
>>57443677
Did you get that one from XKCD?
>>
>>57443696
Python-envy
>>
>>57443705
2/2
let read_line kloop kend =
try
kloop (read_line ())
with
| End_of_file ->
print_newline ();
kend
;;

let print_stack stack =
let rec loop i = function
| [] -> ()
| x :: xs ->
(* FIXME: NON TAIL REC ALERT *)
loop (succ i) xs;
Printf.printf "%d\t%F" i x;
print_newline () in
loop 1 stack
;;

let rec main_loop stack =
print_stack stack;
print_string "> ";
flush stdout;
read_line
(fun line ->
let stack =
try
exec_line stack line
with
| Failure s ->
prerr_endline s;
stack
| x ->
prerr_endline (Printexc.to_string x);
stack in
main_loop stack)
()
;;

let main () = main_loop [];;

let () = main ();;
>>
File: adminLogout.gif (268KB, 300x230px) Image search: [Google]
adminLogout.gif
268KB, 300x230px
>>57443708
I objectively didn't.
>>
why does network API in compiled languages look like shit and a pain to program?
>>
>>57443677
That's objectively not funny or witty as well.

>>57443688
Of course I know what objective means, you objective retard.
>>
>>57443738
Wow, you and XKCD sure have a lot in common then
Neither of you are fucking funny
>>
>>57443705
>>57443716
What language?
>>
>>57443763
OCaml
>>
File: wowPartyMusik.jpg (98KB, 638x867px) Image search: [Google]
wowPartyMusik.jpg
98KB, 638x867px
>>57443759
>>57443761
Someone's upset
>>
>>57443757
Cause you're a weak ass retard.
>>
>>57443759
You are objectively misusing objectively, hence you objectively being more retarded than I, because I am objectively using objectively correctly.
>>
>>57443772
>le funnay memes
Of course the fucking redditor defends XKCD.
You need to go back.
>>
>>57443757
use go

ez pz
>>
>>57443716
>(* FIXME: NON TAIL REC ALERT *)
Why can you just use List.iter with a ref to line number?
>>
>>57443797
Try it anon. I was just too lazy to do it correctly. Maybe one day I'll fix that.
>>
File: waha.jpg (48KB, 480x480px) Image search: [Google]
waha.jpg
48KB, 480x480px
>>57443783
Did you know that all reddlt does is steal memes from 4chan and run them into the ground?
You probably would if you weren't so new ;^)
>>
>XKCD isn't funny
>Yes it is
>No it isn't
Good discussion faggots
>>
>>57443777
C is complicated and gets hard to read
Java is extremely verbose
>>57443785
I would rather not
>>
>>57443705
Real stackbois don't need 'pick', they refactor expressions to not need such deep stack operations.
>>
Why learn anything else other than C,C# and COBOL?

What's the point?
>>
>>57443819
>Did you know that all reddlt does is steal memes from 4chan and run them into the ground?
Only a redditor would post stupid shit that is years old, and still think it's relevant or funny.
>>
>>57443845
Javascript for jobs, in case the local bank isn't hiring a COBOL maintainer.
>>
>>57443838
You can't avoid pick.
>>
>>57443887
im epic mad. you can't fathom how mad i am.
>>
>>57443884
Add proper data structure support for vectors and vector versions of all arithmetical operations so you can treat an N-vector as a single stack item (i.e an address to N elements).
In Forth whenever I end up in a situation requiring more than 3 elements on the stack I know I've done something wrong.
>>
>>57443823
This
it obviously isn't
>>
>>57443806
let print_stack =  let i = ref 1 in 
List.iter (fun x -> Printf.printf "%d\t%F\n" !i x; incr i)

or just
let print_stack = List.iteri (Printf.printf "%d\t%F\n")

if you're fine numeration from 0.
>>
>>57443935
>In Forth whenever I end up in a situation requiring more than 3 elements on the stack I know I've done something wrong.
It's because you never develop complex algorithm.
>>
File: topright.jpg (32KB, 900x504px) Image search: [Google]
topright.jpg
32KB, 900x504px
>>57443915
At least your entertaining. Slow thread today.
>>
<4:1 2 3 4>
is giving me
<0:>
Segmentation fault (core dumped)

Where am I going wrong?
friend istream& operator>>(istream &s, A &a) {
int size;
int item;
char lpar, colon, rpar;
if (s >> lpar) {
if ((s >> size >> colon >> item >> rpar) && (lpar == '<' && colon == ':' && rpar == '>')){
a._v[size];
while(s >> item)
a._v.push_back(item);
}else{
s.setstate(ios::badbit);
}
}
return s;
}
>>
>>57443952
>It's because you never develop complex algorithm.
No, I do.
I just know how to refactor things properly.
Give me an expression or algorithm you think will require more a stack more than 3 deep and I will refactor it for you.
>>
>>57443939
FIRST
try to avoid ref, it's usually for noobs
SECOND
Your code does not do the same thing than mine. Do you really think I was too noob to write more code than your version?

You just prove how noob you are anon. But I like you.
>>
>>57443705
rewrite this in haskell
>>
>>57443960
>Where am I going wrong?
C++
>>
File: s.png (107KB, 800x388px) Image search: [Google]
s.png
107KB, 800x388px
t420 screen keeps going off if I move the lid.

I assume you nerds have thinkpads and know a bit about thinkpads, is it easy to fix?
>>
>>57444119
What the fuck is a thinkpad
>>
>>57444119
How is that programming related, you retarded frogposter?
>>
How can I do this more simply?
with Ada.Text_IO; use Ada.Text_IO;

procedure Main is

type Mods is (Mod_15, Mod_5, Mod_3, None);
subtype Fizzbuzz_Range is Integer range 1..100;

function Find_Mod (Item : in Natural) return Mods is
(if Item mod 15 = 0 then Mod_15
elsif Item mod 5 = 0 then Mod_5
elsif Item mod 3 = 0 then Mod_3
else None);

task Tasker is
entry P (Low, High : in Natural);
entry P_I (Item : in Natural);
end Tasker;

task body Tasker is
Fizzbuzz : constant String := "Fizzbuzz";
begin
loop
select
accept P (Low, High : in Natural) do
Put_Line(Fizzbuzz(Low..High));
end P;
or
accept P_I (Item : in Natural) do
Put_Line(Natural'Image(Item));
end P_I;
or
terminate;
end select;
end loop;
end Tasker;

procedure Print (Value : in Mods; I : in Natural) is
begin
case Value is
when Mod_15 => Tasker.P(1, 8);
when Mod_5 => Tasker.P(5, 8);
when Mod_3 => Tasker.P(1, 4);
when others => Tasker.P_I(I);
end case;
end Print;

begin
for I in Fizzbuzz_Range loop
Print(Find_Mod(I), I);
end loop;

end Main;
>>
>>57444208
Maybe you should go back to /pol/, you dumb frogposter
>>
>>57444208
>but aren't generals supposed to be friendly places where you talk about anything you want?
No, fuck off.
4chan is not a chatroom or an IRC channel.
>>
the best game evr
print("Monster misses")

def levelUp():
while hero.exp>=hero.level2:
levelGain=False
hero.level+=1
levelGain=True
hero.level2=hero.level2*2
if levelGain==True:
hero.maxhp+=Dice.die(hero.hd)
hero.hp=hero.maxhp
if hero.prof=="mage":
hero.maxmana+=1
hero.mana=hero.maxmana
print("You Gained a level","\n",'hp:',hero.hp,"\n",'level:',hero.level)
levelGain=False
while hero.level>=3:
hero.level-=3
hero.thaco-=1
print("thaco:",hero.thaco)

def commands():
if hero.prof=="fighter":
rollD=Dice.die(10)
if hero.prof=="cleric":
rollD=Dice.die(6)
if hero.prof=="mage":
rollD=Dice.die(4)
print("for",rollD,"damage")
mob.hp-=rollD
print("the",mob.name,"has",mob.hp,"hp left")
else: print("Monster misses")

def levelUp():
while hero.exp>=hero.level2:
levelGain=False
hero.level+=1
levelGain=True
hero.level2=hero.level2*2
if levelGain==True:
hero.maxhp+=Dice.die(hero.hd)
hero.hp=hero.maxhp
if hero.prof=="mage":
print (" press f for fireball")
command=input(">>>")
if command =="s":
print("You put the monster to sleep it is easy to kill now")
mob.hp-=mob.hp hero.mana-=1
if command=="m":
dam=Dice.die(4)*hero.mana mob.hp-=dam
print("You use all your mana! and do",dam,"damage!")
hero.mana-=hero.mana
if command=="f":
playerAttack()
if command=="":
pass
>>
File: 1465342088029.gif (456KB, 260x146px) Image search: [Google]
1465342088029.gif
456KB, 260x146px
>>57444208
this isn't brit/pol/

but it is friendly
>>
>>57443972
>try to avoid ref,
>it's usually for noobs
Only "newbs" try to avoid something, because they heard it was for "noobs". Imperative style is essential to ocaml and so are mutable data structures.
>Your code does not do the same thing than mine
Oh, yes, indeed. You want to output it backwards. Then you obviously can't have a tail recursive version.
let print_stack s = List.mapi (Printf.sprintf "%d\t%F\n") s |> List.rev |> List.iter print_string

>Do you really think I was too noob to write more code than your version?
Just stop talking like this. It makes you look stupid.
And yes, you didn't show much insight by calling print_newline after printf.
>You just prove how noob you are anon.
Yes, I am.
>>
I'm writing small programs w/ x86 Assembly in TASM dialect. I run the commands
tasm Multicat.asm
tlink Multicat

and it compiles without error, but doesn't run. Am I forgetting a step?
>>
>>57444279
tight-knit community full of inbreds
>>
>>57444279
>/pol/ !== Brit/pol/
A different form of shit, is still shit.

>Back to my laptop. When I move the lid a tiny bit, it's as if it's going into sleep mode without me closing the lid completely. What's going on, lads?
It's fuxxed, buy a new one.
>>
File: 1476854844528.png (726KB, 952x1064px) Image search: [Google]
1476854844528.png
726KB, 952x1064px
>>57444285
i take it back it isn't friendly
>>
>>57444299
fuck off darkie
>>
>>57444289
You're cute.
>>
>>57444327
I know, very rude place this /dpt/ is. Not comfy at all.
>>
>>57444327
shut up bitchboy, go stand in the corner.
>>
File: help.png (137KB, 1366x768px) Image search: [Google]
help.png
137KB, 1366x768px
>>57444279
i finished tic tac toe. been coding for a week so far this is m yfavorite thing i've written but i have a huge issue which is picrelated.

so i coded the game in a while loop and the check win states are functions. once a win state is matched it goes toa function to congratulate player on winning but i'm stuck in the while loop still.

what should i do on there?
>>
>>57444387
Print a pretty grid and it will be ok.
>>
>>57444361
Why?
>>
>>57444397
Because I upset you by spotting how noob you were compared to me, and now you try to compensate by intimidating me. That's cute.

But you can do what you want you proved so many things with your first post.
>>
>>57444396
well i'm working on that after i can figure out how to break out hte loop on a winstate
>>
>>57444415
>admits to being intimidated by a noob
>>
>>57444432
LOL
>>
>>57444444
>>
>>57444444
>stackOverFlowExecption
>>
>>57444444
get for 8ch
>>
File: YotsubaSunglasses.png (281KB, 1600x1232px) Image search: [Google]
YotsubaSunglasses.png
281KB, 1600x1232px
>>57444444
Witnessed

What script are you using?
>>
>>57444444
Good one: now this thread is ruined.
At least it was pretty shit to begin with.
>>
>>57444461
>What script are you using?
Script? What are you talking about?
>>
>>57444444
checked
>>
>>57444476
are you newb
>>
>>57444476
I'm just saying check my eights

>>57444488
>>
In C, is there any easy way to compare two doubles to n significant digits?
>>
>>57444484
No. But I don't get it.
>>
>>57444484
>taking bait
you're the newb
>>
>>57444461
>>57444484
/g/ is actually slow enough to do that sort of shit by hand.
I've managed to get two self-replying posts before in a row.
>>
>>57444499
Sixts by hand isn't something I would have tried
>>
>>57444499
>doing it manually in a programming board

wew
>>
>>57444511
It's because you're a coward anon. I dare. And I winrar.
>>
>>57444204
Wew, c btfo
>>
>>57444518
I might be a coward, but I got REDTEXTED FOR THIS POST once and nothing will top that.
>>
>>57444421
Python does have a break statement, although we know very little about your code, to actually fix the problem.
>>
>>57444489
Substract one from the other and compare to your epsilon?
>>
File: circularly linked lists.png (6KB, 400x89px) Image search: [Google]
circularly linked lists.png
6KB, 400x89px
>>57444444
very nice
>>
What would be the best way to initialise an array with arguments through a constructor?
I'm trying to set two arrays up in a constructor, each having 3 strings, but I don't know how I could do this without individually assigning each array index a string. Is there a way of doing it other than that?
>>
>>57444569
The problem is my code is kinda broken.

it passes the list through functions to check if a win state was matched. but it passes the functions inside the while loop and then just keeps looping.
>>
>>57444636
What language, and what exactly are you trying to do?
Post some code, because if it's only 2*3 strings into 2 arrays I don't see why you can't do it the naive way.
>>
>>57444636
array<e> make_array(initializer_list<e>)
>>
>tfw you track down a bug and squash it

Knocking on wood.

I have over 3100 lines of code in this one file. That bug was stealthy too, two listeners were occurring on two separate locations causing both my markers to update when only one should. This was despite my attempts at removing all of the listeners beforehand. This bug would also only occur if I selected one uid into a specific box, then ran the program, then selected another uid into the same box. If I used the same set of uid's it would be fine.

PHEW and all it took was fixing where I retardedly made the listener array and moving where I removed the listeners to.

FeelsGoodMan.
>>
>programmed over half of my shitty collision system
>didnt do a single test so far
how fucked am I?
>>
>>57444669
is it written in haskell?
>>
>>57444415
>I upset you by spotting how noob you were compared to me
That's sad. How many cases do you think, I've seen of people, who were much smarter and proficient than me but were corrected by others? Let me give you some advice: if you continue to ascribe so much importance to your mistakes, then it'll harm your achievements significantly in the future.
I thought you liked me because we both are interested in ocaml, though. It's sad also.
>>
>>57444669
>how fucked am I?
It just depends on how good you are.
There's no reason it shouldn't work on first try.
>>
>>57444678
no in Pajeet
>>
>>57444683
>I thought you liked me because we both are interested in ocaml
That's exactly why I like you, you're not wrong. But we're on 4chan, I have to be rude. And I have a superiority complex.
>>
>>57444444
>>57444488
>>57444499
>>57444511
Checked, and rec'd.
>>
>>57444652
Java.
I'm making a quiz, with two arrays holding the questions/answers. I want these arrays to be initialised with the questions/answers given by the constructor's arguments. So basically cycle through the arguments and put each one in the corresponding array location.
>>
>>57444691
game over
>>
>>57444716
That's literally trivial, I don't see what the problem is.

Are you trying to say you don't know how to write for loops in Java?
>>
>>57444728
I do, but I don't know how to cycle through the variables in the parameters.
I'm still pretty new to programming in general.
>>
https://www.youtube.com/watch?v=vQ2iQQvofCE
Can you make demos on lisp?
>>
>>57444636
Not sure if this is what you meant:
array1 = new String[3];
array2 = new String[3];
for (int x = 0; x < 3; x++) {
array1[x] = input1[x];
array2[x] = input2[x];
}
>>
>>57444578
How do I calculate the epsilon then?

0.12345100
0.12345200

and

0.00000000000012345100
0.00000000000012345200

are both equal compared to 5 significant digits

All I can think of is multiplying by 10 till I get rid of the 0s, but that doesn't seem like a nice way to do it
>>
>>57444753
>can you
>should you
>>
>>57444761
C++ gives you epsilon, dunno about C but i dont think it does
>>
>tfw you code a large project and start to realize things

Seriously, there is one issue that fucks shit up so hard. It's when your elements don't load fast enough. Example: for some retarded reason some specific built in functions occur on a separate thread or something. So your program continues to run with this one in the background. You get to a point where you need to access a property of that element. But wait, the element hasn't loaded to the screen yet, it's null. Then you have to figure out a way how to make it so that it loads before you continue on with your program.

This shit fucks me so hard.
>>
Learning C right now

How come brackets are used here
while (c != EOF) {
putchar(c);
c = getchar();
}

And not here?
while ((c = getchar()) != EOF)
putchar(c);

Is it because the second has only one line inside the loop?
>>
>>57444792
Which language? Which gui framework?
>>
>>57444741
Scanner scan = new Scanner(System.in);
System.out.print("Number of questions: ");
int num = scan.nextInt();
String[] questions = new String[num];
String[] answers = new String[num];
for(int i = 0; i < num; i++) {
System.out.print("Question #"+i+": ");
questions[i] = scan.nextLine();
System.out.print("Answer #"+i+": ");
answers[i] = scan.nextLine();
}
>>
>>57444760
Kind of like this, yeah, but instead of an array it's individual arguments.
 public questions (String q1, String a1, String q2, String a2) {
questions = new String[2];
answers = new String[2];

So I have these four parameters that I need to put into the two arrays. What would be the best way to do this?
>>
>>57444792
while(x.getElement() == null) {
Thread.sleep(10);
}
>>
>>57444806
You can only do it "manually" with those parameters
>>
File: 1466329334062.jpg (24KB, 258x263px) Image search: [Google]
1466329334062.jpg
24KB, 258x263px
>>57444803
>Scanner scan = new Scanner(System.in);
>Java
>>
>>57444801
yes, you don't need brackets for loops or if statements if there's only one line of code inside

it's basically just a different way of writing
while ((c = getchar()) != EOF) putchar(c);
>>
>>57444801
When writing a single line conditional, brackets are optional since the compiler knows the next line will be part of the statement. When you have more than one line the compiler needs to know what's part of the conditional and what isn't so you put braces around it.
>>
>>57444821
So the only way of doing this would be to individually allocate each array with each parameter?
Like I'm fine with doing that, but if there's any more efficient way I'd definitely like to know and learn it.
>>
>>57444569
while True:

user_input = str(input('where do you want to place your mark? (input example - 1,2) '))
print()
string = user_input.split(",")

l = []
for i in string:
l.append(int(i) - 1)

row = l[0]
col = l[1]

new_state = game[row]
if game[row][col] == 'X':
print('can\'t move there')
continue
if game[row][col] == 'O':
print('cant\'t move there')
continue

if counter % 2 == 0:
new_state.insert(col, 'X')
new_state.pop(col + 1)
elif counter % 2 == 1:
new_state.insert(col, 'O')
new_state.pop(col + 1)

for i in range(len(game)):
print(game[i])

vertical_win(game)
diagonal_win(game)
horizontal_win(game)
counter += 1


kinda embarassed post it but that is the while the game.
>>
>>57444761
You want your epsilon to be something like this for around 5 significant digits:
int N = 5;
float a, b;
float diff = a - b;
float epsilon = max(abs(a),abs(b)) / pow(10, N);
>>
>>57444858
No you cant do anything like access the parameters in a loop
That's only possible if they are a array or list
>>
fucking dynamic allocation.

I'm almost ready to just give it a fixed, arbitrary high size, waste memory for unset values but having a buffer to be flexible while avoiding memory fragmentation.
>>
>>57443757

The network stack isn't exactly the most pretty thing to visualize. In interpreted languages, you're effectively using a syntactic sugar overtop the more ugly shit written in C.

>>57443827

C is a very simple language, actually. You mostly have basic data types (integers, floats, pointers, and structs/unions/arrays of those), and procedures that take in one or more of those types, and spit out zero or one of those types, not including arrays. Aside from that, you have basic arithmetic and control flow, which are in most languages, and macros, which make things hard to read.
>>
>>57444861
what does diff do
>>
>>57444860
I don't know python and I have nothing useful to say; but don't be embarrassed because even if someone calls you a retard, if they post the right way to do it you learned how to be less retarded which is a good thing. You're anonymous, abuse it.
>>
>>57444878
Okay, thanks for the help.
>>
File: cb284311d6721b6fd8d6356fb1b257bb.jpg (446KB, 1365x2048px) Image search: [Google]
cb284311d6721b6fd8d6356fb1b257bb.jpg
446KB, 1365x2048px
>>57444701
Aww, then it's okay if only on 4chan. Let me send you some wallabies.
But you shouldn't behave so demonstrative in the real life!
>>
>>57444882
It's what you're supposed to compare to the epsilon, obviously.

diff > epsilon => a>b
diff < -epsilon => b>a
else => a == b
>>
>>57444893
>But you shouldn't behave so demonstrative in the real life!
No in real life people bow in front of me. I'm a fucking master. I don't need to be demonstrative.
>>
>>57443757
What's wrong with the C api?
connect() listen() read() write()
simple and easy.
>>
>>57444499
Just edit your post after the get.
>>
>>57444944
Upvoted
>>
>>57444825
Java is incredibly retarded.
I hate the fact that the first job I get is probably going to use it.
>>
>>57444825
Literally nothing is wrong about that
>>
>>57444958
Maybe don't put java in the resume?

that's what i do
>>
>>57444908

Correction: accept(), connect(), listen(), recv(), send(), socket()

You can't read() and write() a socket descriptor in Windows, but the Winsock API is more or less identical to the Berkley Sockets API, with a few exceptions.
>>
>>57444981
No one cares about Windows.
>>
>>57444974
Orthogonal issues.
>>
>>57444985
yeah right except for like 90% of population on the desktop
i know you don't care when you write your networked fizzbuzz but some people here make software for other people
>>
>>57444985
t. no job
>>
>>57444985
>I don't leave my house
ty for confirming that
>>
>>57445002
Look at any of the highest network trafficked servers, none of them uses Windows.
>>
>>57445019
your point being?
>>
Does a code monkey naturally become a programmer/computer scientist after experience or do you have to go research stuff separately to evolve? What's the main differences? Between monkey and programmer/comp sci
>>
>>57445019
Yeah they use macs like 4chan
>>
What is the point of Rust? It isn't (substantially) faster than Go or Java, which offer safety without the complexity of borrow checkers etc., and is noticeably slower than C++ which, with C++11 features, is already a safe language.
>>
>>57445017
not true i go to the coffee shop sometimes
>>
>>57445025
I thought you didn't care about 'networked fizzbuzz'?
Linux, BSD for serious network programs, Windows for toy programs.
>>
>>57445019
Yknow that servers serve things, right? To desktops? They serve files. Using networking. To windows computers, that need software to access said networking.
>>
>>57442728
The people who call haskell a meme
>>
>>57445030
It's a meme by lisp users.
>>
>>57445042
>serious network programs

look here shithead, a typical server-based network application consists of two parts, a server, and a CLIENT, the client will more than likely run on a windows desktop 90% of the time, thus, you cannot simply discard a shitty plafrom
>>
>>57445036
>It isn't (substantially) faster than Go or Java
In the worst case. Best case is significantly better.

>the complexity of borrow checkers etc.
Not complicated.

>C++ which, with C++11 features, is already a safe language
Nice joke.
>>
>>57445062
>the client will more than likely run on a windows desktop 90% of the time
No, more likely a smartphone running Android or iOS..
>>
>>57445058
So 99% of coderz are code monkeys.
>>
>>57445058
>You should stop working when you find the best solution.
I guess it's a monkey life for me
>>
>>57445036
As a heavy C++ user, C++14 is a major improvement on the security front, but Rust is something else.
>>
>>57445036
>Slower than Ada, using an outdated compiler
Nice
>>
>>57445074
>No, more likely a smartphone running Android or iOS..

in which case the original point is completely irrelevant because you're unlikely to be writing C

>>57445082
edgy
>>
>>57445036
JAVA STRONK
>>
https://www.python.org/dev/peps/pep-0494/#features-for-3-6

are other languages even trying?
>>
>>57445036
>What is the point of Rust?
Crossdresser bait.
>>
open Num
let spawn f =
let fdin, fdout = Unix.pipe () in
match Unix.fork () with
| 0 ->
let pid = Unix.getpid () in
Random.init (int_of_float (Unix.time ()) + pid);
let oc = Unix.out_channel_of_descr fdout in
f oc;
exit 0
| _ -> fdin
let work oc =
let rec loop count success =
let x = Random.float 1.0 in
let y = Random.float 1.0 in
let count = succ count in
let success =
if x *. x +. y *. y < 1.0 then succ success else success in
let count, success =
if count mod 20_000_000 = 0 then
begin
Marshal.to_channel oc (count, success) [];
flush oc;
0, 0
end
else
count, success in
loop count success in
loop 0 0
let radix = Int 1000
let rec print_num oc n =
if n >=/ radix then
Printf.fprintf
oc "%a,%03d"
print_num (quo_num n radix)
(int_of_num (mod_num n radix))
else
Printf.fprintf oc "%d" (int_of_num (mod_num n radix))
let main_loop children_count =
let rec loop accu = function
| 0 -> accu
| k -> loop (spawn work :: accu) (pred k) in
let fdins = loop [] children_count in
let rec loop count success =
let rs, _, _ = Unix.select fdins [] [] (-1.0) in
let rec take count success = function
| [] -> count, success
| fdin :: css ->
let ic = Unix.in_channel_of_descr fdin in
let c, s = Marshal.from_channel ic in
take (count +/ Int c) (success +/ Int s) css in
let count, success = take count success rs in
let pi = approx_num_fix 30 (Int 4 */ success // count) in
Printf.printf "%a\t%s" print_num count pi;
print_newline ();
loop count success in
loop (Int 0) (Int 0)
let main () = main_loop (int_of_string Sys.argv.(1))
let () = main ()
>>
>>57444802

Android
>>
>>57445036

Have they been working on F# performance lately? I seem to recall it being a lot slower than C#.
>>
>>57444811

Oh shit I'll save this, maybe it'll work some time.
>>
>>57445156
Nice, Ocaml
>>
Is Kotlin a meme?
>>
>>57445204
The JVM is a meme
>>
>>57445188
C and OCaml are my favorite languages.
>>
>>57444878
apparently there's varargs in java too
public questions(String... args)
{
//args is now of type String[]
}

it's basically syntactic sugar for passing arrays, it just put's all the arguments in an array and passes that
>>
>>57445240
String[] questions(String ... args) {
return args;
}

>java code golf
>>
>>57445249
you're waifu is shit tbqh senpai
>>
File: 1470671602288.gif (607KB, 250x249px) Image search: [Google]
1470671602288.gif
607KB, 250x249px
>>57445274
>>
>>57445249
Make your own.
>>
Next:
>>57445335
>>57445335
>>57445335
>>57445335
>>
>>57441896
>http://better-dpt-roll.github.io/
rawl rawl rawl
>>
>>57442473
Do it on someone with passwords disabled on sudo then.
>>
File: in_my_native_language.png (83KB, 885x516px) Image search: [Google]
in_my_native_language.png
83KB, 885x516px
got some intense manual conversion to be doing
Thread posts: 310
Thread images: 25


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