[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: 321
Thread images: 28

File: dpt_flat.png (102KB, 1000x1071px) Image search: [Google]
dpt_flat.png
102KB, 1000x1071px
Old thread: >>61662888

What are you working on. /g/?
>>
File: 000054-VirtualBox.png (17KB, 843x182px) Image search: [Google]
000054-VirtualBox.png
17KB, 843x182px
I did my first haskell !
>>
>>61672489
nice
>>
a dynamic website that shows you how many USD and a few other currencies the BTC you have is worth. It'll show the USD price on a few markets and also EUR, ethereum, monero and whatnot using API's
>>
>>61672515
M A K E A P I
desu
>>
>>61672521
Actually a conversion API isn't a bad idea. One that encapsulated all forms of conversions
>>
Which one is better, ordinary object literal or module pattern?

// ordinary object literal. full of "this"
const fn = {
start: function() {
console.log("start");
},
init: function() {
this.start();
}
};
fn.init();


// ultra-private vars + methods
const fn = (function () {
function start() {
console.log("start");
}

return {
init: start
};
})();

fn.init();
>>
>>61672675
is this what idiomatic JS looks like?
>>
>>61672675
module
>>
>>61672684
not enough
               });
});
});
});
});
});
>>
>>61672820
lmao, is this ur first time koding?

for (int i = 0; i < 6; ++i)
});
>>
What's the best way to initialize a Map in Java?
>>
>>61672855
char[] r = new char[] {'b', 'i', 'n', 'g', 'o'};

for (int j = 0; j < r.length; j++) {
System.out.print(r[j]);
}
>>
>>61672862
HashMaps or what?
HashMap<key, value> hashmap = new HashMap<>();
>>
>>61672875
what language is this? it doesnt look like english
>>
>>61672882
Or treemaps, it doesn't matter. And I'm not just talking about instantiating it, I mean filling it with values. There doesn't seem to be any elegant way.
>>
>>61672899
You said
>how to initializing in gustavo
i respondo
if u seek to place value use gergle pls and okay
https://www.tutorialspoint.com/java/util/hashmap_put.htm
>>
>>61672899
Use a roop my flen:
int key;
String value;

for (lengthofmydick) {
myChodeMap.put(bingo, bango); //bongo
}


>>61672915
like he said, just use gustavo
>>
File: 1497711461760.png (299KB, 384x441px) Image search: [Google]
1497711461760.png
299KB, 384x441px
bump
>>
File: Multitasking.jpg (226KB, 2000x1000px) Image search: [Google]
Multitasking.jpg
226KB, 2000x1000px
I am currenctly making a SEO (search engine optimizing) bot. This means that it will create blogs, social bookmarks, accounts, etcetera.

I want the program to do multiple of these things at the same time. Currently I have to select what is does by a input menu (1. Forum posting 2. Account creation, etcetera.). I want to be able to select more options that would all run at the same time.

The tasks all contain different functions and classes and do not need to interconnect with one another.

- Threading - but there seems to be many problems with the GIL if you run to many tasks.

- Multiprocessing - this might work if the process would only do the task it gets. This is however resource expensive.

- Eventlet or gevent - this looks very interesting but I am not sure if it can do the tasks I described. But I am uncertain how it will handle multiple files (otherwise 1 greenlet for each task would be perfect).

I have googled this question but most of the answers are from 2010/2013 and lots has changed in the meantime.

What is the best way to get this done?
>>
>>61672457
Why aren't you helping make vichan better?

What will we do if hiro buttfucks us and we have only a crappy software to use for new image board?
>>
>>61673720

I am using Python btw, for some reason I forgot to mention the most important thing.
>>
What's the fastest (not necessarily easiest) practical way to learn low level programming for purely educational reasons? I just want a proper mental picture of how software works.

I found http://nongnu.askapache.com/pgubook/ProgrammingGroundUp-1-0-booksize.pdf on hackernews, but hackernews is full of retards so I'm skeptical. I've also heard of some games that supposedly teach it like TIS-100 but even more skeptical there
>>
Diving into C++ because of Qt
>>
>>61673947
QT has bindings to other languages
>>
>>61673960
Tell me more.
>>
>>61673984
https://en.wikipedia.org/wiki/List_of_language_bindings_for_Qt_5
>>
>>61673831
I say it's to break down whatever program you have into low level detail.
It may be very difficult to do in some languages like python because of how many layers you have to the machine code. A language like C makes it easy though.
But I don't know what detail you care about. If you disasm a C program you have a decent idea of what's gonna actually happen. But you still won't know platform specific details like how the CPU will prefetch data, utilize caches and predict branches. I assume you have some practical goal with learning. Perhaps it's not all that specific but you should have some clue. There's more fun things to learn if it was purely to learn for entertainment.
>hackernews full of retards
Anon you're better off going there than here a lot of the time. But for this topic I think I agree.
>>
>>61673985
>No C binding
>>
>>61674197
Move on, anon.
>>
How do I get good at C++? What resources are the best to learn?
>>
>>61674310
start with c
>>
>>61674310
Learn Java and learn C first.
>>
File: c2plusigns.jpg (309KB, 663x1408px) Image search: [Google]
c2plusigns.jpg
309KB, 663x1408px
>>61674310
Bjarne, Meyers, Sutter, Alexandrescu
read erryday
hackerrank, codewars, topcoder, leetcode, codeforces etc
solve erryday

write a real project everyday

and you're GOLDEN my lad
>>
File: DeepinScreenshot_20170801220643.png (63KB, 1920x1016px) Image search: [Google]
DeepinScreenshot_20170801220643.png
63KB, 1920x1016px
>>61672457
>Intellisense BTFO
>>
>>61674463
Tell me about this.
auto add(auto x, auto y);

Are the auto parameters deduced later based on how it is called, or is it a function template in disguise?
>>
File: 1426675182485.jpg (72KB, 590x518px) Image search: [Google]
1426675182485.jpg
72KB, 590x518px
If I read() off a socket does the next read() start at the beginning or where the last ended
>>
>>61674496
Template
>>
>>61674528
Neat, I should use that more often.
>>
>>61674352
Nice, thank you. Is basic knowledge of C necessary?
Can I expect to know advanced C++ in a year or so?
>>
>>61674352
>Andrei is the final level boss
And then you meet D
>>
>>61674582
>Is basic knowledge of C necessary?
You'll write seriously shit C++ otherwise.
>Can I expect to know advanced C++ in a year or so?
If you keep up you'll be able to write good C++ in that time, but it's a very big language with lots of weird obscure shit.
>>
>>61674352
>and you're GOLDEN my lad

