• 1 Post
  • 149 Comments
Joined 2 years ago
cake
Cake day: June 15th, 2023

help-circle
rss


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






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







  • Multiple ones.

    • Wave Function Collapse for an existing tileset (Warcraft 2) - it’s really hard to figure out how to build the data on whether a tile fits on a certain side of another tile. From the top of my head: Some 180 tiles total * 4 sides to compare * 180 options per side = 129_600 total checks I would need to do, which is just wayyy too much. Need to figure out how to reduce these checks (or automate them using OpenCV or something - not sure yet)
    • Comparing dual datasets of people who worked on certain games (the games being all Warcraft games), so I can see who worked on Game A, who on Game B, and who on both. Am currently (manually) cleaning up the data, because Blizzard has been very inconsistent in how they structure their credits. At least WoW had everything available in HTML - having to manually copy over 600+ people would be no fun (per expansion).
    • A cryptocoin predictor for my friends and I. One part ingestion from an API into a Postgres DB, one part Streamlit + some stats / data science stuff that I’m very much a beginner in. The platform we’re on doesn’t provide much predictive power. Using the typical Simple Moving Averages and the like simply doesn’t predict clearly enough, IMO.

    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.