[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: 346
Thread images: 42

File: prog.jpg (105KB, 473x496px) Image search: [Google]
prog.jpg
105KB, 473x496px
Old thread: >>60892877

What are you working on, /g/?
>>
first for r*st is trash
>>
File: 03-doge_01.jpg (37KB, 570x420px) Image search: [Google]
03-doge_01.jpg
37KB, 570x420px
>>60898229
Join us devs, we are making a web browser >>60885202

Currently we are voting which engine to use http://www.strawpoll.me/13187911/r
>>
File: IMG_0616[1].jpg (2MB, 3264x2448px) Image search: [Google]
IMG_0616[1].jpg
2MB, 3264x2448px
>>60898197
>That sounds fucking miserable. Also, doesn't MSVC not actually follow the C standard?
Having learned programming it in c89 actually helped me when I had to program microprocessor stuff that only supported c89.
MSVC is a c++ compiler as far as I know. So it only does borked c.
>>60898214
I run Windows 8.0 so no Windows 10 here.
>>
>>60898214
A lot of people are not using Windows 10.

>>60898250
My first professor required us to use C89. I was more referring to using MSVC which as you said, only does borked C.
>>
>>60898261
Ah well things worked out for me at the end so I don't really care if it was borked c.
>>
first for /Java/
>>
>>60898321
Java is lame
>>
In C if you have 2 identical anonymous structures is it always safe to assign them? The compiler gives warning that assignment from incompatible pointer type.
>>
File: Untitled Diagram (1) (1).png (49KB, 609x509px) Image search: [Google]
Untitled Diagram (1) (1).png
49KB, 609x509px
reposting this, anyone have experience with SQL window functions or spark?

some python to convert list of pings into sessions based min/max session time params

https://gist.github.com/f00-/9457af17d5dceddd2f0f6232a23ad81a

need to get this to run with pyspark next
http://blog.ibmjstart.net/2015/12/15/spark-wifi/

might replace it with window functions in SparkSQL
https://databricks.com/blog/2015/07/15/introducing-window-functions-in-spark-sql.html

making something similar to meraki location analytics
https://documentation.meraki.com/MR/Monitoring_and_Reporting/Location_Analytics
>>
>>60898261
that's why i said "if you use windows 10"
>>
>>60898380
That warning sounds unrelated to having 2 identical structs
>>
in c++ when should I pass by reference and when by pointer?
>>
>>60898229
excellent edition
>>
>>60898380
>2 identical anonymous structs
a better question is, why not one non-anonymous struct
>>
>>60898465
muh macros making generic data structures.
>>
>>60898380
you'd have to read the standard to be sure
but on most implementations, yes
>>
>not always putting the curly braces at the end of the line so your c looks more pythonic
#include <stdio.h>
int main() {
char const* words[3] = {
"why", "even", "live" };
for (int i = 0; i < 3; i++)
printf("%s%c", words[i],
((i == 2) ? '\n' : ' ')); }
>>
>>60898451
References are like pointers except for a few cases. If you pass by reference to avoid copying a large structure use a const ref.
But other than that there's no reason to choose either.
>references can't be null/invalid
Not true. You just cover the one case where you pass an inappropriate rvalue as a pointer. Can't do that with references without hassle.
>>
>>60898502
How about no
>>
>>60898502
>not putting all the curly braces and semicolons at the start of the line so your code can be even more pythonic
>>
>>60898502
I do that for initializers when I was going to fit them on one line, but it was too long
>>
>>60898506
>>references can't be null/invalid
>Not true.
template <typename T>
T& make_null_ref() {
return *(T*)NULL; }
int main() {
make_null_ref<int>();
return 0; }
>>
File: pythonic.png (66KB, 597x255px) Image search: [Google]
pythonic.png
66KB, 597x255px
>>60898502
>>
>>60898542
>
{
{
{
;}
{
{
;
;}}}
{
;
;
;}}

fucking lel fgt
>>
>>60898451
That's a tough question. References do not make it explicitly clear that you're passing the same object rather than a copy of it, so it can get rather confusing
Personally, I restrict references to a few cases.
>Operator overloads. They're usually mandatory there.
>The argument is a const reference. As far as client code is concerned there is no difference between this and pass-by-value, so the use of a const reference can be considered an implementation detail.
>When using rvalue references and move semantics.
>>
File: Screenshot 2017-06-14 19.10.20.png (154KB, 1203x910px) Image search: [Google]
Screenshot 2017-06-14 19.10.20.png
154KB, 1203x910px
I got annoyed at the shit traffic system in Cities:Skylines so I started making my own traffic simulator to see if I can do better. So far I have a clunky road editor where you can manage lane shape and connectivity with a lot of variety available. It's very slow to use but since I can save scenes between sessions it's not a huge issue. Next up would be implementing actual traffic.
>>
Advice on becoming a better programmer needed

>>60898481

pls halp
>>
>>60898588
Language? Libraries?
>>
>>60898577
>put all references in a hashtable on creation
>assert address
brilliant solution
>>
>>60898612
C# with .net 4.6 or something and OpenTK for vector math and openGL bindings. Windows forms for UI as you can probably tell.
>>
Do employers get put off by bitcbucket accounts with good projects but with a retarded username? I've been using mine for ages using my school nickname.

I'm 27 now and thinking about switching jobs, that's where the concern comes from.
>>
>>60898618
>references in a hashtable
Can't do it. You can't have a pointer to a reference, a reference to a reference, or an array of references, because the size of a reference is implementation defined and generally can't even be retrieved.
>>
>>60898665
As long as it's not obscene or too retarded they probably won't care. I recently change mine to first-initial + last name + birth year just to be sure
>>
>>60898665
Wow, it would be pretty hard to make a new account and re-upload the code to it.
>>
>>60898665
It'll probably be fine as long as its not XX_N1GG3R_ST0MP3R_XX or something
>>
>>60898538
>using NULL
1998 wants its NULL back. please use nullptr next time.
>>
>>60898724
>using obfuscations like NULL or nullptr instead of the true value, 0
how pedestrian
>>
>>60897701
What kind of little pissbitch are you that you'd quit a job over stupid shit like that?

I need this database application to drop into their Sharepoint easily without dealing with all of the large organization bullshit and red tape that it would take to get approval to put this data on a cloud server. It would be infinitely more of a pain in the ass to figure out whose dick I would need to suck to get approval for upgrades than it is to learn VBA. It's like you've never actually had a real job before...

>>60897707
>I make websites for a living.
>Nobody will ever trust me for anything Importantâ„¢.
>>
>>60897707
Retard detected
>>
>>60898745
>Using string literals instead of writing your own char[]s
>>
File: corner.jpg (18KB, 385x415px) Image search: [Google]
corner.jpg
18KB, 385x415px
I've now spent a week fixing a crappy program written in Coffeescript. Some shitbag decided that the best way to write a desktop program was to use 100% webdev crap. Coffeescript that gets compiled to Javascript using a chain of shitty NPM scripts (that recompile the whole program EVERY time you change something in any file, because makefiles aren't webscale) that then gets run in a window using nw.js. The UI is a mismash of Javascript, HTML templates and CSS styles written... not in CSS but a NPM style language called Stylus. It has about 700 kilobytes of source code (plus HTML/etc. stuff), split across over hundreds of tiny files. There are 46 NPM modules in the source tree. All years old. Nothing can be updated without breaking something.