yeah it only takes years if not decades
>>
>>61674615
>You'll write seriously shit C++ otherwise.
hmm, straustrup says the exact opposite thing. whom should anon trust?
>>
>>61674661
>it only takes years if not decades
To know the entirety of C++ yeah
>>
>>61674582
do not take advices from g. this >>61674615
guy could've ruined your foundation.
>>
>>61674684
Where to take advice from then?
>>
File: C++.png (40KB, 1620x774px) Image search: [Google]
C++.png
40KB, 1620x774px
>>61674663
>>61674684
stroustrup is a faggot. C++'s features are not magic, you'll only truly understand them and their pitfalls unless you know the C primitives they are built out of.
>>
File: .png (19KB, 861x323px) Image search: [Google]
.png
19KB, 861x323px
>boost
>>
>>61674764
There's nothing wrong with this code.
>>
>>61674672
>the entirety
half of the*
>>
>>61674764
std::beta you mean
>>
I'm making a very minimal personal website as a React app. Kind of overengineering it, I know, but I don't care that much; I expect to add more dynamic functionality to it in the future, and it has very little content so rewriting the whole thing from scratch is not a problem, if it has to come to that.

Have any of you used PostCSS or CSS Grid? I want to get started on those and use them in my website.
>>
what are the best websites or free online courses to learn php and sql?
>>
>>61674836
Don't bother, just jump in. You'll learn more from hacking together garbage than you will from any course. By the end of it you'll hate PHP.
>>
>>61672457
So past year I have fucked around my programming educational and today thought to take it serious.
Only used Google for oracle docs on Scanner.

Simply shit took me a few hours...
I welcome feedback


/*
* Purpose: Reverse users (Str)input and output the reversed string
* Arthor: Perseus
* Version: 0.1
*/

import java.util.Scanner;

class ReverseString
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);

//User input (Str)
String userString = in.next();
System.out.println("Output: " + userString);

//Reverse input
char[] reverseUserString = userString.toCharArray();
for (int i = reverseUserString.length-1; i >= 0; i--)
{
System.out.print(reverseUserString[i]);
}
}
}

>>
>>61672457
Working on yet another 2D game engine this time in C and Scheme fo make it more interesting, performance sensitive bits in C rest in scheme and all that in linux in w10 using xming...
>>
>>61674899
Java's IO libraries are shit I don't blame you.
>>
File: fuck PSD.jpg (157KB, 973x546px) Image search: [Google]
fuck PSD.jpg
157KB, 973x546px
whats it like to have a job, /dpt/?
>>
>>61674850
thx, I'll do it. just out of curiosity, why am I going to hate php in the end?
>>
>>61674121
>I assume you have some practical goal with learning.
Basically, I want to be able to program properly instead of being a goon that writes inefficient bullshit.
>>
>>61675030
PHP makes it very easy to start writing toy scripts but difficult to write anything large and robust.
>>
>>61675029
It's nice to get paid
>>
What could be the equivalent to myString.reverse() in C++? Or do you have to write a paragraph for simple shit liike this?
>>
>>61675029
>PSD
Well it's designed to promote adobe software. Of course it's inconvenient.
>>
>>61672457

Boy, Ruby is fun..

def car(a) a[0] end
def cdr(a) a[1..-1] end
def cons(a, b) [*b].unshift(a) end


car (cdr (cons 1, (cons 3, 4)))
>>
>>61675055
You can get reverse iterators .rbegin() and .rend(). If you want to build a new string, just pass those to the constructor.
>>
>>61675043
>PHP makes it very easy to start writing toy scripts but difficult to write anything large and robust.
There's nothing in PHP making it hard to write big projects if your code doesn't use something from php4. The problem is that most PHP developers are fucking shit.
I have worked on 2 different project and both of them had over 100k lines.
>>
>>61675045
teach me your secrets of how to gain meaningful employment, anon
>>
>>61675055
>myString.reverse()
This could be any number of languages with any number of implications.
Does this reverse the string in place? Is the .reverse() a generic function to reverse things with an inherent order? What's the semantics here?
http://www.cplusplus.com/reference/algorithm/reverse/
Here's what you're looking for, probably. It's inplace reversing a range.
>>
>>61675029
What >>61675056 said, it's supposed to be convoluted and inconsistent so only Adobe will be able to fully support it without issues.
>>
>>61675093
Forgot to add:
This isn't in defense of C++, you're just very bad at asking.
Sepples delenda est
>>
>>61674899
>>61675093
Something similar to
use std::io;

fn main() {

let mut x = String::new();
io::stdin().read_line(&mut x);

println!("{}", x.chars().rev().collect::<String>());

}
>>
>>61675170
>.collect::<String>
the fuck is this
>>
>>61675176
Collect a range into string
>>
>>61675180
Break down the syntax for me, what's the :: doing next to <>?
>>
File: quote.png (27KB, 550x550px) Image search: [Google]
quote.png
27KB, 550x550px
>>61675080
I am not the best guy to teach that, eh
>be me
>study cs/softdev in uni
>suddenly a wild ceo appears
>"hey kids, wanna code and get money"
>ok.svg
>work

From what I hear though, it's important to send your shit to employers regularly. Don't get intimidated by "we want a guy with 100+ years of experience in literally every language possible", of course they want that. They also need to get shit done, so.
>>
>>61675202
Industry wage slave here, fuck "design patterns". So many idiots blindly follow them; group think is rampant in this industry
>>
>>61675201
collect() can take anything iterable, and turn it into a relevant collection. This is one of the more powerful methods in the standard library, used in a variety of contexts.

The most basic pattern in which collect() is used is to turn one collection into another. You take a collection, call iter on it, do a bunch of transformations, and then collect() at the end.

collect will infer the type iff you have specified the type in the rvalue.

let x: String = .....collect(); // works
let x = .....collect::<String>(); //works by itself without type inference

