[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: 330
Thread images: 36

File: java.png (20KB, 577x292px) Image search: [Google]
java.png
20KB, 577x292px
Old thread: >>55725065

What are you working on, /g/?
>>
First for OOP

is shit
>>
When will people realize that C cannot be topped? I feel bad for people who started learning OOP, you've ruined yourselves.
>>
>>55734015
Learn your Design Patterns, friend.
>>
>>55734055
>needing to be told how to program
>taking bad advice
>>
>>55732979
* Keep your code to one file until you see a good reason not to keep it in one file. This includes include files like C-header files vs C-code files. (start writing your code in a header file)
* Don't make functions for things until you see significant reuse.
* Keep yourself constrained to a set of language features you feel comfortable with.
* Don't bother with thinking too much about the larger systems until you've written a simple implementation of what you're trying to do. Because when you've written a simple implementation you can predict what the larger constructs should be much easier or at least you know the task well enough to complete it properly.
* Never listen to people who have 'programming paradigms'. Nobody worth listening to refers to their programming paradigm as such because they rarely consider it a programming paradigm. It's just how they write code, you can judge them on their performance in software development. Someone that has written software that functions well in the areas you care about is someone you should look to. But if they're talking about a paradigm they're probably not talking about how they write code.
Not even OOP people actually follow OOP. Simply because OOP is insane, they're really multi-paradigm programmers who claim they're OOP programmers.
For instance.
>>55734049
>C cannot be topped
Bullshit.
>>
File: 1468521957025.jpg (19KB, 583x429px) Image search: [Google]
1468521957025.jpg
19KB, 583x429px
is there a definitive guide to Qt?

its the first gui library i'm learning
>>
>>55734055
Design patterns are meme campfire dances, you have to perform every 2 lines of code that you aren't sacrificing your poo to the JVM god.
>>
https://www.evonide.com/how-we-broke-php-hacked-pornhub-and-earned-20000-dollar/

Good read. Did the /cyber/ general threads die already? Goddamn it /g/.
>>
>>55734151
>hacking websites
Boring.
>>
>>55734088

QT is a meme. I don't want an entire framework with "emulated design" to create simple forms.

Native look and feel 4 the win
>>
>>55734181
QT is great. KDE is great.

You're just a butthurt script faggot who can't understand real software engineering.
>>
>>55734075
Name one language better than C.
>>
>>55734240
C++
>>
>>55734240
>that has to exist right now
No. But C obviously has issues. A language that's essentially a version of C with issues fixed would be superior.
>>55734259
Fuck you.
>>
File: 1466559848718.png (85KB, 469x428px) Image search: [Google]
1466559848718.png
85KB, 469x428px
>tfw have lots of projects but can't decide on a good github name
>>
>>55734240
D, Rust, Go and many others are obvious improvements of old little C
>>
>>55734289
indecisive_phaggot
>>
>>55734259
>just fuck my shit up language
>better
>>
File: dpt.png (351KB, 829x1400px)
dpt.png
351KB, 829x1400px
>>55733966
i know this isnt /dpt/ related, but previous thread image was cute, so i decided to lineart it: https://youtu.be/daAgKIxmOnM
>>
>>55734238

> "real software engineering": Download an entire 3GB clobbered garbage without native look and feel, with licensing problem, without static link, with MOC and without real multiplatform to create forms...

KYS
>>
>>55734296
>rust
>go
>>
>>55734296
Is today opposite day?
>>
>>55734330
>go
>fuck
>yourself
>>
>language without generics
literally why
>>
>>55734289
AssailantLF
>>
>>55734328
>without real multiplatform to create forms...
what the fuck are you talking about? it runs on everything
>>
>>55734238
Write your own GUI library anon. It's not that hard. Most OS'es let you get very close quickly.
And you can make it more suited to you than any other.
>>
>>55734465
QT works fine for my hobby projects. It's quick and easy to learn and use with all it's available features.
>>
>>55734529
Good. Then can you help me?
I'm doing qtpy (shame it's actually called PyQt) and here's a single connect i made:
QtCore.QObject.connect(self.ui.Button1,QtCore.SIGNAL("clicked()"), self.move1)

Right now I have one of these for every button, 1-9, which is fine. But I have to call 9 different functions to effectively distinguish which button was pressed. Each move# function is just a copy of the function which calls another function with slightly different parameters.

What I'd like to do is have the button press pass an argument which tells me which button was pressed. That or really any information which I can use to distinguish which button was pressed.

Basically
QtCore.QObject.connect(self.ui.Button1,QtCore.SIGNAL("clicked()"), self.move('button1'))

Or something to that effect.
>>
File: foods.webm (3MB, 640x360px) Image search: [Google]
foods.webm
3MB, 640x360px
/dpt/-chan, daisuki~

Ask your much beloved programming literate anything (IAMA)

>>55734098
Design patterns are interface abstraction techniques, A few of them are an absolute must know for anyone willing to be a effective programmer.
>>
This is an official code sample in the Android documentation. This is ACTUALLY how they would have you write SQLite code.
>>
>>55734614
nothing wrong wit that
>>
>>55734603
When will Prelude be fixed?
>>
>>55734614
PHP dev here, I write all my SQL similarly
>>
Why is programming so difficult? I started with Java programming and now I find programming very confusing and it makes no sense!
>>
>>55734240
Haskell
>>
>>55734749
explain why
>>
>>55734776
Far more expressive, much nicer, better at containing effects, etc
>>
>>55734614
>he doesn't know how ORMs work under the hood
>>
>>55734748
You just aren't cut it for it. If you didn't start while you were 13 and dedicate hours to it, you're not gonna get anywhere. The average programmer loves programming for fun and getting paid is just a nice bonus. You aren't gonna make it against them.
>>
File: 1467489013747.jpg (36KB, 704x528px)
1467489013747.jpg
36KB, 704x528px
>>55734614
That's absolutely disgusting
>>
Why do programmers usually have fucked up day-night cycles?
>>
>>55734834
Sounds like a baseless assumption.
>>
>>55734327
>Girl
>>
in java should you use this.*attribute* everytime even if its not required? My online course instructs you to but it seems a tad autistic
>>
>>55734614
I never seen a good use of embedded SQL in any language, I've seen better but this is not particularly bad.
Is there a better way to handle queries?
>>
Why doesn't Haskell's Rose Tree derive Generic?

