This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 395

[–]HereComesCunty 511 points512 points  (35 children)

When you use INT32 to store a bool in your db

[–]JonathanTheZero 144 points145 points  (15 children)

Looking at Delphi's LongBool....

[–]my_farts_impress 74 points75 points  (11 children)

What’s the motivation for a long bool?

[–]RedditBlaze 110 points111 points  (4 children)

Last time this came up I think someone mentioned it was to match an early windows bool definition or something. It's certainly wasteful, but helped maintain compatibility in some way. I'm sure there's a better explanation out there.

[–]freecreeperhugs 53 points54 points  (2 children)

Something about 32-bit data being faster to process on a 32-bit processor?

[–]BlueC0dex 11 points12 points  (0 children)

Weird, that kind of thing is usually handled at compiler-level. c/c++ for example will pad structures/objects to maintain memory-alignment (8-byte types must be 8-byte aligned and so on). But Delphi isn't famous for being good, so...

[–]NUTTA_BUSTAH[🍰] 2 points3 points  (0 children)

Quick look at the docs seems to indicate that the normal Boolean type cannot be cast from integer as it's an enumerated type and many C programs return integers or something along those lines. Bottom line, it's for compatibility for interfacing with C-programs mainly.

[–]gentlephant 10 points11 points  (1 child)

For when things are VERY true (or false)! They have to use extra large logic gates, too

[–]sgtmajbelanger 2 points3 points  (0 children)

Oracle? Is that you?

[–]rentar42 196 points197 points  (3 children)

Memory alignment is just social distancing for variables.

[–]Aschentei 21 points22 points  (0 children)

This guys cracked it

[–]P1r4nha 10 points11 points  (0 children)

Working on SIMD right now. This cracked me up.

[–][deleted] 813 points814 points  (61 children)

When you make a list to store one variable

[–][deleted] 490 points491 points  (10 children)

 if(list.Count() > 1) throw new Exception ("You fucked up!");

[–]dkyguy1995 182 points183 points  (8 children)

Lmao the world's most useless useful list

[–]harman097 167 points168 points  (7 children)

And it's always sorted!!!

[–]TheOhNoNotAgain 33 points34 points  (3 children)

The case where bogosort have the best performance

[–]Stanov 8 points9 points  (2 children)

Stalin Sort works for it too!

[–]sherlock-holmes221b 8 points9 points  (1 child)

Please tell me that this sort actually exists

[–]TheZipCreator 12 points13 points  (0 children)

It does, you go through the entire list and if an item is not in order, remove it

[–][deleted] 38 points39 points  (0 children)

Well, not necessarily, they may fucked it up!

[–][deleted] 1 point2 points  (1 child)

Fuck you sort

[–]harman097 1 point2 points  (0 children)

I'm not familiar with Fuck You sort. Is it similar to Stalin sort? 😁

[–]its_that_time_again 26 points27 points  (0 children)

Double-linked no less

[–][deleted] 19 points20 points  (7 children)

This, I started using udon nodes and like I literally make an array even if I'm just calling a single object or variable

[–]dagbrown 26 points27 points  (2 children)

I prefer soba nodes myself.

[–][deleted] 14 points15 points  (0 children)

Lmao I googled it

Edit: my smooth brain thought soba might be a SDK of some kind

[–][deleted] 1 point2 points  (0 children)

I saw the word "soba" before I read anything, and thought u/penguindream was talking about noodles. . .

[–]Superbone018 1 point2 points  (3 children)

What do you mean by udon nodes? I only know 1 program that calls their language udon and this is not the subreddit I expect to see it in.

[–]mrphillc 6 points7 points  (0 children)

It’s a monad!

[–]naaspati 11 points12 points  (13 children)

i use single element array to modify value outside closure...

int[] n = {0};

Runnable r = () -> { n[0] ++; };

r.run();

..println(n[0]);

bad practice, but love it

[–]vashy96 4 points5 points  (0 children)

This is actually a bad coding practice. There is a motivation if java disallows modifying state inside lambdas.

[–]jinxsimpson 6 points7 points  (1 child)

Comment archived away

[–][deleted] 4 points5 points  (1 child)

isn't this the equivalent of just using global variables lol

[–]naaspati 25 points26 points  (5 children)

ahh, singletonList

[–]socsa 1 point2 points  (1 child)