The :: grants access to a ``namespace ``
>>
How does one make the jump from codemonkey to /ascended/ programmer
>>
>>61675247
I kinda agree
One can't land a job in your usual webdev shop without knowing mvvm/mvc though
>>
>>61675270
I assumed everything else already. What I don't understand is this.
>collect::<String>
>The :: grants access to a ``namespace ``
So is <String> a member of collect's namespace?
>>
>>61675376
Collect module
https://github.com/rust-lang/rust/blob/master/src/librustc_typeck/collect.rs
>>
>>61672457
This:
>>61668499
Any one interested?
>>
https://youtu.be/5W7NkofUtAw?t=1783
>watch talk about webassembly
>a guy in charge of googles webassembly pushing says cpython is fast
Heresy must be purged. (also he's wrong)
>>
>>61675405
Change your background image, dude
>>
>>61674764
>red aletr
>aletr
>>
>>61673720
When I hear seo it makes me wanna vomit
>>
>>61675170
>The power of C++
#include <iostream>
#include <string>

int main ()
{
std::string str ("now step live...");
for (std::string::reverse_iterator rit=str.rbegin(); rit!=str.rend(); ++rit)
std::cout << *rit;
return 0;
}


I'm already missing my (((Rust)))
>>
>>61675437
Whats the difference between that and some Anime background/program?
>>
>>61675489
>++rit
>preincrement in the iteration expression
Why. It's adding additional concerns.
>>
>>61675489
>uses let in rust
>does not use auto in c++
Such a fair comparison
>>
>>61675515
>cplusplus reference out of date
>>
>>61675489
for (auto rit = str.rbegin(); rit != str.rend(); ++rit)
>>
Is there any way to draw simple shapes on screen with Autohotkey? I tried using GDIP, but I can't seem to get it to work (then again I am pretty new to AHK).
>>
>>61675545
C++ got UFCS? When?
>>
>>61675568
What does UFCS have to do with this?
>>
>>61675568
Literally years ago, with C++0x/11
>>
>>61675575
>str.rbegin()
is rbegin a member function
>>
>>61675584
Yes.
>>
>>61675514
It's faster because it doesn't involve copying the iterator.
>>
>>61675592
Won't that get optimized away?
>>
>>61675599
If you use a standard type, yes, most likely. If you implement your own iterator, not necessarily.
>>
>>61675582
idiot
>>
>>61675623
Fuck you
>>
>>61675621
Wow. If this is true, just fuck sepples harder than ever. Can't even do dead code elimination?
>>
>>61675582
That proposal didn't make it in
>>
>>61675646
The point is that a custom iterator can do what the fuck it wants on postfix- vs. prefix-increment, but you retards will use whatever to just lash out at languages you don't like anyway.
>>
>>61675661
>The point is that a custom iterator can do what the fuck it wants on postfix- vs. prefix-increment
Doesn't matter. If postfix and prefix calls differen't procedures that's fine. You shouldn't have a preference either way.
But even if postfix would create a copy of the iterator it shouldn't matter because there's no reciever in that expression.
That's the problem. Not how the custom iterator is constructed. It could do whatever the fuck it wants but if there's nobody taking the return value of it that should imply no copy or construction within the iterator (at least not for the sake of returning).

I'm not a sepples devotee like you though, so I guess I don't know what arcane reasons there might be to have code that doesn't do anything laying around.
>>
>>61675703
Dead code elimination is turned on with the minimal optimization flag in g++.
>>
>>61675817
Good to know anon. That's not what I'm talking about though. Anon is claiming that modern compilers can't do dead code elimination reliably in this circumstance, hence he does preincrement.
>>
>>61675849
I guess you could compile it both ways and see if there are any differences in the object code.
>>
>>61675890
Anon you're not understanding the greater issue here. You'd have to compile every instance where you use this iterator and compare the two. Fact is that there would be cases where both would fail. But I can easily see how pre-increment is less likely to fail.

It's a massive overhead on the programmer.
>>
>>61675969
delet this
>>
One thing I like about D is that it's scrip-table :)
>>
>>61676019
scriptable*
>>
>>61675977
he did
>>
I'm trying to build an oauth2 service provider in nodejs as an exercise using oauth2orize and passport, using password-based grant

I'm drawing a complete blank at how to implement user privileges tho. All the tutorials and examples I've seen only deal with completely cutting off or completely authorizing access to a user, never to discriminate which resources he should have access to.

Based on what I know this should be what the scopes do, but I don't fully understand how to use them.

Does anybody have a link to an article or something that could help me click on this issue ?
>>
redpill me on skia
>>
redpill me on UEFI
>>
>>61676109
>>61676252
What is it like being so dumb that you can't ask questions like a normal human being?
>>
>>61676264
redpill me on redp-

oh the answer is implied by the question
>>
>>61676264
pretty bad
>>
>>61676264
I'm just trying to fit in senpai desu
>>
I'm learning about threads in Java so I can control asynchronous processes to run a custom board game program. Does /g/ have any insight or helpful links?
>>
>the power of c pee pee
#ifndef xtd_container_hpp
#define xtd_container_hpp

#include <cstddef>
#include <initializer_list>
#include <vector>

#include "prelude.hpp"

template<typename Cr, typename Fn>
Cr map(const Cr& source, const Fn& mapper)
{
constrain_as_container(Cr);
Cr mapped(source.capacity());
for (val& elem : source)
mapped.insert(std::end(mapped), mapper(elem));
return mapped;
}

template<typename Cr, typename Fn>
Cr filter(const Cr& source, const Fn& predicate)
{
constrain_as_container(Cr);
Cr filtered;
for (val& elem : source)
if (predicate(elem))
filtered.insert(std::end(folded), elem);
return filtered;
}

template<typename Cr, typename El, typename Fn>
El fold(const Cr& source, const El& seed, const Fn& folder)
{
constrain_as_container(Cr);
El state = seed;
for (val& elem : source)
state = folder(state, elem);
return state;
}

#endif
>>
I've been trying to write a simple UEFI application that dumps certain memory regions () into files (since you can access the EFI system partition from code)
The problem is that it's not really documented anywhere, so my only option is to look at existing code which is really tedious
Has anyone else ever done this kind of stuff?
>>
>>61675849
>Anon is claiming that modern compilers can't do dead code elimination reliably in this circumstance, hence he does preincrement.
No, I did not claim that you stupid fucking moron.

I said you cannot make a general claim about optimisations that is true for all iterators.
>>
>>61676476
>certain memory regions ()
certain memory regions (containing PCI ROM code)* so I can get an EFI VBIOS for my card for PCI passthrough since my BIOS passes an invalid pointer to the kernel and I can't read it out any other way
>>
> [2, 10].sort()
[10, 2]


is this some kind of joke?
>>
>>61676491
>you cannot make a general claim about optimisations that is true for all iterators.
Such that it cannot omit passing return values that do not exist in certain circumstances. Just like you did.
Yeah, follow your own advice.
>>
>>61676533
What language?
>>
>>61676543
javascript. someone was asked me about an algorithm and i noticed they needed to give a compare function like (a, b) => a - b to sort
>>
>>61676437

http://www.i-programmer.info/programming/theory/6040-what-is-asynchronous-programming.html
>>
>>61676533
>>61676609

Basic implementation of sort does a ToString and then a strcmp because it has no idea what you're trying to do.

That's not unreasonable behavior.
>>
>>61676507
I've only read PCI config space through sysfs on Loonix, but you could also alternatively try to map the address space manually. I don't understand why you'd have to do this from EFI ?
>>
>>61676533
What are you expecting it to do?

Why are you assuming that those are numbers if you didn't tell your language that those are numbers?
>>
>>61676533
>The default sort order is according to string Unicode code points.
kek
>>
>>61676684
He did though. He said 2 and 10 not "2" and "10"
>>
>>61676715
>2 and 10 not "2" and "10"
Irrelephant.
>>
>>61676724
Those are numeric literals rather than string literals. He is stating that they are numbers.
>>
>>61676534
I don't even understand what you're trying to say, but it cannot omit passing return values in certain circumstances, no. Especially if those return values call constructors etc.

I never said otherwise, and that's why I explicitly stated that optimisations are there fore standard container iterators.
>>
File: Screenshot_20170801_171032.png (58KB, 1920x1044px) Image search: [Google]
Screenshot_20170801_171032.png
58KB, 1920x1044px
>>61676643
I already did a memory dump of a part of physical memory and written a small program for extracting the ROM
the problem is that it only contains the non-EFI part and I don't know if it's because I'm parsing stuff incorrectly (apparently it's usually right next to the legacy stuff) or if it's because I'm using legacy boot
pic related (rom-parser is from https://github.com/awilliam/rom-parser)

I had this wonderful idea that I could easily dump the memory I need from an EFI application reliably (I need a patched kernel that allows me to read from /dev/mem and it's kind of a pain to have that set up on a live image), but I can't figure out how to create files on the system partition
>>
>>61676748
Then is this not a perfectly valid reason to dislike C++?
>>
Why do you still have a job if you're so smart, /dpt/?
Shouldn't you be millionaires by now?
>>
Learning the basics of binary at the moment. I know how to add, subtract, multiply, convert from decimal to binary, bit manipulation, masks, etc.

Do I need to know how to divide in binary? Does that ever really come up?
>>
>>61676795
it's really not too different. just a different base -- the mechanics are the same
>>
>>61676765
I'm pretty smart, but I'm also risk-adverse.

There isn't really a reliable path to having one million dollars; the ones that exist involve risk that potentially lessens quality of life in both the short and mid-term. However, at this rate, I should have at least a million in assets before I'm 35, so we'll see how that goes.

Also, I like my job, so there's that.
>>
>>61676764
Why would it be? It's expected behaviour.

If your iterator invokes a constructor that does something, then the compiler would be forced to call that constructor...

Two secs, I'll make an example.

>>61676765
I do have a job...
>>
I wanna get better at Ruby, I feel like the codeacademy course wasn't enough.

Any resources you guys could recommend me?
>>
>>61676842
>>61675176
String is a type parameter for the collect method. Usually it'd be inferred, but you can explicitly collect an iterator into a given collection type.
>>
I have using declarations like this to make sure instantiation of invalid templates raises an error.
using constraint = std::enable_if_t<std::is_arithmetic<T>::value>;

But this generates warnings with -Wunused-local-typedefs and I really don't want to change my makefile which uses -Wall. What do?
>>
>>61676971
Use tag dispatch or SFINE in template arguments like everyone else.
>>
>>61676984
Or if-constexpr if you're on C++17.
>>
>>61676760
Why can't you dump memory from /sys/devices/pci0000:00/blablabla ?
>>
>>61676971
Is there no -Wno-unused-blabla you can add?
>>
Landed a friday bouncer job at a local nightclub for shits and giggles, le yesman attitude I'm trying. Seems bizarre to jump between completely different worlds desu.

>"Anon you do what again? What's cplusplus?"
>>
>>61677009
>cplusplus
cancer
>>
>>61676984
SFINAE*
But as >>61676996 said there's no reason not to use C++17 if you're writing templated code.
>>
>>61676996
>>61677025

How would I write that particular example using if-constexpr then?
>>
File: Screenshot_20170801_173456.png (75KB, 584x415px) Image search: [Google]
Screenshot_20170801_173456.png
75KB, 584x415px
>>61676997
>>
>>61677036
Something like this: https://godbolt.org/g/yfwt2S

if-constexpr isn't a 1:1 replacement for SFINAE, though.
>>
File: hmmm...png (28KB, 429x459px) Image search: [Google]
hmmm...png
28KB, 429x459px
>>61674787
>it takes the life expectansy of a language to learn it
>>
File: 1401525956132.jpg (977KB, 1200x3000px) Image search: [Google]
1401525956132.jpg
977KB, 1200x3000px
Does anyone have recommendations for resources that give an idea on how to design programs that complete complicated tasks? I don't need an exact language just blueprints on how to layout the design. How to handle erroring and restarting tasks from where they left off. I design web bots and would like to improve them.
>>
>>61677221
Google "error handling", appended with whatever language you are using to implement your meme project. If you cannot find an effective solution, it is because your language is garbage.
>>
Is PyPy still C under the hood?
>>
>>61677221
Guido and Bjarne don't belong on that image
>>
>>61677301
I understand "error handling" in the "garbage language". I just want to better understand designing a "meme project" that handles complicated tasks efficiently.
>>
>>61677313
Same as Gosling.
>>
>>61677335
Agreed
>>
>>61677334
How efficient your program is is simply a matter of how well it is written in general. There is no special trick to this.
>>
>>61675067
my other car is a cdr
>>
Is there a specific term / named design pattern for using a parsing 'dictionary' where a parser, upon encountering an unknown expression asks the user whether that's a synonym for a known expression (or a misspelling) or whether it's a whole new expression to be added to the dictionary? Sort of like a spell-checker I suppose.

I'm trying to make a parsing tool more flexible and I'm dealing with manually entered data where things like misspellings or weird abbreviations are as common as a proper new thing being entered.
>>
>>61677516
*Actually I've already mostly implemented it since the concept is simple, but I'm wondering how to better organise / name everything.
>>
How about an exercise:

Write a program that receives a string, which is comprised of words separated by spaces (could be more than one space in a row).
The program :
1) prints all words
2) then prints the biggest word,
3) then the word which appeared the most,
and
4) checks if one of the words is equal to another word, reversed.

