[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: 328
Thread images: 30

File: languagerank.png (124KB, 800x700px) Image search: [Google]
languagerank.png
124KB, 800x700px
What are you working on, /g/?

Old: >>62119052
>>
what's the 'poo' language next to lisp
>>
File: eyebrow_wiggle.jpg (8KB, 457x1156px) Image search: [Google]
eyebrow_wiggle.jpg
8KB, 457x1156px
>>62125570
>>62125613
>>62125622
>>62125626
>>62125639
>>
>coding
whats the ceiling for you guys? i do network security and im at 120k in relatively cheap area.
all the programmers where i work make less then i do but idk if thats the norm
>>
Need some advice on something I've been writing ideas down for for years, some business related customer management application. I started the application using nodejs as a back end without ever having used it, I thought it would be a good learning experience. I think doing this really affected my ability to make progress on the project.

Any suggestions for backend technogoly? I'm comfortable with c# and have some understanding of python. I want to use this project to learn something new, I don't think it's going to be node.
>>
What's your gui framework of choice /dpt/?
>>
>>62125667
>actually getting a job tier

everything in the lower tiers
>>
>>62125667
Where is OCaml
>>
>>62125667
>Python and C are "Hacker tier"
>PHP and Perl are professional tier
>Lua and "Poo" aren't below LISP
>le functional is 4 hipsters meme DX
>Shit tier doesn't include PHP and Perl
Did you just make this, OP? You're a faggot.
>>
>>62125726
Anyone who makes an infograph like that is clearly too stupid to have any experience with Ocaml.
>>
Is there anyone that voluntarily uses C++ when other options are available? I don't think I've ever met a developer that's genuinely enthusiastic about using C++. Usually it goes something like
>Well, we could implement it from scratch in [project-appropriate modern language]...
>...buuuut there's a library from 1997 that already does part of what we're trying to do...
>...ughh, I guess we'll stick with C++ again.
Not trying to start a language war here, I'm genuinely curious.
>>
>>62125667
Where the fuck is Forth?
>>
>>62125755
try being a game programmer, C++ is the only option
>>
>>62125755
I'd like an answer to that too. Also, why does C# get shit on here?
I use it for work to automate processes and for all of our microsoft and windows shit, it just werks.
>>
>>62125772
Yeah, game programming is one of those areas where there isn't really a genuine alternative yet. I can see Rust being appealing to developers once it has proper abstractions for all the popular APIs though, since it's basically all the performance of C++ but without the mandelbugs. I can't see many game developers being keen to stick with C++ even after they get a workable alternative, though.
>>
>>62125810
considering Rust is all about safety it's going to be pretty unpopular for game developers
>>
>>62125755
Me. It's a mix of using C++ and OCaml. I could use other languages such as C or Java or whatever but those are the ones I'm having the most fun with.
Language choice is usually more irrelevant than dpt and stack overflow memesters might tell you. I don't know about companies if that was your question though, but I'm sure for example LLVM could have been written in many other languages (a lot of compiler research is made using functional programming languages) yet they still went with C++. The self hosting argument doesn't really hold since all the front ends are written in C++ and clang etc are "tools", not the core library.
So the tldr is yeah, people still go for C++ even when starting multi million LOC projects from scratch.
>>
File: ftfy.png (199KB, 1692x700px) Image search: [Google]
ftfy.png
199KB, 1692x700px
>>62125667
This is quite unrealistic. First of all those should be categories, not tiers. The implication of a hierarchical relationship is fallacious. Secondly, it's all scrambled up. Here, I fixed it.
>>
>>62125776
>Also, why does C# get shit on here?
It's not portable. I used to love C# when I was an exclusively Windows guy because the language and the IDE are designed for each other and everything works together like a beautiful machine, but after drifting over to Linux I cursed myself for not using Java instead.
>>
>>62125822
Why's that? I think the days of squeezing single threaded performance using unsafe tricks are gone now, thesedays it's all about trying to squeeze multithreaded performance by maximizing safety and separation of concerns.
>>
>>62125772
Ruby.
Ruby is practically made for game programming considering it's very easy to do multiple inheritance (Object#include) and per-object trait inheritance (Object#extend).
Too bad it's so slow.
>>
>>62125755
Also consider a language that is less than 10 yo is basically still in the experimental category. The good thing about C++ is how conservative the committee is, only putting features that are really proven. The downside is people will feel it's not "modern".
>>
>>62125755
I used to voluntarily and enthusiastically use C++ back when I was blissfully ignorant of shared_ptr. I would just manage all my memory on my own and fix things with valgrind and it was heaven because instead of shared_ptr< and then a > at the end all I had to type was *. Now I can't do that anymore because it's supposedly bad and I """"""""""should""""""""""""""" use shared_ptr instead.
>>
>>62125873
game development is never about safety, it's about fast development and fast execution. It's not about using unsafe tricks as much as it just doesn't matter if your game crashes or not so safety features really just get in the way

>>62125878
>made for game development
>slow
you lost me
>>
When will C++ have a gc_ptr class?
>>
Guys is there a way to reset CLion trail on Linux so I can use that IDE indefinitely ?
>>
I think C++ needs something like OpenGL's core/compatibility contexts. Right now there's a few dozen ways to express any concept that you want - they should go through and identify which ones are idiomatic, and make the compiler error on anything else by default. That alone would make me enjoy C++ a lot more - the number of times I've done something then found out that it was deprecated in 2004 for some obscure reason is insane.
>>
>>62125914
>you lost me
I have it relatively easy in terms of performance requirements because I am developing a 2D game
>inb4 developing a 2D game in this age is a waste of time
Wrong, it's a deliberate stylistic decision. My game will be story-heavy so to allow full emotional connection the uncanny valley must be avoided at all costs
>>
>>62125936
Get a student license.
>>
>>62125949
>found out that it was deprecated in 2004
What compiler are you using for it not to tell you something has been deprecated (very rare)? Unless you're talking about what is considered good/bad practices.
>>
>>62125961
well ok but that's not exactly 'made for game development' is it
>>
I keep getting a "Connection Error" everytime I try to submit my code. Is there a reason for it?
>>
>>62125906
You should actually avoid shared ptr as much as possible. Multiple ownership is asking for trouble.
>>
>>62125998
Put it on pasteboard, maybe it's your message that's getting censored though.
>>
File: helphelphelphelphelphelp.png (26KB, 667x401px) Image search: [Google]
helphelphelphelphelphelp.png
26KB, 667x401px
learning C++ thru a course on udemy, I kind of have an idea of what I'm trying to understand but I want to be sure whats going on exactly behind the scenes.
in pic related for Guess[GChar] is GChar storing the ASCII value of the char at that position to compare them to eachother and then checking that the values match with [MHWChar == GChar] or is the statement basically saying check the Guess variable at GChar/MHWChar position and then make sure that once theyre both at the same position, modify the count
>>
>>62126013
Thank you anon.
>maybe it's your message that's getting censored though
Can you please elaborate on this?
>>
>>62125987
indeed it isn't, not in terms of performance
i just wish there were a language that offered high performance but also easy access to more advanced and obscure object oriented facilities such as multiple virtual inheritance, traits, and multiple dispatch
too bad ruby is the only thing that comes close and it's slow
>>
Guys, I think I love the Rust ecosystem. I'm not sure about the language itself yet, but it's great that everything around it just works.

>didn't need to fuck around with build system bullshit like cmake
>didn't need to worry about library installation, compilation and versioning, cargo just takes care of that
>cargo has "build and run" built in, no need to write a script for my text editor
>autocomplete with racer works out of the box, no fucking around there
>tests are automated for you
>it even made a git project ready for me

Why can't C++ have a build system like this?
>>
>>62125963
I'm not a student.
>>
File: 1503882284495.jpg (1MB, 500x2855px) Image search: [Google]
1503882284495.jpg
1MB, 500x2855px
>>62125667
For anyone looking to learn programming with books, here's the reference you need.
>>
"If you don't know what the 'C' programming language is, it is an outgrowth of an earlier language called 'B'. That's all you need to know about 'C'." -- Chris Date on how Oracle is written in C, 10th Australian Computer Conference, 1983.
>>
>>62126038
There are some sequences of characters that will make your post fail.
>>
>>62126048
>>it even made a git project ready for me
this is one step over the line imo
>>
>>62126048
>Why can't C++ have a build system like this?
because its an ancient language.
>>
>>62126061
>matlab
Why would you ever want to learn this?
>>
>>62125851
So you're going to ignore .net Core and all the work they've done with Xamerian?
>>
>>62126048
Too many different compilers and environments for it to be viable.
>>
File: 1503706260052.png (41KB, 413x467px) Image search: [Google]
1503706260052.png
41KB, 413x467px
>>62126103
It's not for brainlets like you.
>>
>>62126048
C++ has no standardized build system. Hell, even within cmake there are about ten different standards for how you should build your libraries with your project.
>>
>>62126048
It has these things individually. I don't know if there's a true monolithic C++ development environment out there.
>>
"C" is a disaster. It is not inherently re-entrant, has no guaranteed real-time design, and the pointers are a criminal inclusion. It is GUARANTEED to hang, in deadlock situations, and is inherently easy to "crack". It is notoriously difficult to read, and encourages terseness. It has dreadfully ambiguous syntax. Whoever designed the moronic "case" statement that requires "break" at the end of each option was an insane troublemaker. Anyone using "C" in real-time or safety-critical applications should be imprisoned. I mean that literally. Thrown in jail.
>>
>>62126174
I wondered whether you'd come back
>>
File: 1503883815646.jpg (481KB, 1200x1730px) Image search: [Google]
1503883815646.jpg
481KB, 1200x1730px
I used to write Structured programs in PL/1 and in COBOL, then moved on to NATURAL, and then Visual Basic and Java, and finally Python. I use Objects sometimes, inheritance rarely, parameterised calls often. MY overall perspective is that functions/procedures need not be tiny (a screen or less) and that larger functions/procedures can serve a system very well. The trouble is that many of the junior programmers leap into complex object hierarchies immediately and because one must work with a team and many members of the team will be recent graduates with almost nothing but OO languages at their command systems get stuck in the morass of huge object hierarchies. It is not easy to avoid.
>>
>>62126061
>F#
For what purpose?
>>
Don't use add until you can design your own binary full adder circuit
>>
>>62126197
>thinly veiled python shill
>"Learn Python, program without Objects for a while"
Python is one of the biggest culprits of growing misguided OOP programmers. Python is a dynamic language that doesn't have a need for objects or classes; All dynamic languages need is functions and hash tables and anonymous functions. Python doesn't even have proper anonymous functions; you are forced to name them and use callbacks very similar to VBScript. Python is literally the closest thing to VBScript that we have today, a language which required delgate wrappers over functions for no real reason.

The reason these languages do not scale is because they cannot simply read a file, eval it into an object(hash table of functions/arrays/etc), and use that object while you need it, then have it garbage collected. This "requirejs" like mechanism allows dependencies to be hooked to local objects instead of imported globally and used everywhere in your code when you feel like it; you have to pass the object around or re-require it. This makes dependency management explicit. Perl/Lisp packages are the contrast to this, where you have a global symbol table and you hook all your packages to symbol tables creating namespaces. This causes you to grow a huge amount of dependencies which you can't track the flow of. This is okay for extending the language, but not okay for a small utility you want to use once and throw away; this causes a huge amount of gabrage to stick around the global scope for no good reason; anonymous functions and requires allow us to eliminate global scope pollution and keep our programs scalable and clean of stuff we no longer need.
>>
I got very fast internet now, guys. What should I do with it?
>>
>>62126257
Download porn
>>
>>62126267
boring. now that I have the power, that doesnt interest me at all
>>
>>62126197
Please tell me she has a dick.
>>
>>62126061
The problem with almost all Fortran books is that they only focus on math programming. The ONLY book that teaches Fortran as a general purpose language is Modern Fortran in Practice
>>
File: periodic_table-1.jpg (332KB, 2048x1510px) Image search: [Google]
periodic_table-1.jpg
332KB, 2048x1510px
>>62125837
>This is quite unrealistic. First of all those should be categories, not tiers.
here you go
>>
File: image_015A8E35.png (9KB, 398x342px) Image search: [Google]
image_015A8E35.png
9KB, 398x342px
How does this make you feel?
>>
has anyone ever heard people describe p5.js as the "ruby on rails" of js?

i dont do front-end but im sort of interested in it
>>
what's the best book for python brainlets?
>>
>>62126516
No clue but you should ask these things here >>>/g/wdg/ as the guys are clearly more interested in web.
>>
Can you initialize a nested structure in C89 without putting braces around it?

#include <stdio.h>

struct sa {
int a;
int b;
};

struct sb {
int va;
struct sa vb;
};

int main(int argc, char *argv[])
{
struct sb mystruct = {0, 1, 2};
printf("%d\n", mystruct.va);
printf("%d\n", mystruct.vb.a);
printf("%d\n", mystruct.vb.b);
return 0;
}
>>
>>62125720
Qt, because I'm a Qt
>>
File: 1503799373209.jpg (231KB, 662x602px) Image search: [Google]
1503799373209.jpg
231KB, 662x602px
Rustlets - When will they ever learn?
>>
>>62125920
auto_ptr
>>
>>62126655
No, you need the braces.
Your compiler may accept that as an extension, though.
>>
>>62126788
What do mean by `extension`?
>>
>>62126048
>>didn't need to fuck around with build system bullshit like cmake
Agreed
>>didn't need to worry about library installation, compilation and versioning, cargo just takes care of that
Agreed
>>cargo has "build and run" built in, no need to write a script for my text editor
Agreed
>>autocomplete with racer works out of the box, no fucking around there
Clang-complete does that
>>tests are automated for you
Agreed
>>it even made a git project ready for me
You don't need this

Rust is a nice language overall. But C++ is way more mature.
>>
>>62126792
It means the compiler may accept something which does not conform to standard C.
An extension to the language.
>>
>>62126792
He means a non-standard feature of the compiler itself
>>
Are Code Academy intensive courses worth it for $199?
>>
>>62126816
No. Not at all.
>>
>>62126815
>>62126808
But if it is valid C89, why would they add an extension to make it semantically ambiguous?
>>
>>62126824
?
>>
>>62126833
>>62126833

Wait never mind, I misread the original answer.
>>
>>62126824
There are lots of reasons for compiler extensions.
For this one in particular, it's because C compilers typically try to compile code with their best effort, ignoring/accepting things which are technically errors.
With gcc, if you compile with -Wall, it'll tell you about it.
$ gcc test.c -Wall
test.c: In function ‘main’:
test.c:15:26: warning: missing braces around initializer [-Wmissing-braces]
struct sb mystruct = {0, 1, 2};
^
{ }
>>
File: zodiac.png (10KB, 626x210px) Image search: [Google]
zodiac.png
10KB, 626x210px
Working out examples out of the textbook. I want to turn this into an app. But before I do so

Theres got to be an easier way to do this right?

pls no bully
>>
>>62126857
Please tell me this is satire.
>>
>>62126857
Use the switch statement
>>
>>62126857
Jesus fucking christ
>>
>>62126859
>>62126867
You are not helping
>>
>>62126872
Be less retarded and use a more automated approach, i.e. let them computer do some mathematics on the date to figure out the zodiac animal.
>>
>>62126061
damn thought I had reached nirvana with the little assembly I learned, you're telling me there's more levels
>>
>>62126877
I'm not the questionnaire, I told him to use the switch statement
>>
>>62126857
le sigh, it seems like there are 12 zodiac years that repeat in the same sequence.
Use modulo.
>>
File: Z6XT0Cd.png (32KB, 500x483px) Image search: [Google]
Z6XT0Cd.png
32KB, 500x483px
>>62126859
>>62126864
>>62126867
>>62126887
>tfw to intellegent

thanks guys. pic is literally me in three years lmao
>>
/dpt/ UTTERLY BTFO
hahahaha how will they ever hope to recover?
https://www.seebs.net/c/c_tcn4e.html
>>
>>62126976
Did you read anything besides the title before you posted that?
>>
>>62127013
obviously /dpt/'s wellbeing hinges on the fact that there does not exist a single bad book on C
>>
>>62126859
>>62126867
>>62126864
>>62126887
Let's see any of you faggots do any better.
>>
>>62127038
Do your own homework.
>>
>>62127038
Post the full problem
>>
>>62127038
you really think im typing out all that shit?

string[] zodiac = {all that shit}
string you're-sign = zodiac[year%12];
>>
>>62127028
What are you even talking about?
There are plenty of crappy C books. The most notable these days is "Learn C the hard way".
>>
>>62127081
t. brainlet
>>
>>62127051
the textbook just says make a program that tells you your Chinese zodiac animal.
>>62127045
its for fun not hw
>>
>>62127109
you call this >>62126857
fun? looks more like pure suffering
>>
File: 1502705017195.jpg (53KB, 634x650px) Image search: [Google]
1502705017195.jpg
53KB, 634x650px
>>62127055
>string you're-sign
Fucking hell Pajeet.
>>
>>62127126
Well it works.

When I tried re ordering the array with Dragon(12) first and Rabbit (11) last then did year%12 it only works for a few cases.
>>
>>62127141
i added some bugs so rajeev would have to do some work to get the answer :^)
>>
>>62127148
patient: doctor it hurts when i do this
doctor: dont do that
>>
File: FBF.jpg (42KB, 640x480px) Image search: [Google]
FBF.jpg
42KB, 640x480px
>>62127159
lol i'll work on it some other time doctor its 3 am now