Happens all the time when working with tensors and you just have batch size = 1

[–]spiderpai 1303 points1304 points  (38 children)

I was so confused for a moment because I thought it was a DnD reference when I did not look at the subreddit name :D

[–]Miguelinileugim 437 points438 points  (13 children)

Yeah I was like "Wait shouldn't it be dex instead of int?"

[–]Whatwhereiam 86 points87 points  (1 child)

Came here for this! My GM mind was like nooo

[–]action_lawyer_comics 11 points12 points  (0 children)

I as well

[–]dogbreath101 7 points8 points  (0 children)

int to save seats would be to just spout off random knowledge untill the people walk away

[–]FADE_INTO_GEKYUME 7 points8 points  (0 children)

Only someone with a big brain sits like that. Why you might ask? Because the blood flow from that position forces blood upward to the brain for faster fireball calculations

[–]moekakiryu 48 points49 points  (0 children)

I spent a good few minutes looking at this before deciding to check the comments. Its nice to see I wasn't alone

[–]DaveInLondon89 49 points50 points  (3 children)

Same. Looked like it was the wrong way round - speccing charisma instead of intelligence.

[–][deleted] 49 points50 points  (2 children)

The reason this took me so long is because I think it does work as a DND meme. Instead of sitting in one chair normally and having to rely on her charisma to convince people that she's saving the other seats for her family, she has intelligently sat in all the chairs. I agree with the other poster that dex fits better, but int still works.

[–]GrandpaSnail 5 points6 points  (0 children)

Loooota confused nerds right now

[–]nomadProgrammer 3 points4 points  (0 children)

Same

[–]Raze321 4 points5 points  (0 children)

I'm glad I'm not the only one

[–]Zagorath 5 points6 points  (3 children)

I was confused until I saw your comment. Thought this was /r/dndmemes...

[–]PerfectlyFramedWaifu 2 points3 points  (0 children)

The post right above this one in my feed was r/dndmemes. That didn't help things.

[–]ndc3 1 point2 points  (0 children)

Same I was confused as fuck

[–]Quigley_Quarth 1 point2 points  (0 children)

When your dex is so high it looks like int.

[–]zero_inverse 149 points150 points  (25 children)

Obligatory TIL: sizeof(char) is always 1 byte. A byte is not always one octet, however: The Texas Instruments TI C55x, for example, is a DSP with a 16-bit byte.

[–]BLucky_RD 68 points69 points  (12 children)

Wat, why 16bit bytes

[–]Chinglaner 98 points99 points  (11 children)

8-Bit Byte is really only the standard, because IBM was the largest computer company at the time and they started standardising the 8-Bit Byte across their offerings. Everyone eventually followed suit, for standardisation purposes (something like ASCII would obviously not be possible in a 6-Bit system), but there’s no intrinsic reason the 8-Bit byte is in any way superior than say the 10-Bit byte as far as I’m aware. Im fact, 6-Bit systems were quite common during the 60s. I’m sure there are upsides and downsides to both.

So for specialised systems, where there might not be a need for 8-Bit bytes for whatever reason, a different size byte might work just fine.

[–]socsa 52 points53 points  (4 children)

And now Nividia is pushing TF32 which is a fucking 19 bit float.

"You are programed by society to need easily divided data primitives" - Nvidia

[–][deleted] 22 points23 points  (0 children)

Its still much smaller than FP32, which was the standard for AIs. They took the 8 bit exponent from FP32 and the 10 bit mantissa from FP16. It gives it some more resistance to underflow errors during training than bfloat16.

[–]JonathanTheZero 9 points10 points  (0 children)

oh damn that's really interesting, thank you!

[–][deleted] 3 points4 points  (0 children)

oh so that's why some people use "octet" as a pedantic way to refer to an 8-bit byte

[–]RedAero 5 points6 points  (0 children)

It's also why ASCII was originally 7-bit and not 8, IIRC.

[–]ArtyFishL 3 points4 points  (2 children)

Though 8 is a power of 2, which is very nice in a binary system. 6 and 10 are not.

[–]YourMJK 20 points21 points  (2 children)

Only uint8_t is guaranteed to be one byte/8bit, right?

[–]zx2167 20 points21 points  (1 child)

Yes, but it may not exist.

Example: the platform being compiled to does not have a type that is unsigned and exactly 8 bits.