With whichever language.
>>
>>61677455

Nice dubs.
>>
>>61677593
Do your own homework.
>>
What are some kewl 2d graphics programming books? I can Bresenham in asm
>>
>>61677516
vocabulary normalization
>>
>>61677593
Do you have test input?
>>
>>61677593
I haven't tested it, but this should do the trick:

static void HomeworkOfAnon(string input) => input.Split(' ')
.Where(x => !string.IsNullOrWhiteSpace(x))
.DoWithAll(x => { WriteLine(string.Join(", ", x)); return x; })
.DoWithAll(x => { WriteLine(x.OrderByDescending(y => y.Length).First()); return x; })
.DoWithAll(x => { WriteLine(x.GroupBy(y => y).OrderByDescending(y => y.Count()).First().First()); return x; })
.DoWithAll(x => { WriteLine(x.Intersect(x.Select(y => y.Reverse())).FirstOrDefault() ?? "no reversed duplicates"); return x; });
>>
>>61678074
>y => y
>y => y.Length
>y => y.Reverse()
>y => y.Count()

if only you could just do

id
length
reverse
count
>>
>>61678109
not enterprise enough
position.axis.y.attribute.length()
>>
>>61678139
this is valid haskell code
>>
File: 1500707976898.jpg (25KB, 390x478px) Image search: [Google]
1500707976898.jpg
25KB, 390x478px
>>61677593
fn print_all_words(s: &str) {
for w in s.split_whitespace() {
println!("{}", w);
}
}

