[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Home]
4chanarchives logo
>tfw will never live in the glorious early days of bit twiddling
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /g/ - Technology

Thread replies: 113
Thread images: 7
File: Age-of-Empires-I.jpg (258 KB, 1200x900) Image search: [Google]
Age-of-Empires-I.jpg
258 KB, 1200x900
>tfw will never live in the glorious early days of bit twiddling and memory hacks
Why live?

Programming today is just code-monkeying and gluing APIs together. It's no longer a task for true men, but something random photo models teach to 13-yo girls.
>>
Web "development" is
Software like os'es, libraries, engines etc still needs to be written

/thread
>>
>>54390013
You're still free to twiddle your bits, just do it in the privacy of your home thank you very much.
>>
>>54390033
Even an Arduino has beefy af specs
>>
>I have not programmed anything besides FizzBuzz
>I have not worked on any medium-sized project
No wonder you retards like 80s programming so much. Things were much simpler then, even kids were able to do it. You probably feel threatened by the increase in complexity in hardware and software.
>>
>>54390049
Even web development is going to change. With web assembly, it's going to become important to write your clientside code in a language that produces concise code that is downloaded and executed quickly by the client and doesn't manage your memory for you. The current "5 Seconds till the JS reveals the page content" is unacceptable.

Also stuff is going to be multithreaded. In fact, you can even sort of do that right now, with web workers (as if. We need to support IE 8, muh customers!!!)
And everything is going to have to be offline first with web workers.

Web development is eventually going be like mobile development, except you also have to target the desktop form factor and screen readers and the tooling and APIs you have at your disposal are prehistoric.

The jQuery stackoverflow developer is going to die a violent death. I can't wait for it.
>>
>>54390013
Is that age of empires?
>>
>>54390506
Yes, the first one
>>
>>54390717
WOLOLO
>>
Someone who knows network programming, explain to me how the fuck could you play AoE on 56k modem with like 500 units on screen?
>>
>>54390211
No dude, the future is webUSB.
>he doesn't have the information contained on every single usb device stolen with Javascript without even needing to locally mount the USB devices.
ayylmao
>>
>>54390767
sending and receiving packets isn't a heavy task, anon
>>
>>54391004
Sure, but we see a fucking lag even today in fighting games with broadband internet, how the fuck did AoE guys did it back in 90s?
>>
>>54390506
It is anon. It is
>>
>>54390767
By not hiring Pajeets

Anyway, can anyone find the actual presentation that answers this?

http://web.archive.org/web/20020207041318/http://www.ensemblestudios.com/openjournal4/story/five.shtml

Seems archive.org only archived the download page
>>
>>54390767
>>54391078
http://www.gamasutra.com/view/feature/131503/1500_archers_on_a_288_network_.php
>>
>>54391094
wow thanks!
>>
>>54391094
wow, I don't give a fuck about games programming, but this was pure gold. Thanks, anon
>>
>>54391197
Old games are very interesting.

This might be what OP wants to say.
>>
>>54391284
Well, the games are very interesting without regards for their age; Borderlands 2 AI, for example, is really well-designed.
As long as I do not touch the graphics/3D models/GUI/etc. I could be interested in their programming.
>>
File: Diamond_heights.jpg (260 KB, 800x600) Image search: [Google]
Diamond_heights.jpg
260 KB, 800x600
>>54390013
Why no one has posted this gem yet?

>Sawyer wrote 99% of the code for RollerCoaster Tycoon in x86 assembly language, with one percent of the functions written in C for interaction with the Windows operating system and DirectX.
>>
>>54391434
I can't even imagine how one could write something as complex as RCT in assembly.
>>
>>54390211
People still use IE 8?
>>
>>54391484
chinese still use ie6 because that is what came with xp
>>
>>54391476
I'm no expert, but I bet Nintendo developed a lot of their games in assembly
>>
>>54391434
I always remember that coaster crashing halfway to the end of scenario
>>
>>54391531
Essentially all NES and SNES games were made in Assembly
>>
>>54390013

You are such an idiot..
It's a glorious time to be alive!

Right now there's a big comeback of functional languages and various interesting stuff's going on. Just lurk more..


Also this glorification of "bit twiddling" (as you put it) is fucking stupid. Back then you needed to be an engineer/scientist to program, programs were ugly, errors were common, software projects prone to failure. Everyone was writing spaghetti code. Fuck that shit.
>>
>>54391880
>muh design patterns
>>
>>54391880
Not OP, but honestly "bit twiddling" is the only thing that is any fun to me when it comes to programming. I do use languages like python when I need to get shit done, but when I want to program for fun, I use C with a bit of asm here and there.
>>
>>54390506
Whosyourdaddy
>>
>>54391476