>>55734834
That's just you, dumb frogposter
>>
Can any haskellfag explain to me what is the haskell concurrency model and what makes it better than Go Channels, Python's gevent or Akka Actors?
>>
>>55733966
Reading "Purely Functional Data Structures" and implementing the algorithms in Scheme as I go.
>>
>>55734901
https://hackage.haskell.org/package/base-4.9.0.0/docs/Control-Concurrent.html
>>
>>55734327
Maybe I'm misunderstanding this tool but why aren't you using something that generates vector art instead?
So you get actual abstract lines you can configure rather than pixels.

Something like GIMP's path. Lets you stroke using any brush or whatever and could be made to do much more.
>>
>>55734635
>>55734698
>>55734878
How is it better than just, you know, writing the SQL? Like pic related?

>>55734794
I've never used an ORM that gave me more benefit than grief.
>>
Any DSP coders around?

Can you explain how to code a simple reverb?
From what I understand you have to simulate sound waves bouncing off walls which absorb certain frequencies. So would a simple lowpass filter be good for that?
>>
>>55734901
Also see
https://hackage.haskell.org/package/base-4.9.0.0/docs/Control-Concurrent-MVar.html
>>
File: 1452031518869.jpg (23KB, 446x362px)
1452031518869.jpg
23KB, 446x362px
>>55734875
pls halp
>>
>>55734933
>Typically Haskell threads are an order of magnitude or two more efficient (in terms of both time and space) than operating system threads.
So it's shit?

>>55734982
Seems very hacky.
>>
Validate if a given string is numeric.

Some examples:
"0" => true
" 0.1 " => true
"abc" => false
"1 a" => false
"2e10" => true

How you do this?
>>
>>55735072
Language?
>>
>>55735055
>hacky
how?

>os threads
you can use forkOS if you want to

plus you can always use FFI
>>
>>55735079
I am trying to do this in Java and I am confused.
>>
File: 1469383012.png (149KB, 600x1242px)
1469383012.png
149KB, 600x1242px
ah yes the C programming language
>>
>>55735072
try {
Integer.parseInt(string);
return true;
} catch (Exception ex) {
return false;
}
wont work for the last one though
>>
>>55735101
Sorry, not interested.
>>
>>55735089
>how?
Seems like I should care about writing thread safe code, which I don't want to.
>>
>>55735107
yes I am having problem trying to figure out how to include the last
2e10
>>
File: 1468722419400.png (571KB, 497x481px)
1468722419400.png
571KB, 497x481px
>>55735106
>this is perfectly fine
>this is not a C problem
>>
>>55735072
write a regex
>>
>>55735115
What are you doing that you don't care about thread safety?
>>
>>55735072
use BigInt
>>
>>55735121
for(char c; string) {
if(!("0123456789.e".contains(String.valueof(c)))){
return false;
}
}
return true;

Once again not perfect since something like eee... would be allowed
checking for that would be way more difficult
>>
>>55735141
You should rarely write thread safe code. It's totally inefficient.
>>
>>55735072
isNaN(Number(x))
>>
>>55735170
Why would you write code that might not do what you want it to?
>>
>>55735170
Why would I want to program for concurrency when the language should care about it for me?
>>
>>55735182
It's the responsibility of the caller, not of the called. Learn to write efficient code kiddo. You're a fucking noob.
>>
>>55735203
What the fuck?

int add(int a, int b) {
if (!rand()) exit();
// sometimes speeds up the program
return a + b;
}
>>
>>55735072
easy
>>
File: 1460411329490.jpg (230KB, 640x960px)
1460411329490.jpg
230KB, 640x960px
>>55735259
>it's not my responsibility
>learn to code kiddo
>fucking noob
>we're not on the same level
>>
>>55735170
>it's totally inefficient
This is incorrect.

Of course there's a performance overhead -- but this overhead is small in comparison to the performance increases in a multithreaded environment. Persistent data structures have a set of unique advantages when compared to ephemeral data structures, and when implemented correctly only result in a constant overhead and are asymptotically as good.
>>
>>55735178
!isNaN(Number(x))