Or something like that. I don't care anymore.

In the past week I've seriously started contemplating about my future wrt. programming. Coffeescript and this whole fragile, convoluted chain of web crap has made me hate programming, and I've been writing code for over 20 years. I realized that this *is* how a rather large number of websites are made today. Convoluted chains of fragile Javascript-based languages that compile to other languages, executed by more Javascript, interpreting even more Javascript, downloading even more and more and more Javascript. The pile of Javascript gets reshuffled at least once every month. Nothing remains still. Just wrappers inside wrappers.

I already told my boss that I will fix the remaining issues I was assigned to, but then I either quit or someone else will have to continue from there. I am not touching that pile of shit anymore. Give me C, C++, Python, even fucking Ruby, I don't care. But I don't do Coffeescript or Javascript anymore.

I'd love to go annoy and piss off Coffeescript's author, but I know it won't accomplish anything.

Apologies for the rant. I had to get it off my chest. This is the only place I can post something like this.
>>
>webshit
stopped reading
>>
>>60898818
wasm cannot come fast enough
>>
>>60898818
I feel you here.

I worked with Phonegap for a while.
>>
>>60898665
Depends on how edgy your name is.
>>
>>60898229
Why is she always so angry
>>
File: 1497259534681.png (1MB, 1440x2048px) Image search: [Google]
1497259534681.png
1MB, 1440x2048px
where can i find jdk 1.0.2 ?
>>
File: 1488589420294.png (7KB, 377x330px) Image search: [Google]
1488589420294.png
7KB, 377x330px
>>60898706
Shit
>>
>>60898922
wtf
>>
File: sweat frog.png (209KB, 604x613px) Image search: [Google]
sweat frog.png
209KB, 604x613px
>>60898706
>>
>>60898845
isnt it out already?
>>
>>60898922
//c, c++
if (condition) {
}

//c#, java
if (condition)
{
}
>>
>>60899000
I use top for C and bottom for C++
>>
>>60899000
disgusting
>>
>>60898701
Cause they're not gonna think you just copied the code when they see all the commits were in one day
>>
>>60899000
kys
>>
>>60899011
>>60899030
t. brainlets
>>
>>60899020
>i wanted to transition my code into a more professional account
>ah yes, thats perfectly understandable
>>
What is the best version of BASIC?
>>
>>60898982
dumb frogposter
>>
>>60898973
>>60899000
>>60899005
>>60899011
>>60899030
>>60899033

I had no intention of starting shitstrom. I just want my answer. Thank you.
>>60898922
>>
>>60898665
>>60899020
>>60899046
Just make a new project in your old account with something like "migrated to new_username"
>>
>>60898818
I feel you man
>>
Ok, smartasses
How do we make webshit great (again?)
>>
>>60899258
rewrite everything
>>
>>60899269
in Rust?
>>
File: 1350594293765.jpg (111KB, 500x500px) Image search: [Google]
1350594293765.jpg
111KB, 500x500px
When writing OpenGL shaders, is there a way I can send an random amount of uniform variables to the GPU? Like some kind of vector or an array with indeterminate size which I can populate at-runtime?
>>
>>60899258
It was never great and never will be
>>
>>60899302
You can have an array and also a uniform int describing how much of that array is used
>>
>>60899302
RTFM
>>
>>60899284
In assembly

Anything more is botnet
>>
>>60899322
Yes but if I make an array of 200 big, it'll reserve 200x whatever I put in it as memory on the GPU, instead of just whatever I want to put in it.