there is more high level versions of assembly with more abstraction . like function calls i think. its not like he wrote it in notepad
>>
>>54390723
You have no power here this is a blue board!
>>
>>54391905
design patterns are bad, since they incourage code repetition and thus something that should be authomated.

>>54391880
That's why I'm learning functional paradigm. Fuck Java & OOP spaghetti.
>>
>>54392178

i dont think you know what design pattern are.
>>
>>54390087
>Even an Arduino
>Even

SMALL INDUSTRIAL MICROCONTROLLERS
>>
>>54390013
>stone age
Rather apt.
>>
>>54392220
Oh, you can bet I do... and the repetition and regularity is in the meaning of the word itself. Java-code-monkeying for a year to pay college taxes docet.
>>
>>54392103
You can make high level abstractions in the form of function calls in all assembly that I've seen. All C does when you write a function is handle register(s) used as args/return value (and program counter, et al.) according to whatever architecture you're running on.

It's just really fucking tedious.
>>
>First programming module
>Assembly
>Learning how to do things by using a processor's ability to quickly and accurately iterate through basic operations
>Feels poetic

>2nd programming module
>Java
>public static void main(String [] args)
>Hello World Enterprise Edition
>Everything you want to do has a class that will do it for you, here's the documentation

Now I just fawn autisticly over Verilog
>>
>>54391910

"bit twiddling" is still possible. I love digging into internals of various image formats, for example.

You can always make some FLIF / APNG converter/optimizer, whatever. Add it into a browser / Qt /gdk-pixbuf / Photoshop. Digging into bitstream is so much fun.

I do it in C++ but my programs still look like C.
>>
>>54392337
This is what stops me from learning high level languages like python/go/whatever.. I just feel like it will be boring to do anything if I don't use C. Anyone else?
>>
>>54392327

no but i mean you have it all setup for you and an assembly IDE if you read closer to what programs he actually used for this it makes it looks more doable. its still tedious compared to today ofc
>>
>>54392264

>and the repetition and regularity is in the meaning of the word itself

ye so i understand that you got the confusion about thinking its about writing in patterns. the meaning is actually NOT in the word though.

there is many design patterns out there also, so im pretty sure you can't make such generalizing statement about design pattern being repetitious . how is for example singelton pattern making more repetitions
>>
>>54391910
Every pajeet can twiddle bits. It is not a creative task, nor it is hard. Designing your code in a clean and beautiful way that is meant to be maintained is however creative and hard.
>>
>>54392658
He just an average /g/ retard who faps to ugly C code and thinks that hacky piece of shit C is the best.
>>
>>54391476
Tons of commercial 16-bit games were developed in asm: you needed to in many cases. I used the Devpac macro assembler at the time, if that helps you appreciate the general dev environment.

Higher-level languages were a comparative rarity - still, some were developed that way: I can point at Dungeon Master and Civilization as two that I've personally seen written in C (Civ were nice enough to leave the debug symbols in).

You can learn a lot about efficiency that way. But don't get hung up on optimisation too deeply. We only did it because we had to. Perhaps the limitations imposed helped define boundaries for creativity to smash; but programming of all shapes and sizes is way more accessible than it used to be. I was there, and I think it was worth the trade.
>>
>>54390087

>2 KiB RAM
>32 KiB program ROM
>16 MHz 8 bit CPU
>"beefy af"

Anon...
>>
>>54393114
Relatively to other microcontrollers in the industry, it really does.

Ever seen a small pIC? The 8 pin package ones?
>>
>>54393245
what can you even do with a tiny PIC if it has such anemic hardware?
>>
>>54392658
http://norvig.com/design-patterns/ppframe.htm
>>
>>54395340
>>54393114
Not everyone wastes memory like a retard
>>
>>54395407
You certainly can't do much of anything, you have almost no stack space to do anything of value unless you put everything in main.
>>
>>54391434
>99%

Sawyer's metal as fuck.

>>54391549
I noticed a lot of the prebuilt coasters start with age on them, or have designs that lend themselves to stressing a particular piece.
>>
>>54395484
using a weakling pic for a uni project to control a motor (speed, torque, response etc), including a GUI on a small OLED display and a few buttons soldered on.
>1KiB rom
Its got limitations, but efficient programming does the job well if you are a little creative, and its not difficult to take advantage of really.

>can't do anything of value unless everything is in main
Pretty much, but considering changing the torque produced requires around 10 lines its not an issue.
I'm actually surprised at the degree of control you can exert with such little minimal code.
>>
>>54395613
How do i get into microcontroller programming?
I had an arduino, but I broke it, and I wasn't too fond of the non-standard arduino wrapper libraries for every little thing.