the only other thing I've thought of is to for loop{ add 12 to the year or subtract 12 from the year until it is between 2000-2012} then from there assign say 2001 to Snake
>>
>>62127081
I was making fun of >>62126976, who posted a link about a particular book on C being bad
>>
Are girls really that much worse than boys at programming? Are they at least even in webdev?
>>
>>62125667
ruby is way lower than hipster
>>
What do you think?

public class tuna {
private int hour;
private int minute;
private int second;

public tuna(){
this(0,0,0);
}
public tuna(int h){
this(h,0,0);
}
public tuna(int h, int m){
this(h,m,0);
}
public tuna(int h, int m, int s){
setTime(h,m,s);
}
public void setTime(int h, int m, int s){
setHour(h);
setMinute(m);
setSecond(s);
}
public void setHour(int h){
hour = ((h>=0 && h<24)?h:0);
}
public void setMinute(int m){
minute = ((m>=0 && m<60)?m:0);
}
public void setSecond(int s){
second = ((s>=0 && s<60)?s:0);
}
public int getHour(){
return hour;
}
public int getMinute(){
return minute;
}
public int getSecond(){
return second;
}
public String toMilitary(){
return String.format("%02d:%02d:%02d", getHour(), getMinute(), getSecond());
}
}
>>
>>62127193
can you actually just leave the damn array in the right order? if not use a 2d array
>>
>>62125822
Look into Jai. It's being developed by Jonathan Blow as a language specifically designed for the needs of a game dev. It's basically C with more modern features and some weird autistic shit.
>>
>>62127251
getters/setters are a meme
also this should be a struct
>>
>>62127251
I wish Java had default parameters/10
>>
>>62126857
<tt>String[] zodiac = {"Monkey","Rooster","Dog","Pig","Rat","Ox","Tiger","Rabbit","Dragon","Snake","Horse","Goat"}
String sign = String.format("your sign is: %s", zodiac[year%12]</tt>
>>
>>62127260
Kotlin is the saving grace of JVM langs.
>>
>>62127278
Kotlin is ugly as sin.
>>
>>62127261
>>62127148
>it doesnt work if i reorder the array
good try anyon but there is no saving this microbrain
>>
>>62127254
>some hobby compiler by someone with no PLT experience
>hasn't released the slightest prealpha years after the announcement
>no relevant game studio feeling any need to turn away from sepples
DOA
>>
>>62127261
></tt>
What did he mean by this?
#include <iostream>
#include <vector>
#include <string>
#include <cmath>
using namespace std;

int main(int argc, char** argv) {
const vector<string> animals{"Dragon", "Snake", "Horse", "Goat", "Monkey",
"Rooster", "Dog", "Pig", "Rat", "Ox",
"Tiger", "Rabbit", "Rabbit"};

// 2000 was a dragon
cout << "Your sign is " << animals[abs(2000 - stoi(argv[1])) % 12] << ".\n";
}
>>
suppose i have a C++ reverse iterator, and i erase the element it points to, invalidating the iterator.

since erasure doesnt necessitate a reallocation, this should mean that the new value of the iterator is no longer invalid, correct?
>>
>>62127345
Might as well use std::array if you declare it const.
>>
>>62127427
>Have to specify the size
Absolutely horrible. I know there's a way around it but I simply can't remember
>>
Are we all gonna post a solution to that one guy's easy problem to show that we can program in a language? He already has one, stop wasting time!!
>>
>>62127440
>needlessly allocating memory

okay
>>
>>62127440
>>62127427
hes right you know
>>
>>62127481
>He things arrays don't allocate memory
>>
>>62127511
stop embarrassing yourself
>>
>>62127251
>not throwing exceptions for invalid values
>>
>>62127530
>throwing exceptions
>>
>>62127518
>>62127511
>>
>>62127537
>stack and heap is the same
>>
>he self-identifies as a "hacker"
Go home, grandpa, you're drunk.
>>
What are the most Lain languages?
>>
>>62127560
Using the heap is safer in general. Furthermore there is almost no difference in performance between arrays and const vectors in O3
>>
I have a SQL database with an auto incrementing index.

Is there a way to pull that index and display it on a web page using PHP? I'm pretty much a total noob. I know I can pull that information up on phpmyadmin using:

Select MAX(column name) FROM table name

My end goal is set a variable equal to it so I can print it out with FPDF.
>>
>>62127575
The simplest way to do it is to use mysqli.
But please don't do this in production code. PHP + MySQLi is for learning, not actually making robust applications.
>>
>>62127562
Lisp
>>
>>62127568
>Furthermore there is almost no difference in performance between arrays and const vectors in O3

Show me what I'm doing wrong, Anon.
https://godbolt.org/g/RpuQzF
>>
>>62127575
find a tutorial on youtube or something, no one's going to explain step by step here, like get it together rajeev
>>
>>62127592
I dont see any reason why I couldnt use it for internal only small time stuff.

Also since you have a lot more knowledge than I do, "use mysqli" is not enough for me to work from.
>>
>>62127613
literally fuck off to google penis breath
>>
>>62127600
Why do you compare empty functions? Vectors have a non-trivial constructor so the compiler has to insert it even if the function is empty, in no sense this is an indication of the relative performance between arrays and vectors.
>>
>>62127604
I usually frequent /o/ and we help each other a lot over there. Maybe the culture is different on this board? I'm sorry you're so offended
>>
>>62127148
n%12 will never return 12, fren
>>
>>62127562
Lain programs in Common Lisp.
>>
>>62125837
What he said
>>
>>62127623
I don't understand why you are so offended
>>
>>62127636
hey m8 welcome to the wonderful world of programming, here we count from 0 not 1
>>
>>62127600
What is that link supposed to establish?
>>
>>62127649
sorry i get trigg'd easily
basically it would be a long explanation to do what you want and likely a lot of debugging afterward
for everyone's mental well being i strongly recommend finding a video tutorial
>>
File: 15006286503.jpg (163KB, 1024x768px) Image search: [Google]
15006286503.jpg
163KB, 1024x768px
PROGRAMMING CHALLENGE

Make a £sd calculator. It must be able to add, subtract in £sd, multiply and divide by decimal fractions. Lowest coin is farthing.

So far, we have a solution in APL and J!
What other languages will present /g/ later?
>>
>>62127670
To my understanding my issue is that when I run a mysqli query it's returning it as an array. Since I'm wanting the result to be a variable, it's causing issues. (obviously its not something that you can just type cast and fix)

I was just wondering if there was an easy way to force the array into a variable since I know I'm only going to get a single value returned.

pretty much all of my programming knowledge is c++ and assembly so I'm really out of my element.
>>
>>62125667
trying to decide how to tell my employer that I identify as a little, and need work to be a safe space for me including staff to change my nappy
>>
>>62127706
mysqli_query returns a result object. Then you repeatedly call mysqli_fetch_assoc to get each row of the result as an array.
>>
>>62127672
Here's a program in a language I designed.
Make a £sd calculator. It must be able to add, subtract in £sd, multiply and divide by decimal fractions. Lowest coin is farthing.
>>
File: faggpt.jpg (958KB, 1920x1080px) Image search: [Google]
faggpt.jpg
958KB, 1920x1080px
>>62125667
>php
>professional tier

nice meme
>>
>>62127800
hmu with that compiler nuglet
>>
>>62127856
You should already have a compiler.
>>
>>62127874
i dont have one that compiles homework requirements into working programs
>>
>>62127672
i dont speak bong, describe your requirements in american pls
>>
>>62127881
I guess you don't.
>>
File: 1503882284711.jpg (178KB, 634x640px) Image search: [Google]
1503882284711.jpg
178KB, 634x640px
Which programmer wojaks are missing?
>>
>>62127652
Welcome to the wonderful world of mathematics, where the multiplicative group of integers modulo n never contains n.
>>
>>62128073
a) the modulo in mathematics doesn't work the same way as the on in programming
b) yes hello, you just stated the same thing as before but with more words, do you have an argument or nah
>>
>>62125667
>that image
Good God I hope you're trolling.
/g/ is hopeless at programming. Hopeless.
>>
>>62128133
Modulo in mathematics works the same in most programming languages.
>>
>>62128133
If you define the modulo operator as taking the remainder of integer division then for positive integers it works just the same as in mathematics. There are sometimes some quirks when going into negatives, though.
My point is that there is a mathematical reason for it to go from 0, it is not just hardware caused programming thing.
>>
pros/cons of using multiple languages in a project?
>>
>>62125667
Doing this shitty Scala parser assignment.... can anyone explain what in the fuck '~' '~>' '<~' do?
>>
>>62127251
there's a couple code smells in there m8, but otherwise fine.