replace the x
Actually
>>
>>55735320
bla bla bla
It's summer, code monkeys think they are allowed to speak.
>>
>>55735170
>Writing non thread safe code when virtually no single core CPUs exist
>efficient
>>
>>55735336
t. pajeet
>>
>thread safe code is slow
???
Thread safe code =/= just wrapping everything with mutexes
>>
>>55735370
Have you never written performant code?
Mutexes slow you down considerably, and if you're sharing one atomic operation between 4 or more threads, it slows to a fucking crawl and you might as well make it single-threaded.
>>
>>55735394
>Thread safe code =/= just wrapping everything with mutexes
>>
>>55735394
Did you not read his post
>>
>>55735394
>Thread safe code =/= just wrapping everything with mutexes
>>
>>55735422
>>55735408
>>55735399
samefaggot
>>
Pajeet here y u make fun of me =(
>>
>>55735170
hadooop
>>
>>55735428
all me
>>
>>55734327
Good job, i like it. Also, this >>55734941
>>
If you need to share mutable shit between threads except in a couple choice locations that can be micro-optimized with lockless programming, you're probably doing it wrong.
>>
>>55733924

bitmap
>>
I wanna start learning C, C#, and C++. What's a good place to start learning. Any book recommendations?
I have some knowledge on Java, Javascript, Visual Basic and such.
>>
>>55735485
>C
C language Modern approach.
>C#
Visual C# step by step
>C++
The Bjarne's book.
>>
>>55735459
thanks

>>55734941
i don't really understand this tbqh, i only got into lineart a few days ago to pass time when im bored, but if you could explain the way vector art and shit works, id love to work with that since I'd be able to run that on my Linux box instead of this shitty 1366*768 x220.
>>
>>55735394
>implying mutexes are the same as an atomic structure
t. pajeet
>>
>>55735514
Thanks alot man. Gonna start learning and get back to programming right now.
>>
>>55735485
C
>C Programming: A Modern Approach by K.N. King --- If you need to take things slowly
>K&R C Programming --- If you like doing things the hard way

You should also be reading SICP.
>>
>>55735579
Also noted. Appreciate it.
Also please excuse my ignorance, but SICP?
>>
>>55735593
SICP is a meme book don't read it
>>
>>55735593
Learn how to DuckDuckGo
>>
>>55734941
oh and it's >>55735532 again, I can manipulate lines easily after drawing them (edit them for example or remove specific lines only) and my favourite tool which I don't really use in these quick draws is the pressure tool - since I use a mouse , there isn't really a way to simulate pressure, but you can thin or largen lines at points you like via the pressure tool.
>>
>>55735394
kys
>>
>>55735610
>>55735607
Alright, guess I should get started now.
Again appreciate the help, can take off now after finally finding a footing.
>>
Why do you guys hate Javascript so much?
>>
File: 83421.png (14KB, 203x248px) Image search: [Google]
83421.png
14KB, 203x248px
>>55735666
>Why do you guys hate Javascript so much?
>666
>>
>>55735666
it's a terrible language and nu-male webdevs who never learned a better language now think they can write desktop software in a slow as fuck language and they still call C, C++, and similar languages unsafe because the idea of manipulating virtual memory addresses directly scares them.

If you ever see someone use the word "unsafe" or "raw" pointer to refer to a pointer, you can safely ignore their entire post.
>>
>>55735715
You guys say this about all languages

>Java
>php
>Javascript
>Python
>SQL
>Html

and so on you all claim all these programming languages are shit for no reason
>>
>>55735743
Those languages are all shit, though.
>>
>>55735666
Because copy this to the console.

(+(+[]==+[])+(+[]==+[])+(+[]==+[])+(+[]==+[])+(+[]==+[])+(+[]==+[]))+[]+(+(+[]==+[])+(+[]==+[])+(+[]==+[])+(+[]==+[])+(+[]==+[])+(+[]==+[]))+(+(+[]==+[])+(+[]==+[])+(+[]==+[])+(+[]==+[])+(+[]==+[])+(+[]==+[]))
>>
File: blinykot.png (391KB, 500x330px) Image search: [Google]
blinykot.png
391KB, 500x330px
>>55735760
>>55735743
>html
>programming language
>>
>>55735715
>he thinks C pointers are virtual memory pointers
lol get a load of this kid
>>
>>55735743
>my langauge is better than YOUR language
>har har har har


where do you think you are
>>
>>55734049
>C babbies

assembly > your high level training wheels language
>>
>>55735800
a place that makes no sense we should be discussing programming in all different languages. All programming languages are the same they are all the same pretty much.
>>
>>55735796
in a managed memory environment, yes, that's what they are.

this isn't 1978 anymore.
your kernel isn't going to allow some program to trash unallocated memory
>>
>>55735789
I said "language", not "programming language".
>>
>>55735800
>all languages are equal! i have no proof
>>
>>55735767
DO NOT DO THIS
I REPEAT
DONT
ITS SOME RUSSIAN HACKER THAT DELETES SYSTEM 32 FROM YOUR COMPUTER
DONT DO THIS
>>
>>55735825
>he thinks C pointers are virtual memory pointers
>>
>>55735842
Shit I just did it what should I do?
>>
>>55735842
LInux doesn't have a system 32 though.
>>
>>55735857
>i have no arguments
>>
>>55735859
Install Gentoo
>>
>>55735825
>your kernel

dropped
all my programs regularly operate on protection ring 0 because I'm not some clueless pussy like you who has to have the kernel handle all of the real work for me. go back to thinking you're above javascript programmers when you couldn't program anything outside of your comfy operating system environment
>>
>>55735872
>i have no arguments
then maybe you should give up
>>
>>55735829
>implying I implied that

oh boy
>>
>>55735879
>>55735876
this is why i dont come here anymore
>>
>>55734875
Yes. Makes it easier to understand where the attribute is from.
>>
>>55735872
The C standard does not force pointers to be virtual memory addresses. They could as well be normal memory addresses or they may even be resource handles for all we know.
>>
>>55735903
Good
>>
>>55735903
I'm sorry if I offended you, but really, how is using an operating system to handle the real work for you any better than using a browser to handle the real work for you?
>>
File: Autism.png (25KB, 410x503px) Image search: [Google]
Autism.png
25KB, 410x503px
rate pls
>>
>>55735842
You can't delete system32 by the browser.

[spoiler]
Only if you use Unity, Adobe or Java botnets.
[/spoiler]
>>
>>55735941
Why are you not using a monospace font?
>>
>>55735941
Hello Pajeet.
>>
>>55735935
yes, and we all know you're not a real programmer unless you wring your own silicon and create your own microcontroller along with it's own C compiler and c standard library implementation.
>>
Remind me again, what is wrong with running everything in ring 0?
Oh, that's right! Absolutely nothing if you compile everything by yourself using a compiler that defends against UB.
>>
File: Temple[1].png (29KB, 640x480px) Image search: [Google]
Temple[1].png
29KB, 640x480px
HolyC is the best programming language.

prove me wrong

>mix of c/c++
>made by our lord and savior, terry davis
>>
>>55735941
Welcome aboard American Programming Software company you can start right away for $3 an hour!
>>
>>55735966
I agree with all of that unironically aside from the silicon part (as long as you accept creating your own microcontroller schematic in verilog/VHDL to be a valid way of "creating" your own microcontroller).

>>55735971
exactly. if running everything on ring 0 causes you problems, then don't run shitware on your machine
>>
>>55735976
https://www.youtube.com/watch?v=hBVIdZMW-_E
>he made penises everywhere
>>
>>55736035
that poor guy
>>
my little pony programmer here what is the best programming language for ponies?
>>
>>55736098
http://www.ponylang.org/
>>
>>55736133
that language actually looks interesting, aside from the pony memes
>>
Currently going through ProjectEuler and am sort of stuck on number 23:
Find the sum of all the positive integers which cannot be written as the sum of two abundant numbers.

The program I wrote gets fairly close, but not the exact answer... (Exact answer is 4179871, my program's answer is4548080)...Any tips to why it's not working?

int main(){

clock_t t1, t2;
t1 = clock();
std::vector<int> abundantVector(0);

abundantVector = getAbundants(abundantVector, 28124);
bool *bitField = new bool[28124];
for(int i = 0; i < abundantVector.size(); i++)
{
for(int j = 0; j< abundantVector.size(); j++)
{
int sum = abundantVector[i] + abundantVector[j]; //Sums all abundant numbers
if(sum < 28124)
bitField[sum] = true;
else{
break;
}
}
}

int total = 0;
for(int i = 0; i < 28124; i++)
{
if(!bitField[i])
{
total += i;
}
}
std::cout << "TOTAL = " << total;

t2 = clock();
float diff = float(t2) - float(t1);
float seconds = diff/CLOCKS_PER_SEC;
std::cout << "The program took " << seconds << " seconds to run " << std::endl;
}

std::vector<int> getAbundants(std::vector<int> retVec, int ceiling)
{

for(int i = 0; i < ceiling; i++)
{
int sum = 1; //So I don't have to worry about the n/i part later
for(int j = 2; j <= sqrt(i); j++)
{
if(i%j == 0)
sum+= (j + i/j);
int sqrtN = static_cast<int>(sqrt(i));
if(sqrtN * sqrtN == i)
sum -= sqrtN;
}
if(sum > i)
{
std::cout << "Abundant Num Found! at "<< i << std::endl;
retVec.push_back(i);
}
}
return retVec;
}
>>
>>55736280
sorry can't help no idea what are abundant numbers are
>>
>>55734803
Plenty of extremely talented programmers who started later on in life.
>>
>>55736335
An abundant number is basically one where the sum of the divisors (not including the number itself) is greater than the number

12's divisors are 1, 2, 3, 4, 6,
1+2+3+4+6 = 16, so 12 is abundant
>>
File: 1462995274036.jpg (13KB, 250x239px) Image search: [Google]
1462995274036.jpg
13KB, 250x239px
*IMPORTANT*
*IMPORTANT*
*IMPORTANT*
What font are you guys using
*IMPORTANT*
*IMPORTANT*
*IMPORTANT*
>>
>>55736508
Inconsolata-g
>>
>>55736280
Use a true language anon
let is_abundant =
let cache = Hashtbl.create 100 in
let f n =
let rec loop accu d =
if 2 * d > n then
accu > n
else
let accu =
if n mod d = 0 then
accu + d
else
accu in
loop accu (succ d) in
loop 0 1 in
let is_abundant n =
if not (Hashtbl.mem cache n) then
Hashtbl.add cache n (f n);
Hashtbl.find cache n in
is_abundant
;;

let is_not_sum n =
let rec loop a =
if a = n then
true
else
if is_abundant a && is_abundant (n - a) then
false
else
loop (succ a) in
loop 1
;;

let main () =
let rec loop accu n =
if n = 28124 then
accu
else
let accu =
if is_not_sum n then
accu + n
else
accu in
loop accu (succ n) in
let result = loop 0 1 in
Printf.printf "%d" result;
print_newline ()
;;

let () = main ();;
>>
>>55736368
2*abundant will always be abundant
>>
>>55736508
Gohu
>>
This is the project i'm working on

https://github.com/nvanheuverzwijn/mcollective-ldap-authenticator

This is interesting only for those who use puppet and mcollective sofware.
>>
>>55736526

Abundant should be a infinitely recursive function that is lazily evaluated.
>>
>>55732640
>>55732669
>>55732686
Just wanted to assert that I believe he's a good programmer more now:
https://www.youtube.com/watch?v=RlVpPstLPEc

I haven't really read any of his stuff yet. But it's pretty clear to me that if he was in charge of C++ or invented it it'd be a much better language than what Stroustrop barfed on the carpet. (and you're rubbing your face in if you're using C++)
>>
>>55736574
What for? Do you want to improve my code?
>>
>>55735072
  public static boolean isNumber(String in)
{
try{
Double.parseDouble(in);
return true;
}
catch(Exception e)
{
return false;
}
}


Works in Java.
>>
>>55735072
string ~= /\d{0,2}(\d{3},?)*.\d*(e\d*)?/
>>
I wrote this simple numerical integration function in >Haskell but it only seems to work for positive values.

It integrates x^2 from 0 to 1 perfectly fine, but it trips fucking balls when I try to integrate x from -1 to 1 (it returns 10 then).

Does someone see the problem?

dubIntDiv :: Double -> Int -> Double
dubIntDiv a b = a * 1/(fromIntegral b)

linspace :: Double -> Double -> Int -> [Double]
linspace a b n = take (n) $ iterate (+ (dubIntDiv (b-a) n)) a

numIntegral :: (Double -> Double) -> Double -> Double -> Double
numIntegral f a b = sum $ [ (f x)*(dubIntDiv 1.0 100000) | x <- list ]
where list = linspace a b 100000
>>
>>55736280
Please don't leak memory like this, senpai.
>>
>>55736677
Oh shit you're right... Kind of new to the whole pointer thing
>>
>>55736583

You're expressing a problem that has a infinite set of numbers. It is annoying to express lazy evaluation in c++ though.
>>
>>55736728
No I just solved Euler 23.
>>
>>55736657
break it down and log results so you can see where it's going wrong

you could just use GHCi for this
>>
>>55736736

Solving the problem and expressing it in a manner that fits the problem are 2 different things.

All I can say is do some research on lazy evaluation and infinite lists of numbers. It's a functional programming concept.
>>
>>55736784
>All I can say is do some research on lazy evaluation and infinite lists of numbers. It's a functional programming concept.
Shut the fuck up kiddo. Don't try to teach me fp. I was doing fp, you weren't a spermatozoon in your father's testicle.
>>
I'm benchmarking my trie implementation and getting some weird result.

If I fill a trie with an entire dictionary's worth of words, a short string ("THE") can be found in around 10ns, while a long string ("ELECTROENCEPHALOGRAPHS") can be found in about 30ns. However, if I test for every word in the dictionary, the average lookup is about 80ns.

I'm not sure what's going on. This might be an artefact of the benchmark. I know for a fact that single word lookups are not being optimised out. I tried to look through the generated assembly but I can't make heads or tails of it.
>>
>>55736802
Caching
>>
>>55736751
I'm doing that now. The problem isn't in the linspace or dubIntDiv functions. I think I'll do this tomorrow.
>>
>>55736816
Ah, that makes sense. Thanks for the tip.
>>
>>55736800

>Claims to be a experienced functional programmer. Expresses a purely functional problem in a imperative manner.

Please refine your trolling.
>>
>>55736857
You know nothing kiddo. fp is not about style, it's about power.

Improved version of my code.
let is_abundant =
let f n =
let rec loop accu d =
if 2 * d > n then
accu > n
else
let accu =
if n mod d = 0 then
accu + d
else
accu in
loop accu (succ d) in
loop 0 1 in
let cache = Array.init 28112 f in
let is_abundant n = cache.(n) in
is_abundant
;;

let is_not_sum n =
let rec loop a =
if a = n then
true
else
if is_abundant a && is_abundant (n - a) then
false
else
loop (succ a) in
loop 1
;;

let main () =
let rec loop accu n =
if n = 28124 then
accu
else
let accu =
if is_not_sum n then
accu + n
else
accu in
loop accu (succ n) in
let result = loop 0 1 in
Printf.printf "%d" result;
print_newline ()
;;

let () = main ();;
>>
File: lol ayyy.png (668KB, 1079x410px)
lol ayyy.png
668KB, 1079x410px
>>55736857
>can't greentext properly
>>
>>55736908
How did Motl appear in /dpt/?
>>
>>55736889

import Data.Array 
n = 28124
abundant n = eulerTotient n - n > n
abunds_array = listArray (1,n) $ map abundant [1..n]
abunds = filter (abunds_array !) [1..n]

rests x = map (x-) $ takeWhile (<= x `div` 2) abunds
isSum = any (abunds_array !) . rests

problem_23 = print . sum . filter (not . isSum) $ [1..n]


*coughs*
>>
File: transparentglfwwindow.gif (3MB, 530x260px) Image search: [Google]
transparentglfwwindow.gif
3MB, 530x260px
Exploring transparent windows in GLFW.
Kinda cool.
But I'm wondering how people normally do game overlays.
It's only gonna support a single game. I don't have game source.
I'd rather have a simple solution (which GLFW+imgui/some ogl renderinglibrary seems to be).
>>
>>55736889
let it be
let it be
there will be an answer
let it be
>>
>>55736947
>map
language? idris?
>>
File: this is my bait.jpg (67KB, 500x491px) Image search: [Google]
this is my bait.jpg
67KB, 500x491px
>>55735170
>>
>>55736947
Provide a complete example with a main function that builds. We gonna compare our code.
>>
>>55736947
>>55736967
oh wait nvm
haskell has map & fmap

why not use <$> ?

>>55736977
main = problem_23
>>
>>55736908
fugg, is that Luboš Motl with the Bogdanovs?
>>
>>55736985
test.hs:3:14: Not in scope: ‘eulerTotient’

Do an effort.

[spoiler]Lazy Haskell coder.[/spoiler]
>>
>>55737009
not my code, ask >>55736947
>>
>>55737009

https://github.com/kballard/projecteuler-haskell/blob/master/prob23.hs

https://github.com/RossMeikleham/Project-Euler-Haskell/blob/master/23.hs

Notice the trend?

import Data.List (union)

problem_1' = sum (union [3,6..999] [5,10..999])
problem_1 = sum [x | x <- [1..999], x `mod` 3 == 0 || x `mod` 5 == 0]

main = print $ problem_1


Just face the facts you're a imperative programmer using haskell to try and say you know functional programming.
>>
>>55737096
Please, they use array too, because they know how to reach performance.\

Next time don't quote "imperative" coders please.

[spoiler]Ridiculous kiddo who argue with adults.[/spoiler]
>>
>>55737096
>print $ problem_1
>$
Fucking why?
>>
>>55737156

It is ridiculous to literally write a c program in haskell instead of taking advantage of maps / filters.

You're expressing the problem in a imperative style.
>>
>>55737226
Shut the fuck up kiddo. You weren't capable of providing your own solution because you're incompetent.
>>
>>55737245
>kiddo
Oh it's you

>>55735295
>>
>>55737263
Yes. I'm the only competent coder in that thread.
>>
>>55737226
ironically Haskell's really nice for imperative code

>>55737279
This thread, you mean.

Could you be a bit less subtle about being a newfag?
It's really hard to tell
>>
>>55737304

-_- quit trying to break the game anon.
>>
>>55737304
>Could you be a bit less subtle about being a newfag?
I have a simple method to know if a coder is competent. If they agree with me, they're competent, otherwise they ain't.
>>
>>55737339

So you're a narcissist trying to project their ego trip on this thread?
>>
>>55737365
Code monkeys will always code monkey. That's a fact.
>>
You are all plebs at programming
>>
>>55737395

The first step to growth is the realization that you can be wrong and other ideas have merit.

Narcissism is a poisonous delusion that merely attracts negativity.
>>
>>55734803
There's a plateau that programmers get to when becoming well versed in a language, and its not too difficult to catch up to that. From there on it's problem solving skills, the guy who started later may inherently have better problem solving and overtake the guy who started earlier.
>>
>>55737439
Please stop. You're ridiculous.
>>
>>55737304
>ironically Haskell's really nice for imperative code
uw0tm8?
>>
>>55737442
Teach me how do I get these better problem solving skills
>>
>>55737452

Your delusions of greatness and standing above others is ridiculous.
>>
>>55737475
I know who am I and what I can do. You just don't know your place kiddo.
>>
>>55737456
do blocks for imperative monads like IO and State work quite nice

you could create a lazy tree of IO actions, have the user navigate through them and then execute them
>>
File: justD.jpg (14KB, 297x331px)
justD.jpg
14KB, 297x331px
I made an android application that has the option to auto load data when opening it.

How ever it only works the first time unless i kill the activity by holding the home button and swiping it away

How do i auto load every time the application is reopened/restored, by kill the application if you press back or home right? I google but i found that you can't do it (?)

somebody send help
>>
>>55737506

This statement fits the psychological profile of clinical narcissism perfectly. Obsession with social status, lack of empathy, and the complete inability to listen or show any regard for others.

Every interaction is merely to fee your inflated sense of value. I pity you and those who are around you when the inevitable narcissistic collapse happens.
>>
>>55737580
No, I'm just fucking competent. But keep reassuring yourself my dear anon.

Code monkeys will always code monkey.
>>
>>55737567
>i kill
>i google
fuck, i meant killing the activity and that i googled this but found nothing
>>
>>55737599

Whatever you say anon.. One day the self hatred you're projecting upon others won't have a excuse to hide.
>>
oh man this shit is going so deep into the human soul ...
>>
File: ligatures_blog[1].png (51KB, 1317x300px) Image search: [Google]
ligatures_blog[1].png
51KB, 1317x300px
>he doesn't use font ligatures
Why aren't you increasing productivity in every possible way /dpt/?
>>
>>55733966
Anyone have any experience with Lisp dialects? Leaning towards Scheme for a basic AI program, I wanna experiment with homoiconicity.
>>
>>55737659
>lisp
more like homosexuality, amirite lads?

lads?
>>
>>55734240
rms said that Java is the natural progression from C
>>
File: 1439391790068.jpg (143KB, 394x260px) Image search: [Google]
1439391790068.jpg
143KB, 394x260px
>>55737401
you forgot your pic
>>
>>55737709
who gives a fuck about that neckbeard faggot?

linus is the true /g/ hero
>>
File: 87289652.png (2MB, 1440x2223px) Image search: [Google]
87289652.png
2MB, 1440x2223px
>>55734240
Fortran
>>
>>55737657
Jesus fucking Christ, this is the worst idea I've ever seen in my entire life.

Seriously, fuck whoever thought this was a good idea.
>>
>>55734240
Better for what?
>>
>>55737734
>I hate readability
kys
>>
>>55736526
That coding style is awful. I hope I never have to work with code you wrote.
>>
File: 1469211120207.jpg (205KB, 706x324px)
1469211120207.jpg
205KB, 706x324px
>>55737781
>making everything irrelevant to the program stand out
>readability
>>
>>55737734

There isn't anything inherently wrong with ligatures. I mean it's just doing what your brain is already doing automatically.
>>
>>55737657
I use the UnicodeSyntax GHC extension
>>
>>55737813
>I hate readability
Ligatures shorten the amount of time you spend in already combining the symbols
kys

>>55737827
>it's about a text editor changing the syntax of a well-known programming language
goddamn idiot, kys
>>
>>55737810
Why? Rewrite it (it's small) according to your style. We gonna compare.
>>
>>55737820
>>55737827
this is clearly something that only do-nothing javascript retards would want

the whole point of monospace fonts is to remove all ambiguity from syntax where a single symbol changes control flow
>>
>>55737781
It has nothing to do with readability, it's about a text editor (visually) changing the syntax of a well-known programming language to make it look cuter. It's an abomination.
>>
>>55737855
It is monospace you goddamn retard
>>
File: laughingman.webm (2MB, 1920x1080px) Image search: [Google]
laughingman.webm
2MB, 1920x1080px
Working on my X11 screen saver and locker, just finished porting the whole thing from Xlib to XCB, which allowed much cleaner multi-threaded handling.

Downside was I had to use xkbcommon instead of the various utility functions Xlib provides to convert key codes to symbols and UTF-8 strings.

Guess the daemon side is basically perfect now, already added support for XScreenSaver hacks to it, and previewing support (in the video).

Now I can start playing around with OpenGL to mamke pretty pictures for shits and giggles.
>>
>>55737865
You already subconsciously change the syntax in 2-symbol constructs, this shortens the time. Do some research
>>
>>55735941
Several levels of conditional statements. 0/10, would not pass through code review.
>>
So I'm just trying to do some parsing with std::string.

I have the string line = "R:3:54"

How do I remove all characters up to the second ':', so that I'm left with only 54?

I was parsing
 for (unsigned int i = 0; i < line.size(); ++i) {
if (line[i] == ':'){
line.erase(i,1); //erase all semicolon
}
line.erase(0,1); //erase the previous number value


but this won't work if the argument given is say "R:12:54" or anything with 2 variables infront.

Any help?
>>
>>55737837
no that bold green shit is distracting as fuck, you retard
>>
>>55737869
it's ambiguous
>>
>>55737820
Yes, there is. You might as well use a dingbat font.

If you want cutesy unicode characters in your language, make a new language.
>>
>>55737888
No, it doesn't. It looks weird, and it's completely distracting. If anything, you *lose* time because now you're on the lookout for strange symbol replacements instead of focusing on the semantics of the code.

My "research" is simply looking at code 8 hours a day, five days a week, piecemeal.
>>
>>55737923
>>clear and obvious unicode changes, to what the combination-ascii symbols are supposed to represent
>lol you may as well use a dingbat font
>>
>>55737919
The quoted text? r u pullin my leg m8

>>55737922
It isn't, because it still takes 2 or 3 spaces

>>55737945
>It looks weird
Yes I'm sure you've used it long enough to know. I look at code 8 hours a day, 5 days a week, plus whatever extra time goes into my personal business, and I can say that not only are you retarded, but your 'research' does not stand against the research of people who aren't NEET shitters
>>
>>55737846
Horrible variable names, deep nesting, cyclomatic complexity. Having no braces doesn't help.
>>
>>55734289
MasterBaiTOR

Or if you plan to put it on you CV just use firstname.lastname
>>
>>55737896

Anyone..?
>>
>>55737965
>The quoted text
yes, the quoted text in your program

change your settings or you're gonna go insane
>>
>>55737992
have you tried jQuery
>>
>>55738000
>>55737999
>two trips in a row
what does this mean ?
>>
>>55737999
That's not mine, I googled it
>>
>>55737965
I don't have to use it to know it's retarded.

Seriously, did you really think learning a language from scratch one way, then using a *completely* different-looking representation of it is a good idea? What happens when someone else has to look at your screen? What if you have to look at someone else's, and are already used to ligatures? What if your editor is bugged? What if you need to operate on token stream, as in preprocessing?

Heck, some of those are downright dangerous, like the replacement for !=. It looks a lot like a plain '=', and therefore is very easy to miss.
>>
>>55736715
Protip from a pro programmer.

It is safe to assume that result of every allocation by 'new' should be held by an automatic memory managing construct - such as a smart pointer. There are plenty to choose from, depending on what you require.

std::shared_ptr, boost::shared_ptr or boost::intrusive_ptr seem to be popular choices.

The same goes for any handle to a resource, such as a database connection, IP socket, mutex and whatnot.
>>
>>55737992
REGEX
E
G
E
X
>>
>>55738000

>JQuery

Sorry, should have said I'm working in C++. I thought std::string would of tipped that off tho.
>>
>>55737965
and how am I supposed to know exactly what keystrokes are required to produce =/=?
It's not !=, right?
>>
>>55737887
what the fucking shit

what am i doing with my life

are you a hacker or something

jesus

i will never get on this level
>>
>>55738015
>>55738000
>>55737999
get your trips in a row
>>
>>55738023
>'pro' programmer
>recommending boost
Jesus Christ.
>>
Is python a good beginner language? I just want something without a visual interface that will work on multiple os'
>>
>>55738020
>I don't have to use it to know it's retarded.
Sign of a retard
>rest of the post
speculation of someone who only thinks about things conceptually

>>55738032
that's the exception
>>
>>55738032
It's probably still !=. I'm imagining it only changes the code syntax visually, but the real text is the same as always.
>>
>>55738032
can't speak for that guy, but an atom plugin has this for haskell UnicodeSyntax

-> then tab = →
=> then tab = ⇒
forall then tab = ∀
:: then tab = ∷
>>
>>55737992
Just parse it with ":" as the token and create a new string from the third substring
>>
>>55738050
>I just want something without a visual interface that will work on multiple os'

you can use whatever the fuck you want. just make it portable tho

yes python is a good beginner language
>>
>>55736623
Nice one
>>
>>55738068
>>55738069
how are you supposed to grep that?
in your efforts to "pretty up" your code, you've made it ambiguous and you now have to know that some fancy symbol means this other thing
>>
>>55738056
>Sign of a retard
Do you know what shit tastes like? Like, really, have you ever taken a bite out of a turd you just shat? No? Then how do you know it doesn't taste good?

Same applies here.

>speculation of someone who only thinks about things conceptually
What's that even supposed to mean?
>>
>>55738079
thanks also how much time should I invest in learning will 2 hours a week be enough?
>>
File: 1466734127207.jpg (26KB, 592x454px) Image search: [Google]
1466734127207.jpg
26KB, 592x454px
>>55738050
Fuck no please no python, just do what everyone else does and start with Java and branch out from there. Python will teach you so many bad fucking habits, even if it's just dynamic typing

>"What do you mean I have to tell the computer what type of variable I am creating, doesn't it just know?"
>>
>>55738094
I'm guessing whatever search mechanism the editor has also understands ligatures.

Even assuming a perfect, bug-less editor, the idea is still idiotic.
>>
>>55738097
>Like, really, have you ever taken a bite out of a turd you just shat? No? Then how do you know it doesn't taste good?
>this analogy
Definite sign of a retard

>What's that even supposed to mean?
Another sign of a retard
>>
>>55738094
What are you talking about?

→ is ->
=> is ⇒
:: is ∷

Yeah, so fucking unintuitive and hard to understand.

as for forall -> ∀, ∀ is the mathematical symbol for "forall"
>>
>>55738094
>how are you supposed to grep that?
It's regular text you goddamn moron, the IDE only changes it visually. Jesus /dpt/
>>
>>55738102
And Java won't? Python is a shit language, but far better than Java as the first one.
>>
>>55738102
I think having a basic grasp of algorithms is more important than static typing.

The environment for working with Java is way too complex for a newbie to grasp; they'll probably ditch programming altogether the first time Eclipse doesn't work.
>>
>>55733966
So I'm working on something atm and I've found a bug. This example has the same structure:

def string_choice():
choice = raw_input("\nChoose A or B\n")
if choice.lower() == 'a':
thing = "ABC123"
return thing
elif choice.lower() == 'B':
thing = ""
return thing
else:
print("\nType 'A' or 'B'\n")
string_choice()


Basically, I'm assigning the output of a function call to a variable. The idea was that if the user fucked up the input, it would just run the function again until they got it right.

Problem is, while it DOES do that, for some reason it will return a None value if you fuck up the input, i.e. when it reruns, it doesn't seem to reassign thing

Any idea what's causing this? I've tried declaring thing outside the loop and returning it outside the loop but it doesn't seem to work.
>>
>>55738101
that depends. some people need more hours to learn something than others.

establish goals

remember to pratice every fucking day, create good learning habits

after you learn the initial stuff (loops, if-else conditions, you can move to bigger things, and put them in your resume

remeber that hard work beats talent every time
>>
>>55738107
>>55738097

You realize the ligatures are just a change in the way symbols are displayed right? Implemented properly the raw text will still be using !=, ==, >=, etc.

It's merely a aesthetic thing.

Personally I'd use it if my main editor / terminal emulator supported them 100%.
>>
>>55738131
python is a waste of time for a beginner

you're not gonna learn real programming, only bullshit
>>
>>55738109
Ok, I'm not arguing with you anymore. You're just covering your ears and going "BLAHBLAHBLAH" instead of having a proper discussion.

See, this is why I don't come here anymore. Too many kids who don't know what the fuck they're talking about acting like they do.
>>
File: all_ligatures.png (330KB, 1836x1796px) Image search: [Google]
all_ligatures.png
330KB, 1836x1796px
>>55738126
>>55738122
how about these?

>inb4 they're all super intutive anon! stop being retarded :^)
>>
>>55738159
Yes, I do. And it's still retarded, for the reasons I enumerated earlier.
>>
>>55738162
Then start with C or Scheme.
>>
Is it worth learning how to use lambdas in c++. I learned racket so anonymous functions arent new to me but I swear theres some heavy syntax sugar in how c++ uses lambdas.
>>
>>55737896
Use a boost::split or write your own splitting function.

#include <boost/algorithm/string.hpp>

std::string doAnonsWork( std::string const & _data )

std::vector< std::string > parts;
const static std::string divider;

boost::split( parts, _data, boost::is_any_of( divider ) );

if( parts.size() > 2 )
return std::string();

std::string delimiter;
std::string result;

for( int index = 2; index < parts.size(); ++index )
{
result += delimiter + parts[ index ];
delimiter = divider;
}

return result;
}


Be sure to debug before use.
>>
>>55738162
Care to elaborate why? What's "real programming" for you? Embedding databases on websites?
>>
File: 1469334871645.gif (1MB, 243x228px) Image search: [Google]
1469334871645.gif
1MB, 243x228px
I need to make X number of callbacks depending on the number of SVG graphics on the screen, the problem, those functions need to be nested.

What the fuck can I do? btw this is JS.
>>
>>55738163
>uses shitty analogy
>doesn't even know he's arguing conceptually, even with his analogy

>>55738167
Yes, those are only visual changes. I'm using it in my IDE and you can still search for the individual symbols, put your cursor around the individual symbols, and see the individual symbols on a regular text file

kys
>>
>>55738216
>What the fuck can I do?
give up
>>
>>55738048
Any justification for your opinion?
>>
>>55738138
What happens with the return value of the call to string_choice?

Also, recursion is (mostly) evil. You could make that far more intuitive (and less error-prone) with a simple while loop.
>>
File: Oh you google.jpg (45KB, 884x515px) Image search: [Google]
Oh you google.jpg
45KB, 884x515px
>>55738216
>>
ligatures are comfy imo, haven't experience any issues with it, and I already know just how useful it would be with C++ with all the ++, ::, -> etc

yeah I know the background image is dumb, but it stuck with me
>>
>>55738222

Just give up close mindedness is a plague. There is going to be no convincing someone who is not open to any ideas that differ from their own established views / beliefs.
>>
>>55738191
maybe it's better to jump into OOP and get the right lingo and instincts right away with Java, there are plenty of books and lectures that teach it well

at least for those who are serious about programming and have long term goals I would recommend that

for bullshitters there's python
>>
>>55737969
>deep nesting
Deep? We don't have the same definition of deep... If you know what I mean.
>cyclomatic complexity
The useless indicator.
>no braces
What are you talking about.
>>
>>55738222
>shitty analogy
+1 for the pun.

Yes, I do know what I'm arguing about. Do you? How's my analogy not appropriate? You said I'm a retard because I discard ligatures without trying them. I say I have enough experience to make an educated guess and conclude they're not a good idea, just like I conclude shit probably doesn't taste good without having actually tried it.
>>
>What happens with the return value of the call to string_choice?

It's passed as an argument into another function (I'm taking my first babby steps into functional stuff, so I ended up passing a load of functions as arguments), basically in the proper code it determines whether or not a certain string is entered into a database query.

How would you rerun the function with a loop? Or would you skip that kind of recursion altogether?
>>
>>55738277
meant for >>55738233
>>
>>55738231
Boost is non-standard, unstable, and debugging it is a pain in the rear.
>>
File: 26346436347372q.jpg (22KB, 674x244px) Image search: [Google]
26346436347372q.jpg
22KB, 674x244px
>I just got it
>>
>>55738277
Look again. The last call to string_choice() isn't being assigned nor returned, thus its result is discarded.

I can tell you don't have a lot of experience in programming, so I'd advise you to drop functional stuff for now, learn proper programming, and only then move on to more advanced things. I don't know much about functional stuff, but recursion is usually unneeded (and sometimes even dangerous).
>>
>>55738289
>non-standard, unstable
you can say bullshit like that that about every widely used library outside STL

among those boost is the most stable and trusted
>>
>>55738339
oh fuck he's right dude >>55738138 lol you forgot to return the result of string_choice

which is why any recursive call does fuck all
>>
>>55738216
Create an array of promises with all your tasks and then call Promise.all() on it.
>>
>>55738339
>I'd advise you to drop functional stuff for now, learn proper programming, and only then move on to more advanced things. I don't know much about functional stuff, but recursion is usually unneeded (and sometimes even dangerous).
>>
>>55738339
Ah okay, I had figured that simply calling the function again would provide a return value, that makes sense though.

Thanks for the advice, I'm improving slowly but I have a long way to go!
>>
>>55738271
>If you know what I mean.
I know you're fucking someone else.

>The useless indicator.
It's useful. For instance, now it's indicating that you haven't done any professional work in your entire life :)
>>
new thread

>>55738403
>>
File: 1454899115950.jpg (16KB, 447x444px) Image search: [Google]
1454899115950.jpg
16KB, 447x444px
>>55738339
>recursion is usually unneeded (and sometimes even dangerous)
>>
>>55738402
>It's useful. For instance, now it's indicating that you haven't done any professional work in your entire life :)
You made me laugh. Thank you.
>>
>>55737442
>>55737459

Problem solving skills probably get better by actually doing a lot of problem solving which is exactly what programming is, so in a way the people that started earlier will always have the advantage.
>>
>>55738449
experience will always be the most valuable asset
>>
>>55737896
If they're all in that format, you can use std::find_last_of
>>
Let's say I'm making a game where a lot of objects need to check whether they're colliding with other objects. Is there a way to omit some collision checks if objects are sufficiently far away from each other or should I just check collisions for each object against one another? It feels to me that this could get out of hand real quick since it takes O(n^2) time to check all the collisions.

For the sake of simplicity we can assume that all objects have a circular or rectangular bounding box. Also if you know good reading material on stuff like this, I'd appreciate that too
>>
>>55738465
>not believing in talent
Talent increases xp exponentially,
talented guy, 5 years of experience> average guy with 10
>>
>>55736280
Still confused as to why it doesn't work... :|
I've tried just about everything at this point
>>
>>55738042
Unsure if sarcasm or what, but it was just a side project because I wanted a fancy screen saver.
>>
>>55738372
Thanks for the suggestion.
>>
>>55738651
I'm too sleepy to figure out what's wrong in your code especially since it's pretty messy, but you should never pass vectors, and most objects by value to functions, always by (const) reference to avoid copies.

Also, instead of allocating that huge array of bools, you could consider using std::bitset.
>>
>ligatures
let me guess, you use syntax highlighting, rice your de/terminal, use multiple monitors, and waste your time on a million and one other time sinks instead of actually programming. that is why you will always suck shit.
k
y
s
>>
>>55738902
Gotcha... I'll look into that. Thank you!
>>
>>55738919
i bet he doesn't even use notepad
>>
>>55736280
>int sqrtN = static_cast<int>(sqrt(i));
> if(sqrtN * sqrtN == i)
> sum -= sqrtN;

Why you doing this ? Ain't an abundant number the sum of it's divisble factor ? Why using square root to begin with ? You have have to add every number that divide the number you think is abundant and see if the sum is higher than the number itself.
>>
plz post more maki /dpt/
>>
>>55739384
Basically, I originally did it so that I could cut down on the number of operations the program did, and the
 sum -= sqrtN
was to not add square roots twice...
Now that I removed the greentexted part of my program, I'm a lot closer to the answer (4178876 is what I'm getting now, and the answer is 4179871, off by 995, I'm not sure why)
Thread posts: 330
Thread images: 36


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