I didn't even feel like I was learning much of anything.
>>
>>54396631
>How do i get into microcontroller programming?
Buy a microcontroller and download the documentation.
Why do you even need to ask?
>>
>>54390013
>Why live?

You shouldn't. Fucking kill yourself, shit stain.
>>
>>54390013
>I've never programmed outside of codecademy
>I am too stupid/young to realize most programmers back then were writing fucking Business Basic
>>
>>54396631
Get a pic with display, download datasheet, download example starter program and ctrl-f the document to see what is going on.
Then write hello world and from there just start a project. They're really flexible, and use c so you'll be fine for anything.
>>
>>54390013
>tfw will never live in the glorious early days of bit twiddling and memory hacks
Hold out 6 more years, anon. It'll be back (for high-end projects) post-Moore's Law.
>>
>>54390013
>>tfw will never live in the glorious early days of bit twiddling and memory hacks

I do the same kind of hacking today while programming multi-threading.
>>
>>54391017
>latency is throughput
Can we please not?
>>
>>54397668
Stop trying to fit in.
>>
>>54392158
Wait 4 hours for hotpockets
>>
>tfw I still play AOE 1 with my family sometimes
Can't be the only one, right?
>>
File: when_girls_code.jpg (226 KB, 869x1776) Image search: [Google]
when_girls_code.jpg
226 KB, 869x1776
>>54391880
Is that you Klossy?
>>
>>54390013
>It's no longer a task for true men.
TIL Grace Hopper had a bepis.
>>
>>54398217
>The code on the left is bad! It is hacker code used to steal nude photos! Stay away!

w a t

Also, the code on the right follows neither Java standards nor C standards, as it does not indent. It's also polluted with unnecesary comments that distract from the functionality of the code.
>>
>>54398554
fake pic mate
>>
>>54398257
Gender isn't defined by any physical features

Being manly is a state of mind
>>
That looks like clash of clans
>>
>>54398554
Well the one on the left, god knows what it does, and the one on the right at least explains what int means
>>
>>54390013
That's because we spent years saying that we just need to get it done, and we will get stronger computers.
It is still true in a sense.
>>
File: 54693567.jpg (43 KB, 620x387) Image search: [Google]
54693567.jpg
43 KB, 620x387
>>54390049
Why o fucking why do you think it is appropriate to /thread your own post
>>
>>54390013
I welcome the glorious future. But I'm a scientist, not a programmer (although most of my work is essentially coding).

No longer do I need to write 800 lines of FORTRAN code to read or write some HDF5 or netCDF4 file, or to plot a hex-binned map using any given projection. I can slice through multidimensional arrays in an interactive shell, have a shitload of fast, vectorised commands at my fingertips - I can actually spend time thinking about the science, and not having to spend 98% of something that a codemonkey can do better than I ever will.

Sure, there are probably a number of good reasons why Python is a shit language in the eyes of an OS designer or whatever, but it lets me get my work done quickly.
>>
>>54398593
Gender isn't defined by genitals or chromosomes.

Being manly is having the ability to grow a beard.

If you can, you're a man. If you can't, you're a woman.
>>
>>54390118
this. I hate retards who think writing menial boilerplate memory management is the hard part of software development
>>
>>54390013
>tfw will never live in the glorious early days of bit twiddling and memory hacks

You can live in the glorious present of bit twiddling and memory hacks.

In non-embedded software you still find this in codecs, ciphers, high performance networking, some types of compilers, renderers and sometimes even in high performance javascript (I know people who hand-write ASM.js in tight loops).

In embedded software, you find it in e.g. storage devices and network appliances.
>>
>>54390013
OP you can still fucking do these things.
>>
>>54398890
This. It amazes me that I always see comments on /g/ about how shit python is. Of course it would be shit to use it for certain tasks, but for scientific computing there isn't much better. Why would a scientist spend years learning to write code, manage memory, etc when the run time difference between python and the same program in C++ might be something like 5 minutes to 1 minute. That extra 4 minutes of time saved really doesn't mean anything to 99% of scientific computing applications. Maybe if you're the LHC you might need more optimized code, otherwise it's totally unnecessary.
>>
>>54399179
Python and dynamic languages are nice in general for experimentation or things that are going to be done just one in your life. Which is how a lot of scientists see their code.

For code reuse or when you need to implement your own complex stuff, going out of the premade binding for existing stuff, it's terrible.

