11 ms·
Programming culture in the late aughts (2022)
- guender 3y ago[dead]
- rbanffy 3y agoI was a little bothered by the misunderstanding about Moore’s law and the performance wall we hit: clock speeds stopped doubling every 18 months. At that point, the obvious way forward was more cores and more threads. We still get clock increases (5 GHz was once the exclusive domain of exotic platforms), but memory latency also hit a wall, and that’s why processors add more memory channels along cores.
- rco8786 3y ago> Oddly, while parallelism didn't turn out to matter much, concurrency did This is true, but I don't think for the reason the author may think. Basically, parallelism in a single process is hard as hell and nobody can do it reliably. On the other hand, concurrency is easy (mainly due to not sharing memory between threads). Basically we just achieved the parallelism we wanted by utilizing concurrency within individual processes, but the processes themselves are parallelized at the OS/hardware level.
- alveenasadaf 3y agowhat a nice post... I hope so that your program is as best as your posting.
- superdug 3y agophp and mysql were a much simpler time
- rektide 3y agoPerl is my LAMP stack of choice. Just trying to generate html templates dynamically with a $db object interspersed in is still a pretty rad & pure experience. Not much between you & the machine. Not that I've actually done that in the last two decades. I used a little ejs though & wrote a little build tool to turn ejs template like things into standalone modules.
- ipaddr 3y agophp and mysql are not dead. They make for a great choice for a startup or fortune 500.
- 26fingies 3y agoAt the end of the post the author talks a little bit about intuition vs understanding and seems to (mis-?)attribute it to professionalization. Maybe that’s the case. Could that be related to some of his earlier points of how much more stuff there is, though? The amount of time people have hasn’t grown, but seemingly the amount of stuff they have to deal with has. You have to pick your battles, as it were.
- jghn 3y agoThere’s more to know now but it’s also much easier to get up to speed on that stuff. Over time I’ve switched from having everything memorized to having enough of an understanding to allow me to get running when I need to do so. It allows me to spread myself over the larger surface area
- thoughtFrame 3y agoI've only learned of the Good Ol' Days of the 90s from second hand sources, and I was in middle school throughout the aughts, so for me these periods are just a mirage of a better time. In high school I pursued reverse engineering and other stuff, so I could blissfully ignore the newer direction the industry was taking all the way until 2019. But now I'm close to graduating university. Is there any kind of job where this kind of software is still more common? PHP web development, sysadmin work, writing systems software or native software, etc.
- rco8786 3y ago> just a mirage of a better time Don't fall into the "good ol' days" trap. There were more than enough problems/challenges/frustrations to go around back then too.
- thoughtFrame 3y agoBy good ol' days I meant that everything I've read about them tells me that set of problems and frustrations is better than what we have today, and software was actually made better by those circumstances. Of course, I can fire up DOS, NeXTStep, or Windows XP and get to doing it on my own, or hack on open sourced codebases from the time, but the key component is the teams of people doing it, and the common wisdom that they had. Rather than thinking it was heaven, it's a hell I'd prefer over our current one, so to speak.
- rco8786 3y agoRight I'm just saying that's not correct. It's easy to view history through a very positive lens...nostalgia (even nostalgia for something you did not personally experience) is a powerful drug. I have a lot of nostalgia for writing BASIC and the feeling that I got the first time I learned about HTML4 tables and ASP.NET. But you could not pay me to return to those technologies.
- willismichael 3y agoThere are plenty of legacy systems around that were developed like this and never moved on. Finding them might be tricky though.
- firatsarlar 3y agoI miss that. There was only one way to do a thing, and I could run. Then, ... many ways to do one thing, and I did freeze.
- Lammy 3y ago> think of how many Americans buy giant cars who don't need giant cars. I hesitate to comment since I’m nitpicking a parenthetical, but this weird little bit of classism totally broke my immersion in an article I was otherwise really enjoying. Middle class people overwhelmingly can’t afford housing, but let’s shame them for trying to find at least one kind of affordable luxury in life? We’re the industry making giant luxury phones people “””don’t need”””, but people would rightfully call me an asshole if I shamed them for wanting one.
- lmm 3y ago> this weird little bit of classism totally broke my immersion in an article I was otherwise really enjoying. Middle class people overwhelmingly can’t afford housing, but let’s shame them for trying to find at least one kind of affordable luxury in life? A giant car is probably the most harmful-to-others luxury indulgence you could pick (and a significant factor in why people can't afford housing). I'm all for having a hobby and spending money on your hobby, but maybe pick one that doesn't kill other people's kids so much. And I'm baffled that you're calling this classism and then talking about middle class.
- willcipriano 3y ago> A giant car is probably the most harmful-to-others luxury indulgence you could pick International travel. People need to get to work, nobody needs to backpack through Europe to "find themselves" (besides perhaps Europeans).
- rbanffy 3y agoMore people, Americans mostly, really should backpack through Europe, not just to find themselves, but to also discover the wonders of universal healthcare and a welfare state.
- njharman 3y ago> People need to get to work, nobody needs to backpack through Europe That is why American capitalism/consumerism is bad. Our society would be far, far better served if people exposed themselves to different cultures, beliefs, experienced world first hand instead of through talking head media. If more "found themselves" they'd know life isn't about work and money.
- stiglitz 3y ago"12 years ago everyone was wondering how we'd program on multicore CPUs" is either laughable or enlightening to read as an OS developer.
- spacechild1 3y agoYeah, s/everyone/webdevs. Typical audio software, for example, has been multithreaded since the 90s (simply because the audio callback and the GUI must run in different threads). And in the mid 2000s these threads started to run on different CPUs.
- tbrownaw 3y agoThere was certainly a lot of noise about it.
- agentultra 3y agoEven in user space. Electron became de jeur for web developers to build desktop apps. Single threaded memory hogs. Thankfully many DAWs, video editing, CAD, servers and other useful software saw the value in multi-core workloads. It’s a thing… just not for web folks most of the time.
- golergka 3y agoMost serious electron based applications are not single threaded.
- AnIdiotOnTheNet 3y agoIs Teams serious? https://twitter.com/ernerfeldt/status/1640972391265230848 https://twitter.com/ernerfeldt/status/1640972391265230848
- golergka 3y agoI don't see any details about their usage of threads in this video.
- divbzero 3y ago12 years ago, even without AWS, you could get a Linode, host an app on its naked IP, and not made to feel too much like you weren't "serious" about hosting your app. These days you almost always need to know a fair bit of Docker and Docker Compose, a lot of people want to Kubernetes, ELBs got replaced by ALBs + NLBs which you gotta manage in VPCs which you gotta manage through Security Groups and your traffic gets routed through CDNs. Logs are structured and passed to a SaaS which will have a custom search syntax that takes tens of seconds to search them poorly, and they'll get lost in the noise of all those components. You'll spend a non-trivial amount of time devising systems for tracing requests through all these components. That sounds so spot on. We do have a choice though. Static HTML, server-side templating, vertical scaling and /var/log still exist and work just fine. We don’t need to adopt the newfangled techniques unless the use case calls for them.
- maccard 3y agoI disagree. There are so many simpler options available. DO app platform is point and click deploy from GitHub for $5/month. Knowing docker these days is a huge boon - it immediately removes the "works on my machine" problem, and honestly the amount of docker knowledge required to deploy a basic even crud app is about 10 lines that can be copy and pasted from stack overflow by searching for "Dockerfile for X"
- collyw 3y agoIt solves that problem but adds it's own. I guess its overall a positive.
- kqr 3y agoJust one anecdote, but I've had a script run flawlessly on its own in multiple environments, but it's docker image exhibited the "works on my machine" problem for some reason! (Never bothered figuring out why since the script ran fine on its own and was replaced with a proper application shortly thereafter.)
- arp242 3y agoThe problem isn't so much that it's hard to get started with Docker, it's debugging stuff when it goes wrong is so hard. There's this 80M dockerd binary that needs to run as root and last time I checked it's over a million lines of code – lots of potential for failure there, ranging from "Docker doesn't do the right thing and I can't figure out so let's just nuke the entire server and start up a new one" to "Oh dockerd magical firewall rules made my firewall ineffective". Is that a good tradeoff? I don't know; it seems to me you can get 95% of what Docker gives you with 5% of the complexity. Luckily the ecosystem has started to realize that and better tools have started to materialize.
- EamonnMR 3y ago> Logs are structured and passed to a SaaS which will have a custom search syntax that takes tens of seconds to search them poorly, and they'll get lost in the noise of all those components. You'll spend a non-trivial amount of time devising systems for tracing requests through all these components. I feel this one. At a previous gig we had an entire project to try and pick a logging solution, and none on offer let you do the one fundamental operation that makes using logs bearable; full text search.
- robinduckett 3y agoCloudwatch tho
- rbanffy 3y agoI have to say filebeat bothers me. We already had rsyslogd and it’s a very elegant idea.
- arp242 3y agoI have never found a logging tool that I like more than grep (or ripgrep, I suppose, combined with maybe some awk). In principle there's a lot that could be improved on grep/awk, but somehow all the tools that I've had to use thus far come with implementations that are so bad and constrained that grep still wins. It's almost like the people writing these things have never used it themselves.
- amrocha 3y agoIt's hard to overstate how monumental Stack Overflow was even 10 years ago. I remember being in University and dreading my computer graphics classes because SO didn't have answers for a lot of those questions at the time.
- lincpa 3y ago[dead]
- forgetfreeman 3y agoOne thing the author seems to miss: web-based rich UI was facing serious headwinds because W3C accessibility standards were definitely still a thing and nobody wanted to associate with a project that was getting dragged publicly by ADA activists for giving screen readers the finger.
- revskill 3y agoThe milestone is in RestFul architecture. It changed everything.
- dtech 3y ago> The story that solidified is: Use Boring Technology. Use [...] Ruby [...] > I think this narrative, while conventional, is bollocks. [...] Ruby's weird semantics are credited for how one person as able to use it to make a world-changing framework; to call Ruby a "boring" choice now is a testament to how successful the right weird tech can be! Sorry, but this whole section is bollocks. I've never heard anyone call Ruby boring, and I've had one too many methods monkey-patched in from halfway across the universe to ever call Ruby "boring". Basically no-one seems to use Ruby for new Serious™ Programming™ Projects™ anymore.
- arp242 3y agoIt's "boring" in the sense that it's been around for a while and has proven itself to be fairly stable and reliable, is not going away any time soon, is no longer changing at a very rapid pace, has some good books written about it. Rust is also fast becoming "boring" in this sense (maybe it already is; I don't keep up that closely). This is opposed to Rust from 5 years ago, or e.g. Zig today. That's how I typically use "boring technology" anyway.
- ikawe 3y agohttps://blog.codinghorror.com/why-ruby/ https://blog.codinghorror.com/why-ruby/ This guy called it boring when justifying its use for discourse back in 2013. > Ruby isn't cool any more. Yeah, you heard me. It's not cool to write Ruby code any more. All the cool people moved on to slinging Scala and Node.js years ago. Our project isn't cool, it's just a bunch of boring old Ruby code.
- aa-jv 3y agoIts not entirely bollocks, you may have just missed the point: technology is cyclical, according to its application. Once, Ruby on Rails was the badass, non-boring way to write apps, now - because it was once so badass - it is 'boring' in the sense that anyone can do it, and you don't really have to think about much - its quite possible to operate on cruise control, and is thus 'boring' from the coding cowboy/techno-aristocrat sense of things. >Basically no-one seems to use Ruby for new Serious™ Programming™ Projects™ anymore. Yes, and in so witnessing this, you are demonstrating how non-bollocks the original bollocks was and now is. Such is the cyclical nature of things in our highly stratified industry .. its one layer of bollocks on top of a shit cake, after another ..
- Guthur 3y agoI think IRC was a big part of community knowledge and also such a hot spot for weird inspiration. I can attribute my picking up of Common Lisp and ultimately getting a job in Australia from the UK to an off the cuff comment by someone in IRC.
- 59nadir 3y agoI started learning programming (C++) when I was 12-13 (2000-2001) because a guy on QuakeNet told me I should learn how to code if I want to learn about hacking. All these years later I'm very well paid to create distributed systems in technologies I could've never imagined back then. The funny thing is that I want to stop doing that and have other problems instead, because I'm just tired of everything that has to do with what (mostly) web development (and other distributed systems) has become and this incessant either layering more things on top of other things or adding extraneous things. I'm currently re-orienting around a possible switch to game development. (For those who might think I'm being impossibly naïve; I have plenty of lower-level experience and have worked at 2 game studios previously, it's not that foreign of a world. I originally left to do consulting because it paid significantly better.)
- Guthur 3y agoWith games as a service and increasing desire to de-risk large projects I'd be a little wary of the grass is greener. There might be something a kin to old school hacking in the indie domain.
- Guthur 3y agoIf you've got really top notch low level skills then maybe something in HFT financial space.
- 59nadir 3y agoI think the point about grass being greener is a good one in general, but I have to say that I'm wording things specifically to account for this: I want other problems than the ones I have now. I don't like the problems modern distributed systems development present me with anymore. It's boring and I genuinely feel like we keep having issues that shouldn't even be issues because of the technologies we use and the layers/systems that have been added to everything. I will also say, having worked at game studios before I believe them to have a much better barometer for what is extraneous, so even the live services teams at these places tend to be a lot more sensible than your average web shop. Your mileage may vary, though. Games as a service and de-risking large projects I'm not sure is that relevant? Someone has to work on the engine, the networking code, and so on, and this work is largely not really going anywhere. There have been approximately zero innovations in the last 20 years that remove the need for being able to write lower-level code and knowing the internals of a game engine, provided you want to make something half-way decent. Even if game studios somehow manage to not do the work I'm interested in, I might just take an extremely long sabbatical while continuing to make games and work on those things. There is an alternate future where I also try to create custom solutions as a contractor in performance-critical niches and still work primarily with backend stuff, but I'm not sure what that would mean.
- blt 3y agoI got my first programming job in 2011, working on a specialized and computationally heavy desktop app. This already felt like a bit of an anachronism, but smartphones weren't central to our lives yet and Electron didn't exist. I bet the total number of people who will learn a C++ GUI framework between now and the end of time is smaller than the number who know one now. I was happy to work on anything algorithmic. It seemed like there was so much CRUD and foundational communication stuff happening. All the programming literature talked about "business logic". Now with the rise of machine learning, a new grad might have a better chance of doing non-CRUD work now vs. then.