I've a beef too with this thing of giving classes nonsensical names. A key concept in OO dev is to maintain useful abstractions, in order to reduce complexity. So in other words, call this 'time' or whatever rather than fucking 'tuna'. But that doesn't really matter I guess nutil you're working in the field
>>
>>62128190
i don't disagree
i gave an example of using a modulo in an array index which is perfectly valid and some numbnuts comes along and says i'll never get a 12 using that method, when if i did get a 12 i'd have an index out of bounds exception
>>
Any professional Pythonistas here? I want to do

for x, y, pixel in enumerate(image):
pass

instead of current
for x in range(image.width):
for y in range(image.height):
pixel = image[x][y] # __getitem__ is overriden
pass


I can already do this:
for pixel in image:
pass

because I've overriden
__iter__
.
>>
>>62128195
pros
>can you multiple languages
>some specific libraries might exists just for one language
cons
>depending on how you do it you might have to write lot of wrapper code and go trough the hell of linking libraries
>building project might become more complex
>>
>>62128195
>cons
general complexity
serialization layer/communication layer
between components
finding maintainers with both languages


>pros
different langs are suited to different things
education

Generally speaking, do the least complex thing possible if you want to actually get to the finish line
>>
>>62128239
>>62128280
>building
>linking
None of these are valid when you use the language for separate tasks, but not separate enough to put them into different projects. Like I use Python to generate resources for a game engine, and C for the game and the engine. I plan to add Lua bindings for the engine, so in the future games will be in 3 languages.
>>
>>62128306
Also, if you count make (~200 lines), then make it four.
>>
>>62128306
>Like I use Python to generate resources for a game engine
Only at build time? If so, you wouldn't really call your game "in python". It would just be assisting in building it, like make is.
>>
>>62128338
Yes, only at build time. But it's still inseparable part of the project, it's designed to generate levels for a specific game, there's no way you can use it standalone, except maybe the two little libraries I wrote for the script.
>>
I wrote this.
#include <math.h>
#include <stdio.h>