I was forced out of dynamic languages not by my own will, seriously. But I found functional programming, and I'm happy.
>>
>>54399179
>>54399278
Also, if your programs take 5 min to run, just forget, you are doing right. My problem was choosing between days or years of runtime, so...
>>
>>54398217
>>54398554
>Falling for an obvious troll pic
Your and idiot, kill you'reself.

Seriously, the vast majority of the anti feminist pics floating around on 4chan are either outright lies or at best half truths blown out of proportion. I'm not a feminazi and I don't believe in this patriarchy bullshit but these are the same tactics they use. If we're to address this as a real issue we need to be better than them, not worse.
>>
File: lpr1.jpg (288 KB, 670x400) Image search: [Google]
lpr1.jpg
288 KB, 670x400
>>54396631
You can get free samples from microchips if you are a student. You can code in C or ASM. You will also need a programmer (you can build one easy or buy one)
The real fun is to build you own hardware.
>>
>>54390013
>Programming today is just code-monkeying and gluing APIs together. It's no longer a task for true men, but something random photo models teach to 13-yo girls.

I agree with you, in general. However, keep in mind that probably less than one in ten programmers "back in the day" did any interesting bit-twiddling. Honestly, the most interesting work was done by the early OS and programming language vendors, and the games programmers.

9/10 of programmers were writing dumb business applications. I'm not talking Word and Excel, I'm talking "take the salary number and tax rate from form A, multiply it and put it into form B".

The thing I find weirdest and most disturbing is that people these days don't even care what's under their software. When I was a kid first getting into programming, it always bugged me, "but what's actually making this happen?" Then I learned assembly language and thought, "but what's making the CPU perform these functions". Eventually, I took a low-level course where we covered logic gates and wrote a multiplication function using, what, OR and NOT, or something like that. THEN I was satisfied.

Now people program like they drive cars. Just do what the interface tells you and ignore what's going on under the hood. You would think this would drive up the value of engineers with a really solid grasp of the full technology stack, but not, companies mostly want duct-tape engineers who can just assemble MVPs quickly.
>>
>>54398990

Nobody ever said "menial boilerplate memory management" was hard, except for you. That's a bit telling, don't you think?

In my opinion, it was a lot more fun when you drew things by stuffing a value into a memory location, and where fiddling with optimization really paid off.

These days, optimization is more likely to be about putting an index on a database column, using some Javascript API in some more-correct way, or, at best, changing up the graph algorithm you're using for data lookup at Faceoogle.
>>
>>54396631

Check out the TI MSP430. It's kind of like Arduino, except DIFFICULT AS FUCK.

Seriously, TI documentation is the most godawful shit I've ever read. It's the exact opposite position on the difficulty spectrum from Arduino. It's marketed to real EE's, so they assume you know all sorts of terminology, and they don't bother to provide sample code for important functions.

For example, I blew a week trying to adapt some i2c library to my particular MSP430 variant so I could display output on a little LCD array. I got busy with other stuff and STILL haven't gotten it working.

But the LaunchPad itself is pretty cool. You can use it to program a MSP430 chip, pop it off, and put it into a live circuit for real deployment. They cost cents apiece. That's the whole reason I got into them: I prototyped something on Arduino, but there's no obvious method to take an Arduino prototype to a marketable product. With the MSP430, there is.
>>
>>54399842
>early days of bit twiddling and memory hacks were glorious
>Programming today without bit twiddling and memory hacks is just code-monkeying
>Nobody ever said memory management was hard
literally in the OP. he implies that writing much more complex modern software is just easy code-monkeying compared to the old software, while it's just less prone to careless mistakes and allows you to shift you attention from boilerplate to more complicate logic
>>
>>54390767
Instead of sending information on every unit they sent the commands players issued instead.

It's very efficient and most modern RTS games still do this.
>>
>>54399794
for someone that knows as much as you, it baffles me how you fail to see the answer to your question at the same time.
>>
>>54399794
>companies mostly want duct-tape engineers
All that stuff has been abstracted away and a large percentage of software today (in the mainstream market) is about the so called apps. Everyone is riding the "Computers/tablets/etc and apps are cool! Let's make 2454325 more apps!" train. Those guys don't "need" to know the details and this is good for business because they can hire more stupid people than before.
So to OP's ( >>54390013 ) question:
These:
>>54390033
>>54390049
>>54392349
>>54399794
Plus I want to add that you will find what I think you want to find in (low-level) systems programming and in embedded systems in general. You can add ASIC stuff too and some special fields you can think of.
Embedded systems stuff includes everything from the well known MCUs known by most guys like AVR, PIC to more powerful ones with ARM cores or actual ARM cpus (like your mobile phone or rpi). This can include various real time operating systems (not linux!) too. Mechatronics is a thing too. Apart from that device drivers are a thing too especially for legacy stuff. Low-level systems programming stuff is probably easier to find where there are some legacy systems.