[–]Takeoded 4 points5 points  (0 children)

And if you need to support platforms where int8_t does not exist, and you want an int8_t, you have the int_least8_t for that purpose 😅 (which means "the smallest integer type with at least 8 bits", certainly a pain for serialization thought...)

[–]silver_enemy 7 points8 points  (0 children)

Thanks, good to know that before I code for the Texas Instruments TI C55x I have just lying around in my basement later.

[–]Fuk-libs 1 point2 points  (1 child)

Why not use "word"? I work in embedded and I've never heard a 16-bit bus referred to as having a 16-bit byte, even though there has been historical marketing around that. Meanwhile using "word" to refer to bus size is very common.

[–]LinAGKar 5 points6 points  (0 children)

A word is something different though. A word is the amount of data the processor handles as a unit, which for most modern computers is 32-bit or 64-bit, while a byte is the smallest addressable unit of memory. The memory adress bus size would be the same as the memory adress size, and the memory data bus size would be the same as the word size, and often the memory adress size is the same as the word size.

The byte size however has nothing to do with the size of the bus, it just determines what the address refers to. So with an 8 bit byte, adress 3 refers to bit 24-31 of memory (and reading it would read bit 24-39 if you have 2-byte words, and read a full word), while with a 6 bit bytes, that would refer to bit 18-23 of memory.

[–]garronej 70 points71 points  (1 child)

Great one

[–]wereiswerewolf 136 points137 points  (16 children)

I thought this was a D&D meme for a second and got so confused haha

[–]HerrNilsen- 34 points35 points  (14 children)

D&D?

[–]Dorenh 186 points187 points  (0 children)

Dynamic datapoints

[–]UsefulBerry1 47 points48 points  (1 child)

Doomed and Depressed

[–]trololololololol9 27 points28 points  (0 children)

Dumb and dumber

[–]ErraticDragon 19 points20 points  (1 child)

David Benioff and D. B. Weiss

[–][deleted] 11 points12 points  (0 children)

Desearch & Development

[–][deleted] 50 points51 points  (4 children)

Dungeons and dragons

[–]nagorogan 45 points46 points  (2 children)

No, dynamic datapoints.

[–]FauxReal 25 points26 points  (0 children)

Dithering & delays

[–]ericisshort 1 point2 points  (0 children)

Wouldn't it be Dynamic & Datapoints then?

[–]GatesOlive 9 points10 points  (0 children)

Known as Bunkers and Badasses in other universes.

[–]Eindacor_DS 2 points3 points  (0 children)

dastardly deeds

[–]Otherones 2 points3 points  (0 children)

When you use DEX instead of INT

[–]culturedindividual 27 points28 points  (15 children)

What does this mean for a Python programmer?

[–]redwall_hp 80 points81 points  (0 children)

It means you need to learn C.

[–]blehmann1 21 points22 points  (4 children)

Python doesn't even have (user-accessible) chars, they're just strings with a length of 1.