double gauss(double x, double s) {
return (1 / sqrt(2 * M_PI * s * s)) * exp(-(x * x) / (2 * s * s));
}

void gausstable(double *t, unsigned n, double s) {
for (unsigned i = 0; i < n; ++i) {
double x = i - 0.5 * (n - 1);
t[i] = gauss(x, s);
}
}

double trapz(const double *y, double dx, unsigned n) {
double s = 0;
if (n >= 1) {
for (unsigned i = 0; i < n - 1; ++i) {
double y1 = y[i], y2 = y[i + 1];
s += dx * (y1 + (y2 - y1) / 2);
}
}
return s;
}

double simps(const double *y, double dx, unsigned n) {
double s = 0;
unsigned i = 0;
if (n >= 2) {
for (; i < n - 2; i += 2) {
double ya = y[i], ym = y[i + 1], yb = y[i + 2];
s += (dx / 3) * (ya + 4 * ym + yb);
}
}
if (n >= 1 && i < n - 1) {
double y1 = y[i], y2 = y[i + 1], dy = y2 - y1;
s += dx * (y1 + dy / 2);
}
return s;
}

int main() {
const double sigma = 1.0;
for (unsigned n = 1; n <= 100; ++n) {
double *t = new double[n];
gausstable(t, n, sigma);
double int_t = trapz(t, 1, n), int_s = simps(t, 1, n);
printf("%u: %.12f (trapz) %.12f (simps)\n", n, int_t, int_s);
delete[] t;
}
return 0;
}
>>
>>62125667
I've written a YouTube downloader that dumps all videos from the specified channels and stores their useful metadata in a local database
see dumptube on GitHub
>>
In C, when do you use short over int?
>>
>>62128652
When you're writing for some microcontroller and you want to save every byte possible by sacrificing range.
There are also some edge cases with various data stuctures if you want to be hyperefficient and do shit like cast data directly onto struct.
>>
File: questin.png (183KB, 386x406px) Image search: [Google]
questin.png
183KB, 386x406px
>>62128670
>cast data directly onto struct.
What is that? Is that casting an array of data into a struct or something?