fn biggest_word(s: &str) -> &str {
s.split_whitespace()
.max_by_key(|word| word.chars().count())
.unwrap_or("")
}

fn most_frequent(s: &str) -> &str {
use std::collections::HashMap;

let mut counts = HashMap::new();
for word in s.split_whitespace() {
*counts.entry(word).or_insert(0) += 1;
}

counts
.into_iter()
.max_by_key(|kv| kv.1)
.map(|(k, _)| k)
.unwrap_or("")
}

fn has_reversed_word(s: &str) -> bool {
use std::collections::HashSet;

let normal: HashSet<String> = s.split_whitespace()
.map(|w| w.chars().collect())
.collect();
let rev: HashSet<String> = s.split_whitespace()
.map(|w| w.chars().rev().collect())
.collect();

!normal.is_disjoint(&rev)
}

fn program(s: &str) {
print_all_words(s);
println!("{}", biggest_word(s));
println!("{}", most_frequent(s));

if has_reversed_word(s) {
println!("One word is equal to another reversed");
} else {
println!("Op is a faggot");
}
}
>>
Why is C++ used at all now that a faster language (Go) has been created?
>>
>>61678173
what about muh generics tho?
>>
>>61678173
>Garbage Collection
>Fast
>>
>>61678155
akari is cute!
>>
File: anal beads.png (25KB, 1335x353px) Image search: [Google]
anal beads.png
25KB, 1335x353px
>>61678109
You can use eta reduction, in some cases. The call has to be unambiguous and an actual function. However, that doesn't make much sense in the context of a property, which Length is. It would be easier if those methods were local to the class I'm working in, but it could look like this (there's really only one valid usage of eta reduction here):

static void HomeworkOfAnon(string input) => input.Split(' ')
.Where(x => !string.IsNullOrWhiteSpace(x))
.DoWithAll(x => { WriteLine("Words: " + string.Join(", ", x)); return x; })
.DoWithAll(x => { WriteLine("Longest word: " + x.OrderByDescending(y => y.Length).First()); return x; })
.DoWithAll(x => { WriteLine("Most common word: " + x.GroupBy(y => y).OrderByDescending(Enumerable.Count).First().First()); return x; })
.DoWithAll(x => { WriteLine("Reversed Duplicate: " + x.Intersect(x.Select(y => new string(y.Reverse().ToArray()))).FirstOrDefault() ?? "no reversed duplicates"); return x; });
>>
>>61678285
yes, it's a shame there's nothing like
(.Length)
>>
>>61678342
????
>>
File: 1426106843146.png (7KB, 800x600px) Image search: [Google]
1426106843146.png
7KB, 800x600px
just finished an online currency converter
AMA
>>
>>61678342
Oh, are you saying to use
Enumerable.Count
instead? Yeah, you could do that, then it would eta reduce just like in the most common word line.
>>
>>61678358
like you would do (.Length) and it would be translated into (x => x.Length)

>>61678385
Something like that yeah
>>
>>61677593

puts "entor sum wordz, pl0x:"
wordz = gets.chomp

puts "1) u entord: " + wordz

puts "2) da longest of dem words is whomst's: " +
wordz.split.sort_by{|x| x.length}.first

puts "3) Da most appearancest had: " + wordz.split
.reduce(Hash.new(0)) {|hash,x| hash[x]+=1; hash}
.sort_by{|k,v| v}
.last[0]

puts "4) Are there are some palandrones? " +
case (tmp = wordz.split.select{|x| wordz.reverse.match x}.uniq.sort)
when [] then "--> No, mang!!"
else "Fuakk yes, there are:\n #{tmp}"
end

puts "kthnxbye"
>>
>>61678285
Simplified with a more general side-effect-only function:
static void HomeworkOfAnon(string input) => input
.Split(' ')
.Where(x => !string.IsNullOrWhiteSpace(x))
.Do(x => WriteLine("Words: " + string.Join(", ", x)))
.Do(x => WriteLine("Longest word: " + x.OrderByDescending(Enumerable.Count).First()))
.Do(x => WriteLine("Most common word: " + x.GroupBy(y => y).OrderByDescending(Enumerable.Count).First().First()))
.Do(x => WriteLine("Reversed Duplicate: " + x.Intersect(x.Select(y => new string(y.Reverse().ToArray()))).FirstOrDefault() ?? "no reversed duplicates"));
>>
>>61678472

..oops, in the second task it has to be ".last" instead of ".first"


Shiiiiet!
>>
I was reading this
http://www.paulgraham.com/icad.html
And I got to the appendix about relative power of languages. Is this accumulator function something that gets used around in lisp? I'm not sure what's the point of making it that convoluted, why not just say "write a function that takes n and i and returns n incremented by i". I mean, if this is something that's only used for the purpose of showing that lisp simply can do it then that isn't much "power" is it?
>>
>>61678640
>Paul Graham
opinion discarded
>>
Support NetRunner
>>
>>61678640
It's a very contrived example to show off lexical closure and anonymous functions but you could use it like this.

Add 1 to every number in a list
(map (foo 1) alist)


In practice you'd use a macro to automate fixing parameters like that rather than writing a parameter fixer.
(map (cut + <> 1) alist)
>>
File: w.png (581KB, 762x464px) Image search: [Google]
w.png
581KB, 762x464px
stop writing fizzbuzz
>>
>>61678848
make me
>>
>>61678848
What was the "fizzbuzz" of your school, anon? Our teachers made us write sin(x) or bublesort functions in C on the first lesson out of the blue.
>>
>>61675067
Ruby is just Lisp (+ Smalltalk (+ Perl))
>>
>>61679008
writing and reading to and from various databases

not even kidding, this was the primary focus of most of my programming classes
>>
>Search up some specific code tutorial to read
>Uses putc/getc commands


FUCKING REEEEEEE MOTHERFUCKERS STOP USING THIS OUTDATED SHIT IT CONFUSES ME ALL THE TIME.
>>
>>61679380
What's confusing about it.
>>
>>61679380
>OUTDATED SHIT IT CONFUSES ME ALL THE TIME.
>things that I don't understand are outdated
>>
>>61679404
Nothing's confusing, he's referring to the fact that gets() has been deprecated in C99 and removed in C11.
>>
File: 5D5agzG.jpg (43KB, 704x480px) Image search: [Google]
5D5agzG.jpg
43KB, 704x480px
>>61679380
>he doesnt work with file descriptors
Might aswell use java
>>
>>61679421
He never mentioned gets, Anon.
>>
>>61679433
Oh yeah fuck my reading comprehension.
>>
Do any of you guys have a separate machine specifically for development?

I've been thinking of building a micro pc specifically for development work, which I can remote into if I need to. I could set it up with multiple VMs, so I can quickly switch between environments configurations.

Just trying to think about the kind of hardware I'd want for that.
>>
>>61679500
I only have loonix for programming
The api is so much nicer than windows'
>>
>>61678935
make
>>
>>61679516
its linux you fucking meme pleb
>>
>>61679670
thanks
>>
>>61679500
>Do any of you guys have a separate machine specifically for development?
no, but if i'm on my laptop I ssh into my PC and dev from there
>>
Any actual easy way to have colored text displayed in WPF?
Tried using a RichTextBox but shit can't databind.

Is the only "real" solution really to use somesort of html engine?
It's for showing colored text in a tooltip.
>>
https://pastebin.com/raw/bvRKRbVR
The Write() call crashes TianoCore, even though the file has been successfully opened with the EFI_FILE_MODE_WRITE flag (and it's not a directory either)
Thank you Intel for this wonderful piece of software
>>
>>61675067
this is wrong. do you even know lisp at all?
>>
File: bash.jpg (49KB, 720x483px) Image search: [Google]
bash.jpg
49KB, 720x483px
We need faster shells

A bash to C compiler would be a good way to start
>>
>>61680359
templeos has a C interpreter as a shell
>>
>>61680376
Great, the worst of both worlds
>>
aaaaaaaaahhhhh
>>
>>61679979
Christ

This looks awful, similar to Windows.
>>
>>61680388
>imblying a C REPL isn't amazing
i will admit, however, using it as a shell is hell
>>
>>61680442
?
>>
>>61678173
in what way is go faster?
>>
So now that Rust and Mozilla are dead what language should I learn? I'm honestly thinking about moving on to C++.
>>
>>61680512
you're basically a faggot if you don't already know elementary C++
>>
>>61680512
>just gained official plugin support from Jetbrains
>Facebook is using it in a major VCS
>Mozilla continues to support it along with Servo
How is Rust dead?

You should learn C++ anyway, though. It'll make you appreciate Rust a lot more.
>>
Learning Scala using the 'Programming in Scala' book.
The language is much better than Java and Kotlin, but lacks the comfy feeling of Clojure.
>>
>>61680552
Rust is on a trajectory to death, you can tell by how much people are trying to push it online. The compiler is too slow to ever be used in a corporate environment where there are rapidly changing dependencies and huge compile binaries. It's also never going to achieve it's theoretical performance and C++17's new template features kill Rust'a generics.
>>
>>61680512
I don't really care about Rust but I'd like to see Servo being stable and embeddable in C++ programs. I'd love an alternative to CEF that's not such a clusterfuck.
>>
>>61679968
<TextBlock Foregound="Green">some text</TextBlock>

Or something like that
>>
>>61680512
Learn Ada, it has all of rust's safety[tm] features and actual job prospects that don't involve you dying your hair and chopping the two off.
>>
>>61679968
cant you just use styles?
>>
>>61680512
Move on to C++. Modern C++ that is.
Rust has no job offers
Rust has slow compile times
Rust has a shit community
Rust is not an industry standard
>>
>>61680667
>Rust has slow compile times
compared to C++ I doubt that.
>>
>>61680655
false, Ada and Rust are very different. Ada focuses more on runtime safety whereas Rust is focused on compile time safety. one of the side effects of this is that in Ada you can't use the same memory management model as Rust, which basically gives you static garbage collection
>>
>>61680512
rust dead? i see new projects everyday. right now, you can have a full environment almost entirely developed in rust.
>>
>>61680655
Ada is the very definition of the over engineered programming language. good it has died long ago.
>>
>>61680676
Unless you make heavy use of templates, compile times in C++ are decent.
>>
>>61680682
That was only true prior to Ada2012 which had a full compile time check suite
>>
>>61680442
yeah it reminds me of win32 too
>>
Hasklets, what's the difference between a Monad and a regular OOP class?
>>
>>61680874
nothing in common
>>61680755
99% sure Ada has no equivalent to Rust's memory management
>>
>>61680652
>>61680656
problem is that it has to be multiline and sometimes each line has to be a different color.
it's in a datagrid, with a ton of items.

otherwise i'd have to add a property as a list full of labels with different colors and have the tooltip be a listbox.
it's just so messy and a pretty shitty solution for something that SHOULD have been easy
>>
>>61680978
<StackPanel>
<TextBlock Foreground="Red">Red text</TextBlock>
<TextBlock Foreground="Blue">Blue text</TextBlock>
</StackPanel>


or

<TextBlock>
<TextBlock Foregound="Blue">Blue text</TextBlock>
<LineBreak />
<TextBlock Foregound="Red">Red text</TextBlock>
</TextBlock>


should work.
>>
>>61680874
a monad is a side-effect abstraction technique.
a class is a data and implementation abstraction technique.
>>
I am buying 1 million dollar ideas for 100$, but the money will only be given to you if I like your pitch. So go ahead and pitch, maybe I can pay for your food expenses this month.
>>
>>61680635
I guess we'll see. I agree they really need to work on compiler performance, but the rest of the language is shaping up fine. Generators are landing in nightly soon, which will finally give Rust a complete async story. The library ecosystem is moving along at a good pace, the documentation is improving, the tooling is improving, etc.

There were some poor decisions that'll plague the language for it's lifetime made early on (no namespaces in Cargo, relegating the extremely common "impl Trait" notation to something ugly and making the obscure DST notation short and easy to use, releasing without a complete macro system (no namespaces) when the language is fairly dependent on macros.

I think it'll work out fine, though Rust 2.0 or the language inspired by Rust will probably be better.
>>
>>61681186
We are not businessmen, we are programmers
>>
File: 1500072699570.png (24KB, 324x505px) Image search: [Google]
1500072699570.png
24KB, 324x505px
>>61672457
Nothing really impressive to be honest. I'm just jumping back into python 3 after a while of not coding.
>>
So I am working with Python Regex to parse HTML Code
Basically I want to match everything that is surrounded by a certain div class, like:
'<div class="_asdf" aria-level="3" role="heading">LITERALLY ANYTHING</div>'


I have tried the brute-force way:
([\&,/öäüÖÄÜA-Za-z0-9\.<>\s-]+)


But since that is giving me problems with the Ampersand sign and googling doesnt really help I am kinda out of ideas. Any idea how I could change the regex to match ampersand signs?
>>
>>61681186
/biz/ gtfo
>>
>>61681315
>regex
>HTML

sasuga python retards
>>
>>61681315
something like
/.*<div class="your_div_here">(.*?)<\/div>.*/
>>
>>61681315
now you have two problems
>>
>>61681315
Use an HTML parser, not regex. Regex are not powerful enough alone to deal with nested delimiters. Consider what happen if you have a div inside a div: it'll match the first opening, and first closing div tag, giving you the wrong result.

For further reading, look up the "Chomsky hierarchy".
>>
>>61681315
just use beautifulsoup
>>
>>61681401
>>61681410

Its working alright, it just doesnt find elements with an Ampersand in it. Why should I start from scratch now?
>>
>>61681477
you'll make a great programmer anon
>>
Every other month there is a lad trying to parse html using regex, hehe

>>61681477
>Why should I start from scratch now?
Because now you know that's not sane to do it that way. Throw that away and use bsoup. Using beatiful soup can hardly be considered "from scratch" tbqh.
>>
>>61681477
I'd hire you.

We need more programmers who aren't worried about hard to trace bugs and subtle edge cases that cause program disintegration.
>>
>>61681477
mom I need waste 5 seconds starting from scratch waaah ;_;
from bs4 import BeautifulSoup
info = BeautifulSoup('whatever', 'html.parser').find_all('div', _class='_asdf').findChildren()
>>
does anyone have the programming projects list in image format? It was color coded by difficulty.. Or any coding project lists will do.

Trying to improve my skills.. I asked last thread but I didn't get a reply
>>
>>61681529
>find_all
>findChildren

How hard can it be to stick with one naming convention.
>>
>>61681529
>.findChildren()

kek
>>
C/sheme minecraft anon, you there? Compile your thing in wasm for us
>>
>>61681543
I think it's just me being a nigger, they were changed some time ago I think but the old names are kept or something. I might be wrong.
>>
>>61681359

That actually did the trick, much obliged.
I cut the leading /.* and trailing .*/ though
>>
>>61681315
https://stackoverflow.com/a/1732454
>>
>>61681776
heh

this connection to linguistics and different types of grammar really shows how much cross-field knowledge humanity has attainted though
>>
>>61677487
>std::reverse(s.begin(), s.end())
That's not even a full string reverser, you lying sack of shit
>>61677614
>You can't write proper C++ because you don't understand what the compiler does under the hood. You lack the understanding of computer architecture to write proper code.
>You would know right away that UTF-8 and wide strings wouldn't be able to handle a reversing that easily.
Yeah, I didn't even expect C++ to work with UTF-8, the example was taken directly from cppreference, you can go project your insecurities all over their website
C++ is truly garbage, it didn't change a bit since I used C++11. I don't see what the fuss is all about. (((Rust))) is actually more expressive for me which is why I am going back to it.

Who knows may be I will use C++ when it gets basic iteration tools, modules and UFCS
>>
>>61681018
this is stupidly over-simplification of my problem and no, that won't work.
>>
>21 of unresolved external symbol __imp__*
i never asked for this
>>
>>61675029
Your soul gets crushed doing the hand crafted labor of someone else. Your sanity goes into making rich people richer and your life whittles away as your eyesight fades, your wrists lose their mobility.
As the darkness surrounds you, your last utterance is "that feel when no gf."
>>
>>61682098
just like link your shit man
>>
>>61682143
yeah I dunno I wanted to build a static library and use it in my project but when my project links against the library it spergs out, not sure what I'm doing wrong
>>
>>61682176
Did you build it yourself?
is the current master compatible with your compiler?
>>
>>61682338
>Did you build it yourself?
yes

>is the current master compatible with your compiler?
hard to say, all the libraries available for download out there are built with older version of the compiler, that's why I'm bothering doing it myself in the first place, I assume that it wouldn't break compatibility though
although, officially, they do not support building with the compiler (or there's vague instructions that you're on your own)
>>
File: netrunner.png (507KB, 750x537px) Image search: [Google]
netrunner.png
507KB, 750x537px
>>61672457
Support NetRunner >>61682359
>>
>>61672457
Has anyone done any shitposting lately?
https://youtu.be/Q8zC3-ZQFJI
>>
>>61682358
>officially, they do not support building with the compiler (or there's vague instructions that you're on your own)
theres your answer lad, what library though?
>>
>>61682389
it's Lua, but it works with previous versions of the compilers, or rather people managed it to get working with VC, I just need to build it with MSVS2017 (and all I can find is MSVS2015 at best)
>>
>>61682381
>icon is racist fast food moon
wow how about no
>>
>>61674824
You mean flexbox?
>>
File: Moonman_468c9a_5634526.jpg (60KB, 732x732px) Image search: [Google]
Moonman_468c9a_5634526.jpg
60KB, 732x732px
>>61682429
>discriminating a logo
>>
>>61682429
Is not, anyway that isn't the only logo you know.
>>
>>61672457
A program to make any essay into a thesaurus'd up piece of shit
>>
>>61682389
>>61682408
fwiw I used this tutorial:
https://blog.spreendigital.de/2015/01/16/how-to-compile-lua-5-3-0-for-windows/

except I need Lua 5.2.x and build it with MSVS 2017 (vc 14.1), but then I link against the static lib and it errors with a fuck ton of unresolved names errors
>>
/dpt/ how do I setup a PHP script to communicate with a server terminal?

I have a C program that runs on a background terminal on boot, reading from that terminal's stdin and writing to its stdout. Every line, whether coming in or going out, is prefixed with a number and whitespace. The number indicates the line's source or destination session ID. The whitespace is there so people can't just tack on extra digits and interfere with each other's sessions.

The idea is, I'd like to have people be able to interact with this background terminal from a webpage. Kind of like SSH, but in a browser, and restricted to the C program in question.
>>
>>61682524
>I need Lua 5.2.x
Whys that?
And mixing compiler versions rarely works, and if it does youre bound to run into week-long debugging cases where it ends up being a result of the mismatch.
>>
File: 96f.jpg (20KB, 600x450px) Image search: [Google]
96f.jpg
20KB, 600x450px
>>61682444
>a discriminating logo complains about discriminating a logo
>mfw
>>61682461
>Is not
https://en.wikipedia.org/wiki/Mac_Tonight
>>
>>61682555
>/dpt/ how do I setup a PHP script to communicate with a server terminal?
Bad idea. Bad bad idea. Don't do this.
>>
>>61682569
>Whys that?
I don't remember anymore, it's a project I started over a year ago and I had a reason for that

>And mixing compiler versions rarely works, and if it does youre bound to run into week-long debugging cases where it ends up being a result of the mismatch.
I'm not mixing compiler versions, I need MSVS2017 (vc 14.1) to build my project because it addresses some of the issues of C++14 that the previous version couldn't handle, and I'm building the library for the same version, using the same version
>>
>>61682613
Why? That sounds like a great idea to me.
>>
File: 1498732447364.jpg (370KB, 640x640px) Image search: [Google]
1498732447364.jpg
370KB, 640x640px
I need to make a data structure in python that stores data which is pulled from webpages. Where do I learn about this exactly? I've taken a data structures class for Java, so I'm sure it won't be too hard to learn how to make a hash table in Python. But im pretty unsure on how I'm going to parse through webpages and convert json objects. Where can I read up on this?
>>
>>61682868
web scraping
>>
>>61682868
first fetch a Web page's contents from its url
then parse it into json
You should be able to Google this.
>>
Hey anyone got that summer projects screenshot everyone always asks about?

100 projects from easy to difficult
>>
File: 1468618371689.png (1MB, 3840x2160px) Image search: [Google]
1468618371689.png
1MB, 3840x2160px
>>61683286
>>
Trying to make a Caesar's cipher decipher/encypter
Without looking at other peoples code
Pretty easy on the encrypting part
The dechiper part is a little tougher, but i'm working on it
>>
>>61683318
Thanks champ
>>
>>61680888
You're 100% wrong, it does.
>>
>>61682021
Did you bother to read the follow up posts which tells you exactly how you can do it in C++? Typical Rust liar.
>>
>>61683346
it's literally the exact same process, just in reverse
how are you this retarded
>>
New thread:

>>61683686
>>61683686
>>61683686
>>
>>61683688
I don't like this thread.
Someone should make a better one.
>>
>>61683688
no
>>
>>61683683
You know that i'm talking about deciphering a cipher without knowing how it was encrypted right?
And not even by "oh, let's try every combination, there are just 26"
I'm trying to use an algorithm to detect the most used letter and then change the entire text by seeing which is the most used letter in a given language
Did you really think I was that retarded to not even know how to just swap something to reverse it?
>>
>>61683701
>>61683704
>>61683688
real bread (now with dubs)

>>61683744
>>61683744
>>61683744
>>
>>61683751
>Did you really think I was that retarded to not even know how to just swap something to reverse it?
do you know where you are?
we ration IQ points here
>>
>>61683764
Yeah, i should've know that, and in some extent I am retarded
Seeing as i'm writing it both in Java,c++ and c#
Anyway, really not that hard
Just fucking long to write
>>
>>61682140
but i fence somewhat regularly and i have a bf
>>
>>61683863
>bf
gay
>>
>>61684223
>not liking qt guys
Thread posts: 321
Thread images: 28


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