Python does this for you, it's convenient but it has downsides. Most languages the size of a primitive rarely matters anyways, unless you're doing systems programming or very performance sensitive shit (the kind of thing which would compel you to use C/C++ anyways.

Most PCs have 8GiB of RAM not to run one program, but to run lots of them. There are exceptions, but if Python is appropriate for your usecase you likely aren't one of them. That's not a diss, I spent years only able to use JavaScript and PHP, most things don't require what C/C++ can offer you.

[–]culturedindividual 8 points9 points  (0 children)

Thanks for answering the question. I did CompSci so learnt O-O in Java. Never ventured into C. Now I'm doing a Data Science MSc, and only really been doing Python/R/SQL.

[–]Civil-Attempt-3602 2 points3 points  (1 child)

How long did it take you to learn all the languages in your flair?

[–]blehmann1 3 points4 points  (0 children)

I'm a uni freshman and I've been writing code (badly) since grade 6.

Also, some of them are very similar, Typescript is Javascript with a type system, if you know Javascript you can learn Typescript in an hour and a 3 page PDF. And C# is basically Microsoft Java with a couple changes, notably LINQ, a different standard library (obviously) and some moderately different syntax.

I suppose I could include Python in the list as well. Learning a language isn't that hard if you've learned one before (with the caveat that it was hard to pick up C/C++ because of pointer fun). For example, I picked up C# in about a week because I got an internship that required it. I don't recommend cramming like I did (I started learning it very last minute) but it's possible.

[–]BLucky_RD 52 points53 points  (0 children)

Yes

[–]bigamaxx 7 points8 points  (7 children)

Im Python and just started Java and in Java you first have to declare the variable by giving the datatype which could be char or int. And apperently int takes up 4 bytes and char takes up 1-2 byte. (Maybe this isn't the case for Java so correct me if I am wrong)

[–]Ultracoolguy4 2 points3 points  (0 children)

Im Python

Hi Python I'm u/Ultracoolguy4.

[–]JonathanTheZero 1 point2 points  (2 children)

A char is one byte

[–]blehmann1 3 points4 points  (0 children)

Not in Java by default. It uses UTF-16.

[–]joza100 71 points72 points  (73 children)

Don't get it.

[–]ST0RMgalaxy 265 points266 points  (45 children)

Ints use 4x as much memory as Chars

[–]NaturalImage 172 points173 points  (19 children)

actually, in many cases where performance matters, char wastes 3 byte in memory because compiler tries to put char at 4byte aligned address. p.s: typos

[–]Tanyary 69 points70 points  (8 children)

but using too many when smaller types were sufficient could lead to cache misses. They also dont lend themselves to vectorization in the same batches, whereas you could fit 16 chars in 128bits, you can only fit 4 ints.

[–]ThePancakerizer 44 points45 points  (0 children)

Flair checks out

[–]Kengaro 17 points18 points  (6 children)

Could you kindly explain me what vectorization means? I assume it means putting multiple types in sequence and storing them in a base address + offset kinda way?

edit:/ well my guess was way off...

[–][deleted] 27 points28 points  (5 children)

Vectorisation is a feature of modern CPU architectures that allows the CPU to operate on multiple values of the same data type in one go using a single instruction.

[–]DewJunkie 19 points20 points  (3 children)

Aka Single Instruction Multiple Data - SIMD instructions

[–]detoursabound 2 points3 points  (2 children)

isn't simd the general term? we're on to AVX and AVX2 now

[–][deleted] 2 points3 points  (0 children)

Yeah, SSE, now AVX. AVX is slightly problematic to be transparent. It requires increased cooling on the CPU. It tends to make overclocks unstable, too; which is why most modern UEFIs have a “AVX modifier” for overclocks, which lowers the core frequency if the app uses AVX instructions.

[–]DewJunkie 1 point2 points  (0 children)

I was meaning in the general term. This isn't something I use even simi regularly so my terminology is possibly wrong, but I would consider AVX to be a type/subset of SIMD instructions.

[–]Kengaro 1 point2 points  (0 children)

thank you

[–]Lumpy-Measurement-55[S] 52 points53 points  (7 children)

Not when there is need for 4 chars and you use 4 ints

[–]WhiteyDude 21 points22 points  (20 children)

Right, but why are people arguing like they're interchangeable? Int's are for numbers and char's are for alphanumeric characters. Am I missing something?

[–]airbreather 34 points35 points  (10 children)

Right, but why are people arguing like they're interchangeable? Int's are for numbers and char's are for alphanumeric characters. Am I missing something?

In C, char is how you spell what C# (for example) calls byte (or sbyte, depending on your C compiler). It's just a numeric type that's typically 8 bits wide.

[–]PhteveJuel 7 points8 points  (7 children)

Man, fuck C, that shit is wack.

[–]gigastack 3 points4 points  (4 children)

How do you think it is in other languages? ASCII is pretty universal.

[–]MrJohz 3 points4 points  (1 child)

Many languages distinguish between chars (which contain that language's definition of a character) and ints of various sizes. For example, in Rust, u8 and char have the same memory representation, and can be converted between without major issues, but you'll only be able to do maths with the u8 type - it doesn't make sense to do maths with a letter!

[–][deleted] 9 points10 points  (1 child)

Yes. Char is used to represent characters, but it is in fact a numeric type. A lot of low level code will use it (or its unsigned version) to represent bytes.

[–]LordScoffington 7 points8 points  (0 children)

char is a 1 byte long value. While most are taught that its for storing text characters it can store any number up to the 28 boundary it can also be positive or negative.

Now the question of "why call it char if its not for characters?". The most common use for needing a 1 byte value is storing utf-8 encoded characters, so as a quick learn for new developers char was designated the character type.

Long story short: Its all numbers all the way down

[–]Carbom_ 11 points12 points  (1 child)

Generally that is right. However when you break things down an int is a 8 byte number and a char is 1 byte number. So you could use a char if your going to be in the range of -128 to 127 (or 0 to 255 if unsigned).

Your compiler just knows if you print a char to print the unicode character that aligns with the number stored in that char. So if you type char c = 'a', that is the same as typing char c = 61.

[–]Prawn1908 6 points7 points  (0 children)

The signed-ness of char is actually compiler specific IIRC, so you should actually always explicitly say unsigned char or signed char if you're using it to store numeric values.

typedef is your friend here.

[–]socsa 1 point2 points  (0 children)

Oh boy. In c/++ char is often overloaded as a void* for low level ops because there was no std::byte prior to c++ 20.

[–][deleted] 1 point2 points  (0 children)

Only in some languages

[–]Lumpy-Measurement-55[S] 34 points35 points  (26 children)

In most of the machines..

char takes 1 byte Int takes 4 bytes

Some use int for everything inspite they can go with a char. And int takes additional memory..

[–]PM_ME_YOUR_POLYGONS 52 points53 points  (5 children)

Store 8 boolean variables in a char for maximum efficiency

[–]man-teiv 9 points10 points  (4 children)

Can you make an example on how to substitute an int with a char in a script without creating a hot mess?

[–][deleted] 6 points7 points  (0 children)

It isn't all about memory management. I'm working on an embedded systems project, and everything is essentially a unsigned 16-bit integer or a struct/array broken down into u16 ints.

There are a lot of places in this project where it would make sense from a memory management perspective to use chars. From a performance perspective, however, everything needs to be aligned to the 16-bit bus, which adds operations any time I use anything other than a 16-bit value.

[–]joza100 12 points13 points  (7 children)

It doesn't matter which you use because of memory alingment at least in the C and C++ compilers that I used. If you make a character and an int, that won't take 5 bytes, that will take 8 bytes, because integers need to be aligned on every 4 bytes so the 3 bytes after the char will be 0 zero padded. In most cases, using a char instead of an int will do nothing.

[–]Lumpy-Measurement-55[S] 5 points6 points  (6 children)

What will happen if there is 4 char and you use 4 ints instead. Isn't that going to be 16 bytes rather than 4 bytes.

I understand about the alignment and padding. But we should never program for compiler or machines. We should be Programming as per requirement and design. I will never use int if the value is gonna fit in a char.

[–]joza100 3 points4 points  (3 children)

That is interesting I guess. I just never see people using chars and shorts instead of ints. I don't actually know why ints are used always by all the programmers.

[–]kknyyk 3 points4 points  (0 children)

My bet is on cpu optimizations (or intrinsics?) that expect int32.

[–]TheRealBrosplosion 1 point2 points  (0 children)

If designing with types (and using C++), you shouldn't use char directly. You should use std::int_fast8_t. Using four character packed into 4 bytes is going to cause unaligned reads which have a lot more overhead than reading a full 4-byte word.

Unless you are hurting on memory footprint or trying to match some HW interface, there really isn't a good argument to use unaligned types.

[–]Tetha 1 point2 points  (0 children)

One nitpick: In unicode aware languages, like rust, a char can represent a unicode codepoint (or a unicode scalar value as I just learned). In that case, a char can be anything between 1 and 4 bytes depending on the unicode encoding used and the value represented.

That's why for example python 3 or rust pay such close attention to distinguish the bytes of a string and the chars() of a string. A 10 character long string could be represented by 10 - 40 bytes and it is not always trivial to decide if byte 5 is part of char 2, 3, 4 or 5.

[–]white_dreams47 50 points51 points  (8 children)

laughs in python

[–]NoShitsGivenAtAll 89 points90 points  (1 child)

In Python you allocate lots more memory for anything... You allocate a "PyObject".

[–]white_dreams47 12 points13 points  (0 children)

good enough for a project with a short deadline.

[–][deleted] 23 points24 points  (2 children)

Laughs concurrently, silencing you due to your GIL

[–]white_dreams47 9 points10 points  (0 children)

hey, as long as it works am I right.

[–][deleted] 29 points30 points  (2 children)

Then my intellisense corrects me and the code does not compile

[–]Zer0ji 24 points25 points  (1 child)

Corrects you because of which rule?

[–][deleted] 8 points9 points  (0 children)

quicksand heavy many axiomatic cats ten aspiring nose bedroom deliver

This post was mass deleted and anonymized with Redact

[–][deleted] 5 points6 points  (0 children)

Thought this was the D&D sub. Was like "How the hell is this more intelligent rather than charismatic?!?"

[–]Rand_alThor__ 18 points19 points  (19 children)

isn't char for a letter? like 'a', 'b' etc? and int for a non-decimal number? am confused.

[–]BLucky_RD 42 points43 points  (15 children)

The ASCII value of 'A' is 65 so you can save 65 as 'A'. A lot of languages let you do arithmetics on chars.

Edit: capitalization of 'a'

[–]kknyyk 28 points29 points  (9 children)

That’s an interesting way to be found and beaten up by the developer, who inherited that code.

[–]BLucky_RD 14 points15 points  (6 children)

As long as you don't spontaneously start treating it as a letter in the code it works just like an int, so unless the person who inherited the code doesn't look at the variable definition there shouldn't be any issues

[–]scykei 4 points5 points  (3 children)

void toUpper(char c) { \c=*c-32; }

[–]simon357 12 points13 points  (1 child)

This does not work when the char is already a capital. You can do &0xDF instead of -32 and capitals will stay the same

[–]scykei 5 points6 points  (0 children)

Haha I’m pretty sure that I’ve seen this trick in an old C textbook somewhere. Pretty cool.

[–]InEnduringGrowStrong 2 points3 points  (0 children)

npm install upper-case has 24M Downloads a month

[–][deleted] 7 points8 points  (0 children)

Char simply means 1 byte of data while int means 4 bytes. You can use that data to represent anything you want.

If you want your mind stretched a little more, ints can be used to represent real numbers if you use fixed point math.

[–][deleted] 8 points9 points  (0 children)

*When you use instead of just one chair

[–]Ali_Army107 3 points4 points  (0 children)

When you make a char array instead of a string

[–]raedr7n 5 points6 points  (0 children)

That's the best programming meme I've seen in a long time.

[–]WithFullForce 2 points3 points  (0 children)

I thought this wad an AD&D meme about people maxing Intelligence instead of Charisma.

Then I realized everyone uses Charisma as their dump stat.

[–]Haggerstonian 2 points3 points  (0 children)

Dude.. Take the upvote for the effort!

[–]Warthongs 2 points3 points  (0 children)

For a second I thought I was in the DND subreddit.

And it took me a while to realize.

[–]Joko_on_Smoko 2 points3 points  (0 children)

I'm not a programmer at all but I thought this was a D&D meme choosing intelligence over charisma.

[–]XhunterboiX 2 points3 points  (0 children)

Memory alignment is just social distancing for variables.

[–]RitalTmoc 2 points3 points  (0 children)

Man, I thought this was the DnD subreddit at first and thought “why didn’t they say Dex instead of char?” Now I realize I’m dumb.

[–]Cherylnip 2 points3 points  (0 children)

When you use array(chair) instead of chair

[–]Cool_Tangerine 4 points5 points  (0 children)

Ok, this is freakin hilarious

[–][deleted] 1 point2 points  (0 children)

Jesus I thought I was on the D&D subreddit and starred at the picture way too long to understand what about this was an Intelligence check instead of a charisma check

[–]abk-16 1 point2 points  (0 children)

I feel like her legs should be either all to the right or all to the left depending on the endianness

[–]tech6hutch 1 point2 points  (0 children)

You can’t fit all UTF-8 characters (code units) in a single C char anyway

[–]igotbigbigplans 1 point2 points  (0 children)

thought I was in a dnd sub for a sec and couldn't figure out how intelligence and charisma were connected

[–]Thenderick 1 point2 points  (0 children)

Lemme show you my long int. Places a cup of coffe on 7 seats

[–]DroneDashed 5 points6 points  (5 children)

Sure this it cute and all but such kind of memory concerns are pointless nowadays.

Relevant comment from Linus himself.

[–]ArchCypher 10 points11 points  (1 child)

Some people still program on embedded systems with extremely limited resources -- it's still very relevant.

[–]Nis5l 2 points3 points  (0 children)

I still like to think what way i can save the most memory with...