Is it also true the casting void * has a performance cost? I hear this shit spouted all the time but I don't believe it because it doesn't seem to make sense.
>>
>>62128698
>Is it also true the casting void * has a performance cost?
what cost would it have?
>>
>>62128652
Never, you should always use int where possible.
>>
>>62128719
Yeah, I dunno, that's why I ask. I hear people say this but it doesn't make sense whatsoever.

>>62128723
Why though?
>>
>>62128698
casts are for the compiler, it shouldn't affect perfomance, except maybe c++ dynamic_cast
>>
>>62128726
Because an architecture handles its' native word size most efficiently. It's not worth saving a couple of bytes over.
>>
>>62128772
Then why does short exist?
>>
>tfw kinda feel like writing something
>no idea what

sucks, just want to pad my github with random shit
>>
>>62128698
Suppose you receive a bunch of bytes from a TCP/IP packet, instead of manually assigning each field you can do something like
struct packet
{
int f1;
char f2[20];
short f3;
char flag;
};

...
int offset = 0x1F;
void *data = recv();
packet p = (packet)(*(data+offset));
...


I don't know of any void* performance cost, you can always cast from char* as it's virtually the same anyway.
>>
File: programming-hierarchy.jpg (52KB, 500x1105px) Image search: [Google]
programming-hierarchy.jpg
52KB, 500x1105px
>>62125667
>>62125837
>>62126428
>>
>>62128807
You should cast it to char * as pointer arithmetic with void * is undefined.
>>
>>62128652
Needing to use short is pretty rare.
Occasionally, a 16-bit data type is useful (raw audio data, for example), but you would probably use int16_t instead of using short directly.

