Refactoring
Once you know how to write code (in any language) it’s important to learn how to rewrite it (into something better)
Test-Driven Development with Python
Because manually stepping through your code is a PITA, so it’s better to put that process into code that you can save and re-run without thinking about it.
Head first java
Any of the Head First series are great introduction books. Head First Design Patterns is great to learn programming patterns that you can typically re-use in any language :D
Fundamentals of Software Architecture
Haven’t read this one, but learning about architecture is important so you can keep your UI, logic and data layers separate, so when you need to replace one layer (like the UI, because the boss wants a refresh), you don’t need to pull out all your hairs due to frustration!
Domain Driven Design
I don’t do DDD (at least not consciously), but understanding what a domain is really really important once you need to talk to business people (not something I like, but it’s necessary to write the right code).
Neuromancer
“The sky above the port was the color of television, tuned to a dead channel.” is such a banger of a first line. Outdated, because “dead channel” won’t make sense to younger kids, but I bet they’ll get a kick out of learning about how TVs used to be.
It’s what clocks are “supposed” to be set at
Even better for us Dutchies: CEST shifts us one hour, but our timezone is the same as the rest of the mainland, but technically we’re inside the UTC zone, so we’re actually shifted 2 hours from where we’re supposed to be!
Fuck the economy, I want our times fixed, so we can sleep better!
I wasn’t sure if you were joking, but nope: https://newsroom.heart.org/news/heres-your-wake-up-call-daylight-saving-time-may-impact-your-heart-health
Not to undermine their work, but didn’t Microsoft not already release Aurora Forecasting (a 1.5b model, which compared to models for text is rather small - those tend to start at 3B - which makes sense because there is also a lot less data to build a model on).
Anyway, I am happy to see competitors popping up, because NWP is hard enough already.
Jenkins is neat if you use a shared repo. Yes, the functions are weird (a file is a function, and the function inside is named call
.), but having a default list of *Pipeline.Jenksfile
(ingestionPipeline, modelPipeline, parserPipeline, dataProductPipeline, etc - data engineer here) is so nice. You can also specify which branch of that repo you are running as well!
It’s less neat if you previously had to migrate off of a Jenkins that had everything running as root, to a Jenkins that doesn’t.
At least if you fix a bug for a function that’s used in multiple pipelines, it’s fixed everywhere. Or if you fix a bug in a single pipeline, it’s fixed for multiple repos.
edit: the Groovy language isn’t great though. Not being able to pass kwargs in my own order, unclear how to define the pipeline (somewhat lacking docs, grabbing working examples from SO). I wish something like Python would’ve been used instead.
Here’s a summarization of the summary (also done by AI, because lazy):
The author recalls his initial reluctance to speak publicly after a past misstep and later revisits the subject by examining how movies, such as 2001: A Space Odyssey and WarGames, dramatize computers. He contrasts these cinematic portrayals with the subtle influence of everyday technologies like email and PowerPoint, and criticizes modern development tools like Visual Studio and IntelliSense for potentially diminishing deep coding skills. Ultimately, he champions a return to fundamental programming to rediscover the pure joy of coding.
FFS, you could just have run gzip on it probably.
Gzip doesn’t reduce your data’s size by 2000x. Of course this could be done by other languages as well, but running gzip on your data doesn’t keep it accessible.
Even turning the data into a Parquet file would’ve been a massive improvement, while keeping it accessible, but it likely would not have been 2000x smaller. 10x, maybe.
edit: zip: about 10x; 7zip about 166x (from ~10GB to 60MB) - still not 2000x
Multiple ones.
Oh, and I’m also setting up a private ProxMox server, over at a friends house, and need to connect that to the NAS over at my house, so we can copy over our data for redundancy/backup purposes.
I’m bouncing between these projects.
It has implemented about half - I would check which the important ones are, and check if it’s been implemented (which is being tracked in issue 970):
https://github.com/astral-sh/ruff/issues/970
Astral claims Ruff has more rules total (about 800), but implemented about half of Pylint (which has 400 rules, so 200 implemented).
CSS Box Model
instead of using flex
all over the place :)
The an hero kid was 14 at the time (for context).