For those who don't get OP. I don't think so he is talking about spamming bitwise operators or writing boilerplate code, he is more likely talking about building a system from the ground-up and the interesting aspects of being close to the hardware or doing something cleverly on a constrained system and the creative problem solving at least occasionally required in an environment where there is no solid abstraction taking everything away, in contrast to everything being rigid. You have to "think" there. Plus while some code might seem boilerplate when you use something like Java, in an embedded env. it often requires a lot more thought.
Low-level understanding gives you a very good perspective on things too.
>>
>>54398690
>not knowing the algorithm for the quick square root
>>
>>54398217
Someone explain what the manly code on the left is doing.
>>
>>54401069
It's a coding gem: https://en.wikipedia.org/wiki/Fast_inverse_square_root
>>
>>54400743
Sarcasm
>>
>>54401648
Poe's law
>>
>>54401653
It should be given away by the fact that i called out int in the secondary code
>>
File: 2008_industrial_flare_so2.png (295 KB, 931x837) Image search: [Google]
2008_industrial_flare_so2.png
295 KB, 931x837
Things still get hacky when you really need performance. VR is really starting to push things, now you gotta render stuff TWICE and do it fast enough or else people start to puke.

For big simulations, you gotta know computer science and physics.
>>
>>54402060
>now you gotta render stuff TWICE

Get with the times, doing that is not needed anymore as dedicated hardware can be used to mirror the image.

The only think holding VR back is the big headset and having to render 90FPS which most cards can't even 60FPS let alone come close to 90FPS.
>>
>>54400180
>for someone that knows as much as you, it baffles me how you fail to see the answer to your question at the same time.

Huh? What question?
>>
>>54392481
I feel you.
>>
ITT: bitching about how "times have changed"
y'all are fucking faggots. cya in 10 years when the next generation of morons joins the conversation.
>>
>>54399794
>companies motly want duct-tape engineers who can just assemble MVPs quickly

that's because the market demands it (muh entrepreneurship and rapid development) and there's an abundance of "engineers" to go around. Nothing ever beats actually going through the hard path of learning
a) wtf is going on here
b) how the fuck do i _solve_ problems (note: has nothing to do with gluing some libraries together)
c) how the fuck do i verify that i actually solved a problem
d) how the fuck do i communicate my solutions to others so that it may be sanity-checked.
>>
https://www.quora.com/How-did-game-developers-pack-entire-games-into-so-little-memory-twenty-five-years-ago/answer/Dave-Baggett?srid=z9ZA&share=1

i love this.
>>
>>54391957
AND WHAT DOES HE DO
>>
File: Screenshot_2016-05-06-14-41-26.png (724 KB, 1080x1920) Image search: [Google]
Screenshot_2016-05-06-14-41-26.png
724 KB, 1080x1920
>>54392158
>mfw this whole day on /g/
>>
>>54392812
I don't fap to ugly C code. I believe that if a solution has been repeated more than 2 times in a large application - it's language's designer's duty to include it in the core language, in order to simplify the construction of same things for the solutions to come.
Example: android GUI has an implicit MVC pattern in it. Google has seen that it is used literally everywhere and included it in the Activity class in order to simplify the developer's life. Why TF do I have to write kilometers of spaghetti in java in order to reproduce some already existant design pattern? I'm a programmer, my job is automating things - not repeating shit over and over.
>>
>>54404734
http://www.gamasutra.com/view/feature/131547/postmortem_treyarchs_draconus.php
>It took about five minutes to load a single level on a developer's station. Therefore, it took about five minutes to test the smallest change. We knew that would be unacceptable on the shipped version, but our solution for optimizing the load of the shipped version was to save a snapshot of the Dreamcast's heap, global variables, and texture memory, and have that be what the final version of the game loaded.
>>
'bit twiddling' is still needed, you're just not working on the right scale, try working on very large databases, saving 1-2 bits per row matters a lot when you have a few trillion of them.
>>
>>54391692
And GBC
>>
>>54390062
fucking kek
>>
>>54404734
I fucking love that Crash anecdote.
Thread replies: 113
Thread images: 7

banner
banner
[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Home]

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.
If a post contains personal/copyrighted/illegal content you can contact me at [email protected] with that post and thread number and it will be removed as soon as possible.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com, send takedown notices to them.
This is a 4chan archive - all of the content originated from them. If you need IP information for a Poster - you need to contact them. This website shows only archived content.