>>62128783
For representing at least 16-bit integers (maybe more, but it's unlikely).
>>
>>62128783
Because C isn't used exclusively on x86 (or x64) architecture.
>>
הַשְׂכֵּל [hˈaskə͡l] is a popular Jewish name, it means "wisdom". Ironically, the Haskell programming language was named after this Hebrew word.
>>
>>62128807
I don't believe you can do that. Aren't you dereferencing a void pointer? You're also forgetting to write
struct packet
and doing arithmetic on a void pointer.
>>
>>62128827
Right, my mistake.
>>
>>62128830
What has this got to do with the short data type?
>>
>>62128783
Because the language is almost 50 years old and bytes were a precious resource once upon a time, and still are in some very low resource embedded systems. In most cases today you will not be counting individual bytes, however. If you have to ask "should I use short or int" the answer is int.
>>
>>62128844
I screwed up the syntax pretty bad, actually. Been a while since I coded in C.
char* data = recv();
struct packet p = *((struct packet*)(data+offset));

Should work fine.
>>
>>62128861
That really does not make any sense since the standard defines that the shorts and ints are at least 16 bits in size.
>>
>>62128849
For representing short integers, obviously.
When doing arithmetic, it makes no difference (because of integer promotions), but there may still be good reasons to use arrays of shorts or use them as struct members, because they take up less memory.

>>62128861
You're stupid. Even modern languages still have a int16 type, because they're still fucking useful.
I'm not going to waste literally twice the memory for storing audio samples and have to go though all of the retardation of converting it because "shorts aren't needed".
>>
>>62128493
>I wrote this.
Your gauss table has a misleading name, since you might think it's the normal table. Your gauss-function works only for 0-mean. You might want to add a default parameter instead. I would also make the gausstable function to return a new array, instead of editing one supplied as a parameter, but I guess it's preference.
>>
>>62128652
Let me give you an example. I'm programming a minecraft-like game from scratch. Each chunk is 16x16x256 blocks.
ID types for each block compared with overall memory usage, for a 33x33 chunk area:
uint8_t( unsigned char ): 68 MiB
uint16_t( unsigned short ): 136 MiB
uint32_t( unsigned int ): 272 MiB

You use short when you don't want to throw away all that memory, and values greater than what a short supports aren't needed.
>>
>>62128878
C does have 1 more data type than is "needed", but it was the intention that 'int' was supposed to be the "natural" type which you would use most of the time, and gave the implementation options for what to define it as.
Also, when they standardised a 64-bit type in C99, they couldn't break existing ABIs and redefine long to be 64-bits, so they had to make a new type.
>>
>>62128839
>[hˈaskə͡l] is a popular Jewish name, it means "wisdom". Ironically, the Haskell programming language was named after this Hebrew word.
The name Haskel is a yiddish derivation of the name Ezekiel and has nothing to do with the norse name Haskell
https://www.behindthename.com/name/ezekiel
>>
When should I use const for an argument to a function in C?
>>
>>62128916
> Also, when they standardised a 64-bit type in C99, they couldn't break existing ABIs and redefine long to be 64-bits, so they had to make a new type.
Long is defined in the standard as any type larger than 32bits, 64-bit Windows define it as 64-bit for example.
>>
>>62128953
const is useless in C, so don't even bother.
>>
>>62125772
No thanks Id rather live the war veteran life on the street
>>
>>62128916
This is wrong, the size of long is implementation-defined and at least 32-bit. long is already 64-bit in many LP64 systems, such as linux.
>>
>>62128957
>Long is defined in the standard as any type larger than 32bits
That's my point. They couldn't change that, but they still wanted a 64-bit type.
>64-bit Windows define it as 64-bit for example
Actually, it's 32-bits. Linux/MacOS/*BSD and all that have long as 64-bits.

>>62128953
Whenever you have a pointer that you don't need to modify.
There is not much point in applying it to values, though.
void myfn1(const int a); // pointless
void myfn2(const int *a); // Useful


>>62128958
You're stupid.
>>
>>62128958
How so? Why is the standard library quick sort algorithm defined like so?
qsort(void *base, size_t n, size_t size, int (*cmp)(const void *, const void *));
>>
PSYC 4410: Obsessions of the Programmer Mind
Identify and understand tangential topics that software developers frequently fixate on: code formatting, taxonomy, type systems, splitting projects into too many files. Includes detailed study of knee-jerk criticism when exposed to unfamiliar systems.
>>
>>62128980
I said that they COULDN'T change long from being 32 bits, hence why long long was made.
That was my entire point.
>>
File: 19748717.jpg (46KB, 545x960px) Image search: [Google]
19748717.jpg
46KB, 545x960px
What is an extern constant static variadic virtual friendship anonymous function?
>>
File: tfw no gf or job.jpg (54KB, 474x535px) Image search: [Google]
tfw no gf or job.jpg
54KB, 474x535px
>>62128960
If you're an independent game programmer, you can be both
>>
>>62128957
Wrong, 64-bit Windows is LLP64, not LP64. Their long is 32-bit.
>>
>>62125667
Refactored my lib from procedural+OOP to pure OOP
>>
>>62128987
Javafag here can anyone explain what the holy fuck is going on in that line
>>
>>62128817
>no CSS developers
>>
>>62129000
It's a function declaration.
>>
>>62129000
this is what a language without generics looks like
>>
>>62129000
>He can't even read simple C declarations
Get good.
>>
How do I start with Assembly?

No, I can search my own learning material..

But how do I set it up on Linux?
Is "x86 Assembly" my best option?
And which tools to use (are there emulators or IDEs)?
>>
>>62129000
It declares a function that accepts 4 arguments, the first is a pointer to some unknown type of data, the 2nd one is offset of the beginning of data, 3rd one is the size of data, and 4th one is a pointer to a function that returns an int and accepts 2 pointers and doesn't modify whatever they're pointing to.
>>
>>62128953
Passing strings as arguments.
>>
>>62129009
>without generics
void *, it's right there
>>
When should I use unsigned in C?
>>
>>62129047
When you need an unsigned integer.
>>
>>62129028
Just use nasm for all your assembly needs. Assuming you're writing from a desktop then x86 assembly is your only option unless you cross compile.
There are no IDEs I know of, just use gedit or emacs or vim, whatever.
>>
>>62129038
void* a shit
>>
>>62129055
Which is when? Like, do I use unsigned integer when I want to get the sum of something? That seems kinda bad because when you want to sum it with another data type like an int you might overflow or something.
>>
>>62128891
Fair remarks, actually my goal is to use the gaussian as a convolution kernel, that's why I am only interested in the functions centered at 0.
I implement a few functions to complete my math library for signal processing. I keep the memory allocations at minimum in the library for realtime use cases, though it's true this particular function would be best precomputed and interpolated rather than computed on the fly.
>>
>>62129078
It gets the job done.
>>
>>62129079
Unsigned means that it's not signed, i.e., it doesn't have - or +. It's the absolute value.
>>
>>62129038
void* does not reduce any boilerplate at all
>>
>>62129083
char* used to get the job done too.
>>
>>62129096
Of course it does. Otherwise you'd have to copy/paste whole functions.
>>
>>62129079
unsigned integers are useful for
- Array indices and other offsets (negative usually doesn't make sense) (use size_t)
- When you want overflowing arithmetic (signed overflow is undefined in C)
- When dealing with any value that doesn't make sense to be negative
>>
>>62129107
void * lends itself to it better.
Pointer arithmetic is undefined, automatic conversions, self-documenting.
>>
>>62129079
Well, you don't sum it up with another type then. You're the programmer, you're making the choices.
>>
>>62129079
You may always overflow a data type, no matter what it is. You can even overflow those fancy managed Javafag types that extend themselves, but you might need to put in some effort.
Unsigned int is best used when you're sure you don't want to go into the negatives or when you need the full range of 32 bits. Representing colors (RGBA or any other 4 byte variant) works well with u_ints, for example.
>>
>>62129129
automatic conversions are evil.
>self documenting
It's a mistake to try to use C's type system to document anything.
>>
>>62129148
Nah, newer languages have just been holding your hand too much.
>>
In C, it is impossible to get the absolute value of char, short, int, long and long long in a cross-platform way. That's another reason for why you should always use intN_t and uintN_t types instead.
>>
>>62129174
Because being able to finish a project in a reasonable time frame with readable code is shit tier programming.
>>
>>62129174
Newer languages have stronger type systems for better self documentation and, in many cases, better utilities for defining automatic conversions.
Try again.
>>
>>62129032
>pointer to a function
subtle joke?
>>
>>62129148
>automatic conversions are evil.
The way that void pointers are used, automatic conversions are completely fine.
It's almost always something like
int *ptr = malloc(sizeof(*ptr));

struct priv *p = whatever;
thing_set_userdata(thing, p);
...
struct priv *p = thing_get_userdata(thing);

void apply(void *arg, void fn(void *));
void my_func(void *arg) {
struct priv *p = arg;
}
...
apply(arg, my_func);

Extra casting and shit doesn't add any extra useful information or safety here.
>>
>>62129196
Must be very subtle
>>
I recently discovered in C++11 it was possible to somewhat "disable" implicit conversions for some function arguments.
void foo(int x);
template <class T> void foo(T) = delete;

foo(3); // compiles
foo(3.14); // nope
>>
We could have chosen ML
C was a mistake
C++, Java are unstoppable
It didn't have to be like this
>>
>>62129181
Is this true?
>>
>>62129226
ML was a mistake.
>>
>>62129226
C works really fine where it's supposed to be used. Try writing for an ARM in Java.
>>
>>62129181
>char, short, int, long and long long in a cross-platform way
Sure you can. You can test -INT_MAX to INT_MIN to see if it's twos compliment, and make extra checks for INT_MIN.
>intN_t
Not guaranteed to exist.
>uintN_t
Taking the absolute value of an unsigned number is pointless.
>>
>>62129250
it sucks but it's also the least bad of all options
>>
>>62128839

"Haskell" comes from the ancient Hebrew word "Shekel".
Quite ironic, since Haskell is not used in industry after all..
>>
>>62129206
Aren't you supposed to declare the template above the funxtion
>>
>>62129264
it's overloaded, anon.
>>
>>62129260
What if INT_MIN is -321654635 and INT_MAX is only 999999?
>>
>>62129262
The real money is in monetizing academia, didn't you know?
>>
>>62129267
The standard forbids that. It specifies that it's either going to be sign+magnitude, ones compliment or twos compliment.
>>
File: 2017-08-08-202628_1366x768_scrot.png (139KB, 1366x768px) Image search: [Google]
2017-08-08-202628_1366x768_scrot.png
139KB, 1366x768px
>>62129278
Except it doesn't?
>>
>>62129267
That'd be such a weird platform I wouldn't bother developing for it anyway.
>>
File: DHzdFYEWsAAtRn1.jpg (6KB, 319x132px) Image search: [Google]
DHzdFYEWsAAtRn1.jpg
6KB, 319x132px
To all C-fags itt, what does this code return?
>>
>>62129267
yeah and what if the platform thinks that 102 is invalid value and will just chrash?
You can go full retard but you should do it at >>>/b/
>>
7 years and /dpt/ hasn't moved on from its Fizzbuzz and Hackerrank puzzles.

LMAO all of you are laughingstock of the programming community
>>
>>62129289
3
also undeclared parameter list, bad form
>>
>>62129294
>/dpt
>community
dumb reddit poster
>>
>>62125755
Yeah c++ rapes c# for game engines. If I wanted Microsoft garbage I'd use c# unity
>>
>>62129292
That's *not* allowed by the standard since the types have to be capable of holding *any* value in the specified range. Maybe you should read the standard?
>>
>>62129283
>>62129292
There's nothing wrong with it according to the standard tho.
>>
>>62129289
That's undefined behaviour.
>>
>>62125961
>Wrong, it's a deliberate stylistic decision. My game will be story-heavy so to allow full emotional connection the uncanny valley must be avoided at all costs
I thought you were coding a Streets of Rage sort of thing, but no you had to be a faggot.
>>
>>62129294
>laughingstock of the programming community
I don't think the programming community even thinks about us (or even knows we exist).
>>
>>62129323
>the programming community
What's that?
>>
>>62129289
gcc throws a warning that it might be undefined, compiles and returns 4, which makes sense.
Parentheses get executed first, assigning 1, then 2 to x, then x gets added to itself, giving 4
>>
>>62129283
So you're developing for x86/x64/IA/SPARC/PowerPC but for some reason still refuse to use intN_t even if you assume that char is int8_t, short is int16_t and so on?

>>62129260
>not guaranteed to exist
Where?
>>
>>62129282
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
6.2.6.2 Integer types
Second paragraph
On page 46
>>
File: c.png (50KB, 538x246px) Image search: [Google]
c.png
50KB, 538x246px
>>62129296
>>62129309
>>62129332
>>
>>62129332
But operations are executed from right to left
>>
>>62128306
a game engine is a good example of where different languages are suitable imho
>>
>>62129341
>The smallest undefined C program
That would be an empty file.
>>
>>62129365
That's not a C program.
>>
>>62125914
You're the reason why the Golden age of gaming is long gone
>>
>>62129365
It has to define the main symbol, so the shortest undefined program is
main;
>>
>>62129371
Sure it is. It's just not a valid one.
>>
>>62129380
>Golden age of gaming
That's called childhood you retard
>>
>>62129386
>It has to define the main symbol
Freestanding C doesn't need this.
>>
>>62129335
>Where?
Go read the standard. You'll actually see that int32_t and all that isn't actually defined anywhere.
>>
>>62129337
I stand corrected.

>>62129393
>>62129386
Could anyone cite the standard on this, namely "what is a C program"?
n1570.pdf preferably
>>
>>62129371
As long as it has the .c extension in the file system it is a C file, and therefore can be understood by a compiler.
>>
>>62129408
the compiler doesn't care about the file name.
>>
>>62129408
>his filesystem has extensions
>>
>>62129408
So the compiler compilers something else that's not C.

C is the language defined by the ISO standard, not what compiler does.
>>
File: 1240467477213.jpg (66KB, 599x605px) Image search: [Google]
1240467477213.jpg
66KB, 599x605px
>>62129341
>>62129289
I don't get why GCC returns 4. I mean, even right-to-left, left-to-right etc, should not (x = 1) assign 1 to x and evaluate to 1, and (x = 2) assign 2 to x and evaluate to 2, returning 1 + 2?
>>
>>62129422
>English is the language defined by dictionaries, not what people speak.
>>
>>62129429
1 is assigned to x
2 is assigned to x
x is added to x
>>
>>62129429
The assignments modify the value of x in the memory, so the second assignment's value stands. Then it sums them together and you get 4.
>>
>>62129438
>english is standardized programming language
>>
File: Screenshot_2.png (10KB, 532x173px) Image search: [Google]
Screenshot_2.png
10KB, 532x173px
>>62129360
Not quite, disassembly shows that it happens just like I said. This is compiled by gcc, of course.
As a side note, with -O3 that code gets shortened to just mov %eax, 0x04.
>>
>>62129429
There's no why. It's undefined behaviour. GCC can return a segfault if it wants.

>>62129438
dats rite
>>
File: tmp_30782-image(4)-825662392.jpg (4KB, 300x57px) Image search: [Google]
tmp_30782-image(4)-825662392.jpg
4KB, 300x57px
>>62129429
At first you assign x = 1.
Next, you assign x = 2.
At last, you perform x + x, which is 4.
>>
>>62129438
That's an extremely poor example. English is not standardised and nobody claims to be a standard.
>>
>>62129438
Most languages are indeed standardized nowadays.
>>
>>62129448
>There's no why.
Look at this free-will fag.
>>
>>62129459
If by "most" you mean less than half.
>>
>>62129495
The languages that matter,
https://en.wikipedia.org/wiki/List_of_language_regulators
English doesn't matter, by the way.
>>
>>62129495
>>62129459
Really, the only languages that ever got ISO standards are ones from the 80s and earlier, with a few exceptions.
>>
New thread:

>>62129509
>>62129509
>>62129509
>>
>>62125851
But it is cross platform. It's just like Java except way better.
>>
>>62129514
They mean natural languages.
>>
>>62129440
>>62129455
But why does it perform x + x and not 1 + 2? Isn't the value of `x = a` defined as a, and not as "whatever x holds at the time you came back to it"?
>>
File: 1475096454540.jpg (46KB, 371x348px) Image search: [Google]
1475096454540.jpg
46KB, 371x348px
>>62129440
>>62129443
So the assignment evaluates to the lvalue, not the rvalue? That's kinda weird, but ok.
>>
>>62129534
It's undefined behaviour; stop trying to make sense of it.
>>
File: assigment.png (40KB, 559x399px) Image search: [Google]
assigment.png
40KB, 559x399px
>>62129539
Only the order of execution is undefined, x = a has a perfectly defined value, but it's x and not a. TIL.
>>
>>62125708
use python sanic framework
>>
>>62129537
No. The assignment is a function that modifies the parameter, in this case at least. The first function modifies it to 1, and the second function modifies it to 2. Then the final function is evaluated, which is the sum. It now sees 2 + 2, since there's only one value for x.
>>
why do we discuss this trivial shit, who cares
>>
>>62125772
I am a game dev and i use C# with Unity, only large AAA game studios and autistic engine dev retards would use c++ for game dev
>>
>>62129065

Awsome, thanks!

I just did "sudo apt-get nasm", opened a text file, copied a small "hello world" program from the internet and it worked like a charm..
I never thought it would be so easy.

Assembly, here I come!
>>
>>62130040
>only large AAA game studios and autistic engine dev retards
so... people who stand a chance at actually knowing what they're doing?
unity is garbage and it puts out games that run like shit for no good reason. and no, not just because the people who use it are woefully inexperienced
>>
test
Thread posts: 328
Thread images: 30


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