>>60899334
Which manual? The khronos GLSL pages?
>>
>>60899365
apparently you can use buffers in OpenGL 4.3 and up
>>
File: ran_disgust.png (53KB, 204x288px) Image search: [Google]
ran_disgust.png
53KB, 204x288px
>>60898502
>pythonic
>>
What's the best x86 emulator?
>>
I'm looking at learning SDL, any recommended books or online tutorials?
>>
>>60899589
bochs or qemu
>>
>>60898588
Traffic modeling is gonna be a fucking pain in the ass my sis. One of the toughest kind of PDEs to solve.
>>
>>60899601
lazyfoo, sdl2 wiki and google
>>
>>60899601
suicide hotline
>>
>>60899589
An x86 CPU.
>>
>>60898229
/dpt/ - Designated Pajeet Thread
>>
>>60899624
I was thinking of doing the simulation with discrete cars as actors, and then having a simplified driving AI for each car. It's a neat problem that shouldn't be impossibly hard to solve.
>>
>>60899619
>>60899700
What if you want something like DOSbox where you just want to run x86 software?
>>
>>60899788
Qemu does that well then
>>
>>60899746
Well, keep in mind you are comparing your simulation to something that is real time (since it's a video game) and not starve the other parts of the engine. But you can use mods to change the traffic experience of the game.
>>
what is a good book / course to get the logic behind programming?
>>
>>60899951
You don't learn that from a book. Start writing code.
>>
>>60899258
Ban websites that are over 300Kbs
>>
>>60899258
/s/JavaScript/Scheme
>>
>>60899937
Traffic mods don't really help much in C:S. All cars on the same route will still change lanes in the exact same spot, causing jams. My thinking was that adding random weights for each car's preferences in route choosing, as well as allowing cars to choose the least congested lane on multi-lane roads would be fairly simple and not too heavy-weight to plausibly run in a real-time game. Maybe not in Unity where you can't use multithreading but still.
>>
>>60899258
Make a new internet, the normalfags already invaded where they don't belong.
>>
>>60900036
The smartphone is what killed the internet
>>
>>60900024
So Clojurescript then?
>>
>>60900069
It compiles to JavaScript so it's not a replacement.
>>
>>60899994
Then you're just going to get a bunch of infinite scroll websites faggot
>>
>>60899977
I did and half of the programming projects I've encountered in K.N. King C programming : a modern approach are way over my head..
>>
>>60900106
Find easier excersises.
>>
Is it true? Do I have to accept the leakage?
My autism can't handle this.
I need 0 errors reported! REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE!
>>
File: 1486751685606.jpg (1MB, 3072x1728px) Image search: [Google]
1486751685606.jpg
1MB, 3072x1728px
class B {
B() {};
B(const B& b) {};
}

void func(B* b);
void func(const B& b);


What's the difference between these two "func", what are the advantages of using pointer over reference and vice-versa?
>>
Why does this code print a list? It should print the highest value.
(use '[clojure.string :only (split triml)])

(
let [
arr (for [arr_temp (range 6)] (map #(Integer/parseInt %) (split (read-line) #"\s+") ) )
]
(let [flat (flatten arr)]
(println
(max
(for [i (range 4)]
(let [idx (* i 3)]
(println idx)
(+
(nth flat (+ idx 0)) (nth flat (+ idx 1)) (nth flat (+ idx 2))
(nth flat (+ idx 7))
(nth flat (+ idx 12)) (nth flat (+ idx 13)) (nth flat (+ idx 14))))))))
)
>>
>>60900380
What is that shit font rendering. Fix it
>>
if(input==1) ClassA object;
else if(input==2) ClassB object;

object.do_shit()


How do I do something like this? I have two objects, ObjectA and ObjectB. Both of them have a member function called do_shit(). I want to instantiate either one or the other, and call that function on it. Would the above work?
>>
>>60900440
references can't be null
you also specified const so it can't be modified
>>
>>60900463
*ClassA and ClassB, not ObjectA and ObjectB
>>
>>60898229
source on her?
>>
>>60900462
What's your specific issue with it?
>>
>>60900463
class Class {
virtual void do_shit() = 0;
};
class ClassA : Class { ... };
class ClassB : Class { ... };

...
Class object = (input == 1) ? ClassA() : ClassB();
object.do_shit();
>>
>>60900494
/prog/
>>
>>60900513
>virtual

That's the concept I was looking for. Thanks.
>>
>>60898818
Is this bait?
>>
>>60900513
>Class object = (input == 1) ? ClassA() : ClassB();

What does this line do?
>>
>>60900608
if input == 1
object = ClassA()
else
object = ClassB()

C++ doesn't have if expressions (only statements) so you have to fuck around
>>
>>60900608
shorthand conditional

if input == 1, object = ClassA(), else object = ClassB()
>>
>>60900461
>he fell for the meme
>>
>>60900608
? Is the ternary operator. You evaluate the statement in front of it. If true its the first statement (after the operator before the colon) if not its the expression after.
Exists in many languages. Has many forms.
>>
so where can i find easy programming exercises?
>>
>>60900890
Fizzbuzz is the only exercise you need
>>
>>60900461
I fucked up big time. This works.
(use '[clojure.string :only (split triml)])

(
let [
arr (for [arr_temp (range 6)] (map #(Integer/parseInt %) (split (read-line) #"\s+") ) )
]
(let [flat (flatten arr)]
(println
(apply max
(for [i (range 0 12 3)]
(+ (nth flat i) (nth flat (+ i 1)) (nth flat (+ i 2))
(nth flat (+ i 7))
(nth flat (+ i 12)) (nth flat (+ i 13)) (nth flat (+ i 14)))))))
)
>>
>>60900440
They are inherently different. I'd link my blog post on the C semantics, which has a section on this, but it's not finished (it's quite long).

Pointers are values, they are simply integers with a defined set of legal operations that can be performed on it; like addition and subtraction, and dereferencing. When you pass a pointer, you are copying a pointer value. This does not affect the binding of a name to the memory location holding the pointer value (also known as a variable) in the calling scope. Because of this, the value of the pointer can change, but the binding of the name to memory address holding the value cannot. Because of the copy, this means that there is no way to alter the value of the pointer in the calling scope from inside a function, merely change the values at the memory address the pointer points to.

References are more like variables. They are not values. When you pass a reference, you are passing the name to memory location binding of the calling scope to be bound to a new name in the calling scope. Because of this, you can modify the binding in the calling scope. You can't implement a swap function as it exists in the C++ std lib without references, because the function must modify the memory location the variables are bound to.
>>
>>60900890
hackerrank
ribbit dailyprogrammer
a book full of programming challenges (dunno the name)
>>
6. Write a program that prompts the user to enter a number n, then prints all even squares between 1 and n. For example, if the user enters 100, the program should print the following :
4
16
36
64
100
>>
Bugs You'll Probably Only Have in Rust
https://gankro.github.io/blah/only-in-rust/

Rust as a gateway drug to Haskell
http://xion.io/post/programming/rust-into-haskell.html

just sayin ...
>>
>>60900961
Karl Marx
just sayin ...
>>
>>60900975
You're a faggot
just sayin...
>>
>>60900890
Programming exercises are kinda useless.
Write software instead. Find solutions to problems. Learn to improve things. It's more practical. Programming challenges are really bad at teaching you anything more often than not.
>>
>>60900960
let () =
let n = read_int () in
let rec loop i =
let i2 = i * i in
if i2 <= n then
begin
print_endline (string_of_int i2);
loop (i + 2)
end in
loop 2
;;
>>
>>60898250
MSVC does have a pure C mode, but it really only has support for C90, since that's what MS uses for low-level stuff. It only supports those C99 features that were already added for C++.

>>60898538
That would typically segfault though, since you're can't obtain a valid object by dereferencing a NULL pointer. The closest you can get to a true null reference in C++ is to create a "null object" of whatever type the reference is, and point the reference to that. But since references are immutable it's often pointless - there simply isn't a practical way to implement a mutable linked list using references, for example.
>>
>>60900993
>() =
>;;
>end
why is ocaml so fucking ugly?
>>
>>60900993
>recursive function
Why?
It's so much clearer in a simple loop.
>>
>>60900960
fn print_even_squares(up_to: u64) {
for sq in (1..).map(|n| n*n).filter(|n| n & 1 == 0).take_while(|&n| n <= up_to) {
println!("{}", sq);
}
}
>>
>>60900908
I went to one of those math competitions as a kid and there were a bunch of assholes playing fizzbuzz. I thought it was the dumbest shit I've ever seen, but I understand why you guys are so obsessed with it. My parents awarded me praise for critical thinking, problem solving, and creativity, not reciting algorithmic factorization games. So, that is what I am good at, and enjoy, as an adult.
>>
>>60900992
I figured, guess i have to find something to write instead of doing these exercises.
>>
who /impostorsyndrome/ here
>>
>>60901101
Not me. I know I'm better than all of you.
>>
File: blackman.png (345KB, 547x456px) Image search: [Google]
blackman.png
345KB, 547x456px
>>60901111
Show me.
>>
>>60901019
t. brainlet
>>
>>60901088
Yeah. Sadly your own project ideas are the best because that's where you will come up with features you want to actually implement well.
>>
File: retard.gif (480KB, 493x342px) Image search: [Google]
retard.gif
480KB, 493x342px
>>60901019
>>() =
>>;;
>>end
;; is optional
But since when safety is a bad thing?

>>60901023
>It's so much clearer in a simple loop.
What is a loop anon?
>>
>>60901088
If you are self-learning, you must apply programming to personal projects, not boring math shit you read in books.

Otherwise, you're going to run out of steam to keep learning.
>>
>>60901130
Watch my digits.
>>
>>60901132
enjoy your GIL dumb cunt.
>>
How is Boost's date_time local_time supposed to work? The documentation shows
tz_database tz_db;
tz_db.load_from_file("./date_time_zonespec.csv");
These specifications are based on data found in the zoneinfo datebase. The specifications are stored in the file: libs/date_time/data/date_time_zonespec.csv
but I can't find it anywhere, Boost doesnt provide this file. Isn't Boost supposed to be this top tier library?
>>
>>60901146
I meant those digits.
>>
>>60901136
>>60901134
Thanks, this gives me some hope and motivation to build some things :)
>>
>>60901159
Ok nevermind I guess I suck too.
>>
>>60901148
t. brainlet
>>
>>60900960
goto is the future
void p_even_squares(int max)
{
int i;
int sqr;
i = 2;
loop:
if (i % 2 == 0)
{
sqr = i * i;
if(sqr <= max)
{
fprintf(stdout,"%d\n", i * i);
i++;
goto loop;
}
goto end;
}
i++;
goto loop;
end:
return;
}
>>
>>60901268
>those if conditions
You could at least try and only use comparison with 0.
>>
>>60900960
run = do                                                                        
num <- readLn
let even_squares = filter (\x -> (even x) && (is_square x)) [1..num]
str = (unlines . map show) even_squares
putStrLn str

is_square n = sq * sq == n
where sq = floor $ sqrt $ (fromIntegral n::Double)
>>
>>60901268
Anon did you even try?
void p_even_squares (int max) {
int i;
int sqr;
i = 2;
loop:
sqr = i * i;
if (sqr <= max) {
printf ("%d\n", sqr);
i += 2;
goto loop;
}
}
>>
This fails on x = 0x8000_0000, n = 0 because it ANDs x with a vector that has a zero in the MSB.
int logicalShift(int x, int n) {
int b = 1;
b <<= 31; // This makes the MSB 1, all other bits zero.
b >>= n; // Takes advantage of arithmetic shift.
b = ~b; // Create a mask.

return x & b;
}


The legal operations I can use are ! ~ & ^ | + << >>, can't use conditionals or loops. Should I change my approach, or is there something I can add to fix this?
>>
File: 2017-06-14_1355.png (111KB, 1078x940px) Image search: [Google]
2017-06-14_1355.png
111KB, 1078x940px
rate my shitty attempt at writing code for work
>>
Asking again, any intro to C++ books that can bring me up to latest standards and practices?
>>
>>60900960
>>60901038
Now with user prompt and error handling
use std::error::Error;
use std::io::Read;
use std::str::FromStr;

fn prompt() -> Result<u64, Box<Error>> {
println!("Enter a positive number: ");
let mut inp = String::new();
std::io::stdin().read_line(&mut inp)?;
Ok(inp.parse()?)
}

fn print_even_squares(up_to: u64) {
for sq in (1..).map(|n| n*n).filter(|n| n & 1 == 0).take_while(|&n| n <= up_to) {
println!("{}", sq);
}
}

fn main() {
if let Ok(n) = prompt() {
print_even_squares(n);
} else {
println!("Not a number, fgt");
}
}
>>
>>60901101
all the time.

It's taken me a long time and a lot of praise from strangers to start to believe that I should actually be doing this shit for real.
>>
File: huhwhat.png (188KB, 348x292px) Image search: [Google]
huhwhat.png
188KB, 348x292px
>using a raspberry pi b (with the first gen cpu) as a master node for an 8-unit cluster
>realize I forgot a bunch of packages in my initial deployment image
>decide to set up the master node as a router
>slow as fuck
>pinging something on my main network takes 23ms
>currently downloading about 2gb of stuff each through a 500kb/s wifi dongle
one little mistake
>>
>>60901268
Absolutely disgusting. See me after class.

void p_even_squares(int max)
{
int i = 2;
loop:
if (i % 2 == 0) fprintf(stdout,"%d\n", i * i);
i++;
if (i * i <= max) goto loop;
return;
}
>>
>>60901464

use raii and smart pointers.

That's pretty much it
>>
>>60901463
php syntax is such a fucking disgusting, inconsistent mess
>>
>>60901533
That's Powershell
>>
>>60901391
I forgot to paste the shifting of x, but the question sill stands.
int logicalShift(int x, int n) {
x >>= n;
int b = 1;
b <<= 32; // This makes the MSB 1, all other bits zero.
b >>= n; // Takes advantage of arithmetic shift.
b = ~b; // Create a mask.

return x & b;
}
>>
>>60901541
jesus
>>
>>60901556
>b <<= 32;
fuck it all, this was supposed to be shifted by 31.
>>
how do i insert values into an array in psql other than by typing manually all the indexes?
>>
>>60901391
>>60901556
Nice portability... NOT

int b = 1 << ((CHAR_BIT * sizeof(int)) -1);

See me after class.
>>
>>60901556
> >>=
>muh monads
> <<=
>muh comonads
>>
File: dlang_chan.jpg (70KB, 349x368px) Image search: [Google]
dlang_chan.jpg
70KB, 349x368px
Threadly reminder that dlang-chan has RAII; she's quite fast in execution and compilation; she's becoming fully memory-safe; and she's super duper cute! Say something nice about her, /dpt/!

>Tour
http://tour.dlang.org/
>Books
https://wiki.dlang.org/Books
>GC
https://dlang.org/blog/2017/04/28/automem-hands-free-raii-for-d/
https://wiki.dlang.org/Libraries_and_Frameworks#Alternative_standard_libraries_.2F_runtimes
>>
>>60898982
dumb frogposter
>>
>>60901478
>>60901354
>>60901325
>>60901268
>>60901038
>>60900993
feel pretty much a brainlet not figuring this out.
>>
>>60901811
>tfw
>>
>>60901354
i feel pretty bad for nut using +2
>>
>>60901696
The assignment is assumed to be a 32 bit machine, the whole point of the assignment is bit manipulation, not to be practical. It's one of CMU's labs, its academia.
But, yes, I absolutely agree with you that would be better.
>>
File: 1459615127241.jpg (17KB, 286x380px) Image search: [Google]
1459615127241.jpg
17KB, 286x380px
>>60900960
import std.stdio, std.range, std.algorithm, std.math;

void main()
{
int ceil;
readf(" %s", &ceil);

iota(1, ceil+1)
.filter!(a => a%2 == 0 && ((a^^0.5).trunc)^^2 == a)
.each!writeln;
}
>>
>>60898982
dumb frogposter
>>
3. Write a program that asks the user to enter a fraction, then reduces the fraction to lowest terms :
Enter a fraction: 6/12
In lowest terms: 1/2
Hint : to reduce a fraction to lowest terms, first compute the GCD of the numerator and denominator. Then divide both the numerator and denominator by the GCD ( Greatest common divisor).
>>
>>60902290
main = (readLn :: IO Rational) >>= print

example:

1024 % 62
>512 % 31
>>
I want to learn to program in C, where do I start pro/g/rammers?
>>
>>60902317
note that in the REPL they could also do
>import Data.Ratio ((%))
>a % b
>>
>>60900941
>When you pass a reference, you are passing the name to memory location binding of the calling scope to be bound to a new name in the calling scope.
int& int_ref = *(new int(7));
// How can the name-address binding of this object be aliased if there is no name to begin with?
>>
>>60902290
let rec gcd a = function
| 0 -> a
| b -> gcd b (a mod b)
;;

let () =
let line = read_line () in
Scanf.sscanf
line " %d / %d "
(fun n d ->
let n, d = if d < 0 then -n, -d else n, d in
let gcd = gcd n d in
Printf.printf "%d/%d" (n / gcd) (d / gcd);
print_newline ())
;;
>>
>>60902317
Is this haskell?
that looks pretty easy, for this exercise i hate C to be fair.
>>
>>60902488
readLn gets a line from the console and parses it (the :: IO Rational is telling it to parse it as a rational, which will be something like
a % b
)

Rational automatically simplifies it, then it prints it
>>
>>60902290
extern crate num;

fn print_frac(numer: isize, denom: isize) {
let frac = num::Rational::new(numer, denom);
println!("{}", frac);
}
>>
>>60902388
what makes you think that's even how references work? bitch a reference is just a pointer that most operations cause to degenerate into the result of dereferencing it
>>
File: 1377384333246.jpg (32KB, 1118x514px) Image search: [Google]
1377384333246.jpg
32KB, 1118x514px
>>60902133
>>
>>60902133
>a%2 == 0 && ((a^^0.5).trunc)^^2 == a
I'm pretty sure you can just do _mm_popcnt_u32(a) == 1 .
>>
>>60902677 (You)
>a != 1 && _mm_popcnt_u32(a) == 1
ofc
>>
>>60902133
>^^
>>
File: Untitled.jpg (5KB, 858x725px) Image search: [Google]
Untitled.jpg
5KB, 858x725px
>>60902677
>>60902703
>microsoft
>mfw
>inb4 dumb frogposter
>>
5. Write a program that computes the sum of all positive integers.
>>
>>60902752
Actually it's Intel: https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=pop , all the compilers should support it.
>>
>>60902290
>3.
>>60902764
>5.
where is 4.?
>>
>>60902764
#include <stdio.h>

int main()
{
printf("%f\n", 1. / .12);
return 0;
}
>>
>>60902752
stupid frogposter
>>
File: doobmcfroob.jpg (3KB, 373x550px) Image search: [Google]
doobmcfroob.jpg
3KB, 373x550px
>>60902848
I already inb4'd you, your argument is invalid
>mfw he calls himself a computer science but cannot even a rhetoric
>>
>>60898570

> putting effort to (you)
>>
>>60902874 (You)
>>
>>60902866
stupid illiterate frogposter
>>
>>60902787
>3.
Just picking random ones but for you.
4. Add a loop to the broker.c program of Section 5.2 so that the user can enter more than one trade and the program will calculate the commission on each. the program should terminate when the user enters 0 as the trade value:

Enter value of trade: 30000
Commission: $166.00

Enter value of trade: 20000
Commission: $144.0

Here is broker.c from section 5.2
/* Calculates a broker's commission */

#include <stdio.h>

int main(void)
{
float commission, value;

printf("Enter value of trade: ");
scanf("%f", &value);

if (value < 2500.00f)
commission = 30.00f + .017f * value;
else if (value < 6250.00f)
commission = 56.00f + .0066f * value;
else if (value < 20000.00f)
commission = 76.00f + .0034f * value;
else if (value < 50000.00f)
commission = 100.00f + .0022f * value;
else if (value < 500000.00f)
commission = 155.00f + .0011f * value;
else
commission = 255.0f + .0009f * value;

if (commission < 39.00f)
commission = 39.00f;

printf("Commission: $%.2f\n", commission);

return 0;
}
>>
File: lel.png (150KB, 1280x1280px) Image search: [Google]
lel.png
150KB, 1280x1280px
>>60902888
You're the illiterate one if you can't tell I already inb4'd you
class Poster
def intellect
:not_much
end
end
module Frog
def intellect
:a_lot
end
end
you = Poster.new
me = Poster.new.instance_eval do
extend Frog
self
end
>>
>>60902388
>what are temp variables
Dummy.
>>
>>60900960
On my phone, lol.
local n = io.read ("*d")
for i = 2, n-1, 2 do
print (i*i)
end
>>
how do i set vim keybinds in the python repl?
>>
>>60903078
close but you have to stop when i*i >= n, not what you have here
>>
Any D fag here? What higher order function is there to find the common elements in the given array?

import std.stdio, std.range, std.algorithm, std.conv, std.string;

void main()
{
//find gcd
stdin
.readln
.strip
.splitter('/')
.map!(to!int)
.map!(n => iota(1,n+1).filter!(p => n%p ==0))
/*
.find_common
*/
.fold!("a>b")
.take(1)
.writeln;
}
>>
>>60903312
God damn, D is fucking stupid.
>>
>>60903331
What makes you say so?
>>
File: 1493966535984.jpg (45KB, 374x330px) Image search: [Google]
1493966535984.jpg
45KB, 374x330px
Who here knows makefiles? Can't for the life of me find anything about my problem on the internet.

I want to do something like make (insert file name here) and I just want it to generically use a single rule for that, but it would compile only all the files inside the folder name. Is this at all possible?
>>
>>60903256
>between 1 and n
>example is 1 through n
Okay.
>>
>>60903347
>makefiles
>the year of 2017
>>
>>60903367
What do you use then? Some proprietary binary build information format that will be dead in six years?
>>
>>60903347
So you give it a filename, and it compiles everything in a folder? I don't understand.
>>
>>60903414
Cargo.toml is FLOSS
>>
>>60902547
You really don't understand what pointers are.
>>
define_method(:sayer_module) {|str|
Module.new.module_exec(str) {|str|
define_method(:say) {
super() if defined?(super)
print str}
self}}
greeter = Object.new
['Hello', ' ', 'world', '!', "\n"].each {|str| greeter.extend sayer_module str}
greeter.say
>>
>>60903367
>current year
>not building manually
>>
I'm reading a file with fread in C, reading sequences of 4 bytes. Apparently if I don't manually advance the position by 1 byte, the first byte of the next read will be the last byte from the previous read? I mean, I have to do this to get the expected values:

fread(x, 1, 4, fp);
fseek(fp, 1, SEEK_CUR);
fread(y, 1, 4, fp);
fseek(fp, 1, SEEK_CUR);

Is there something I don't know? It seems less clean this way, I feel like I shouldn't need to seek manually.
>>
>>60903486
>Current year
>Not writing machine codes
>>
File: 1497219465712.png (473KB, 600x564px) Image search: [Google]
1497219465712.png
473KB, 600x564px
>>60903367
What else would I use for my toolchain?
>>60903427
Lets say I have the folder aaaa and bbbb in a folder with the makefile. The folders contain source files. I want to issue the command make aaaa and it would compile everything inside the folder aaaa to binary files.
I don't want to use multiple concrete rules for that though, each named after the folder, I want to just be able to plop down a new folder with files and it will work without changing anything.
Is this possible?
>>
>>60903495
>current year
>not cutting out the middleman of programmability and addressing all your modern computing needs by building custom circuits with a custom circuit builder you cast in a single piece from molten silicon you scavenged from the sea floor while sailing over international waters on a wooden ship you made from trees you grew from the seeds of fruit you ate
>>
>>60903519
>What else would I use for my toolchain?
use cmake or autotools instead of plain makefiles
>>
>>60903519
Use a real package manager
>>
File: 1497402565620.png (923KB, 922x896px) Image search: [Google]
1497402565620.png
923KB, 922x896px
>>60903540
I don't need any dependencies, I don't need all that stuff cmake is used for, why would I write a cmake file just to generate one single makefile that I would keep using forever? Unless I don't understand cmake
>>
>>60903494
What does the file contain?
>>
>>60903576
I'm programming an arduino though, I didn't want to use the shitty IDE """"sketches"""" shit so I'm stuck making my own stuff. I want to rewrite the C++ libraries in C to get smaller binaries, and I would need to compile lots of stuff by very simple make rules, I just need someone to tell me whether what I want to do is possible, and maybe a pointer to the part of the hueg makefile documentation where it documents that feature.
>>
>>60902290
in Lisp this is just
 
(read)
>>
>>60903587
It's a PNG image. I'm reading one of the chunks after the header.
>>
>>60903613
Are you dealing with endianess correctly? I'm pretty sure PNG is big endian.
>>
>>60903609
>I want to rewrite the C++ libraries in C to get smaller binaries
you're not gonna get small enough binaries to stick the linked executable on an arduino
literally just use idiomatic c
>>
Reminder that distributing binaries is harmful.
>>
>>60903627
Ah that's most likely it, that hadn't crossed my mind. Thank you!
>>
File: 1493243930820.png (587KB, 625x918px) Image search: [Google]
1493243930820.png
587KB, 625x918px
>>60903630
What the fuck are you talking about? They already fit as C++, they just use like 6kb for the basic display driver and splashscreen. Not sure what you mean with idiomatic C.
>>
>adult male
>doesn't know at least 5 programming languages
>>
>>60903688
>adult male
>virgin
you should get out desuu~
>>
>>60903688
>programmer
>doesn't know at least 5 adult males
>>
>>60903347
the sooner you realize no one on dpt can help you with anything, the better. it's only good for rubber ducking honestly
>>
>>60903688
define "know"
>>
File: wtf.jpg (106KB, 400x341px) Image search: [Google]
wtf.jpg
106KB, 400x341px
https://graphitemaster.github.io/gmqcc/
> we support the oddities, and otherwise broken or incorrect behaviour
> rest easy knowing your code will work.
Literally wat
>>
File: 1494526840474.jpg (137KB, 500x500px) Image search: [Google]
1494526840474.jpg
137KB, 500x500px
>>60903744
Too bad, really hoped people would help each other because everyone knows something, but I guess this should just be called daily flame wars or something
>>
>>60903831
lainchan and reddit are both pretty good for getting resources, reddit with the sticky for whatever topic's subreddit and lainchan with their pdf share thread on the lambda board
>>
>>60903753
know
/nəʊ/

verb
1. can't write bizzbuzz in said programming language in under 2 minutes
>>
I recently created my own steganography program in python. What are some other projects that are useful or have real world applications that I can do? Writing a different type of data struct or writing a typing speed calculator is boring at this point.
>>
>>60903633
How exactly? It makes software accessible to people who don't feel comfortable compiling stuff, and if anyone is concerned about viruses, they're free to compile it themselves. It just gives people more options. What IS harmful is distributing software only in binary form, without sources being readily available.
>>
>>60903961
how about a script to restore your settings to the way you like them if your work computer's hard drive gets toasted
>>
please help bros

im using the PHP mail function to send an email, it works if i only send 1 email, but if i send around 10 in a while loop, none of them get sent. What do?
>>
I think I just hit gold.

Just argued with a Gotard over Generics and sum types/unions. I mentioned the error monad (Either<T,Error>) as an example which involves both sum types and generics.

His response was "Just make your function return an empty interface, and concretely return either the intended type or an error, mark return types in comment".
>>
>>60904009
swiftmailer
>>
>>60904017
This is why Python babbies shill for Go. It's basically a dynamically typed language that pretends that it is statically typed because it can express "returns an int", but in any nontrivial case it's basically untyped.

Just treat it as a weakly typed dynamic language with a somewhat C-like statically typed subset, instead of treating it like a statically typed language.
>>
>>60904048
there's literally nothing wrong with dynamic typing for personal programming, and i've never heard of python programmers liking go. the only language i hear python programmers generally wanting to learn is C/C++ because python's written in C and you can make write python module's in C when you need high performance
>>
>>60903519
That's piss easy m8. I'll fill you in in a few.
>>
>>60904048
Real programmers don't need types
>>
>>60904196
python has types though, they're just dynamic
>>
guys i got a question regarding meshes and UV maps. When you have a mesh and replace each vertex by the corresponding UV, so vertex.x = u and vertex.y = v, and, vertex.z=0 will the mesh itself be 'flattend' onto the xy plane? Basically texture mapping but from mesh to plane as shown by pic related.

AM i getting the concept right?
>>
>>60904218
Real programmers don't use Python.
>>
http://104.200.138.151:8080/

I'm working on my multiplayer game. WASD to move, mouse to point and shoot.

Backend is in C.
>>
>>60904263
I'm using C BTW
>>
Retard here. How do I get python to read a string backwards until it reaches a certain character, then slice off everything before that character?
>>
>>60904231
real programmers use java
>>
File: c.png (316KB, 500x556px) Image search: [Google]
c.png
316KB, 500x556px
>>60904263
>>
>>60904295
Real programmers use COBOL.
>>
>>60904272
x = len(str) - 1
while x >= 0:
if str[x] == character: break
else: x -= 1
str = str[0:x]
>>
>>60904272
Follow these instructions :^)
import std.stdio, std.range, std.algorithm, std.conv, std.string;

void main()
{
stdin
.readln
.dup
.strip
.reverse
.splitter('#')
.take(1)
.writeln;
}
>>
>>60904355
x = len(str) - 1
while x >= 0 and str[x] != character:
else: x -= 1
str = str[0:x]

is cleaner, forgive my earlier pajeetness
>>
>>60904396
Thanks, it werks :^)
>>
>>60904444
are you grilling me for doing your hw for you and forgetting to remove the else when i changed it
>>
File: 1*NO8C9y2QNEb5iPjtXISATg.png (35KB, 600x375px) Image search: [Google]
1*NO8C9y2QNEb5iPjtXISATg.png
35KB, 600x375px
Rust or Go?
>>
>>60904472
i'm good
>>
>>60904472
Rust and D
>>
File: vomit.jpg (90KB, 650x650px) Image search: [Google]
vomit.jpg
90KB, 650x650px
>>60904472
>>
>>60904514

haskell or clojure?
>>
>>60904504

thanks
>>
File: maxresdefault.jpg (271KB, 1920x1080px) Image search: [Google]
maxresdefault.jpg
271KB, 1920x1080px
>>60904527
>>
>>60904543

But-t I already used C on a project senpai
>>
File: c.png (312KB, 500x556px) Image search: [Google]
c.png
312KB, 500x556px
>>60904572
>>
>>60904586

r u uing me? :^)
>>
>>60904586
>When you use Rust and haven't told anyone else to use it in the last 10 seconds
>>
>>60904624
>When you use ANSI C and havent said When you use Rust and haven't told anyone else to use it in the last 10 seconds
>>
>>60904645
>When you use Rust and you haven't said When you use ANSI C and haven't said When you use Rust and haven't told anyone else to use it in the last 10 seconds
>>
>>60904662
>When you use ANSI C and you haven't said When you use Rust and you haven't said When you use ANSI C and haven't said When you use Rust and haven't told anyone else to use it in the last 10 seconds in the last 10 seconds
>>
>>60904662
>When you use Rust and you haven't said When you use ANSI C and you haven't said When you use Rust and you haven't said When you use ANSI C and haven't said When you use Rust and haven't told anyone else to use it in the last 10 seconds in the last 10 seconds
>>
>>60904624
>>60904645
>>60904662
>>60904681
>>60904699

hey reddit how u doin
>>
>>60904713
this is 4chan
>>
Any R wizards here?

I'm trying to work my way up doing some serious work but I'm getting tripped up on the basics.

I have data (US tax data) that lists US State aggregate as every 1 + 6th column. Since I just want a summary of aggregate income for each state I want to create a frame that holds just the aggregate income for every state (18th row) and combine that for 4 years (I have 4 sets in total of the same data for different years).

I created a vector of every 6th number (1, 7, 13, 19 etc) but how do I create a new frame that holds the respective column for the 18th row?
>>
>>60904730
>4chan
Isn't that a girls' website?
>>
>>60904713
>le reddit boogeyman
grow the fuck up and contribute.
>>
>>60904263
what language is the back end in?
>>
>>60904913
Java most likely.
>>
what's wrong with rust?
>>
>>60904808

:^) nice contribution friendo
>>
>>60904942
everything
println!("{}",var);
>>
File: arbitrary.png (27KB, 1073x415px) Image search: [Google]
arbitrary.png
27KB, 1073x415px
>>60898229

>Looking at first challenge on hackerrank
>First piece of boilerplate has this code with arbitrary length buffer and no input length check
>>
>>60904942
Requires you to use the "unstable" compiler to get most of the good features, such as reasonably sized binaries. Retains the ugly portions of C++ syntax.
>>
>>60904959
printf("%d", var);
is somehow okay?
>>
>>60904958
>:^)
>>>/v/
>>
>>60904965
In D it's just readln();
>>
>>60904942
claims to be a language that should be used for safe, close to the metal applications yet it doesn't even have a memory model. it doesn't even have a strict definition of its semantics
>>
>>60905080
<:^) mine has a party hat
>>
>>60904090
I like Python and Go. I'll see myself out.
>>
>>60905137
Every language has a memory model
>>
Is C# shit?
pls respond
>>
>>60905160
do you know rust's memory model?
>>
>>60905180
no
>>
>>60905180
yes
>>
>>60905181
You don't
>>
>>60905181
no one does
>>
First for Python
>>
>>60905195
no, nobody does except the devs. that's my point
>>
r8 my modern autoconf approved code.


/* This macro is helpfully set by autoconf where necessary. Be sure to use AM_C_PROTOTYPES in your autoconf file to set it correctly
*/
#ifdef NOPROTOS
int
afunction (parameter1, parameter2)
char *parameter1;
int parameter2;
#else
/* This variation only works with modern compilers. It is important to use autoconf so that this code remains portable
*/
int afunction (char * parameter1, int parameter2)
#endif

>>
>>60905214
No. Your point was "Rust does not have a memory model" and you are wrong.
>>
>>60905048
its not and C is not, no.
Getting tired of you rustlets assuming anyone who hates rust is a c-fag
>>
New thread:

>>60905260
>>60905260
>>60905260
>>
>>60905253
>arguing semantics like a retard
>>
>>60905181
Can you demonstrate that Rust's memory model is significantly different from that of C++?
>>
>>60905255
If you are not even using C/C++ you are not eligible to argue about Rust. These 3 languages are not scripting languages like yours
>>
>>60905282
That as an amazing demonstration of backpedaling
>>
>>60905284
no, I can't because I don't know rust's memory model
>>60905294
rust doesn't have a memory model
>>
>>60900960
main = readLn >>= mapM_ print . foo
where foo = filter even . takeWhile (<=n) $ map (^2) [1..]
>>
File: coq.jpg (74KB, 1045x636px) Image search: [Google]
coq.jpg
74KB, 1045x636px
>>60905282
>>60905284
>>60905286
>>60905294

There's currently a massive project to formalise Rust's memory handling with CoQ. It'll be a few years before it's finalised, but it's already found bugs and shown they are pretty stringent on it.
>>
>>60905286
writeln(look how simple this is", var)

writeln("rustlets unironically stuck in the 80s)
>>
>>60905313
Every language has a memory model
>>
>>60905327
>4 months ago
kek
>>
>>60905243
Why exactly are you supporting K&R syntax? The ONLY platform I know of that requires that is ELKS, literally everything else has at least an ANSI C compiler, as well it should since ANSI C is over a quarter of a century old. Besides, it's possible to mechanically convert regular declarations to K&R style, so rather than write code like that yourself, simply use a conversion utility. And honestly, if you're expecting to target ANSI and K&R, the function declaration style is basically the least of your problems. There's all sorts of weird differences between the dialects that makes them incompatible.
>>
>>60905327
Why on earth didn't they sort out the memory model a long time ago?

Rust smells of being a language that doesn't know whether it wants to be C++ or OCaml, and is currently neither
>>
>>60905328
writef("%s", "Do you know what the difference is between writef and write? Hint: 'f'');
>>
>>60905344
nah, it doesn't have a memory model
>>
>>60905371
>The height of illiteracy
>>
>>60904959
>>60905255
>>60905328
Are you seriously implying that format strings are bad? Don't be fucking retarded.
They are infinitely better than whatever concatenation garbage you're going on about.
>>
>>60905371
what's a memory model and what's rust's like?
>>
>>60905402
$"Your name is {name} and you are {age} years old";

No one does it better than c#
>>
>>60905422
Oh wow
println!("{subject} {verb} {object}",
object="the lazy dog",
subject="the quick brown fox",
verb="jumps over");
>>
>>60905422
That's a format string, you fucking idiot.
>>
>>60905402
D has formatted string as well. I don't understand why some D fags and Rust fags blindly hate each other
>>
>>60905317
Post output
>>
>>60905354
It's basically a joke I put together after being memed to hell because "your code can't be portable without autoconf".

Except my code already works on everything from the last ten years, and when I make that point, I get a bitchfest being ignorant of old platforms, etc etc.

Honestly autoconf should DIAF.
>>
File: 1485473684854.png (408KB, 824x792px) Image search: [Google]
1485473684854.png
408KB, 824x792px
>>60905454
It's cute to see Dfags think that anybody actually gives a shit about them, and that their language actually has any change of succeeding.
>>
>>60905501
Who gives a shit about you though?
>>
>>60905390
rust doesn't have a memory model
>>
>>60903519
You could have makefiles in each of your source directories and have the top level makefile build the project using the makefiles in each source folder
>>
>>60905462
>>
>>60905512
Ur mum lol
>>
>>60905538
What terminal is this?
>>
>>60905519
>>60905160
>>
>>60905432
>>60905437
pls be kind
>>
>>60898745
NULL is actually a macro to ((void*) 0)
Thread posts: 346
Thread images: 42


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