• 2 Posts
  • 78 Comments
Joined 1 year ago
cake
Cake day: June 16th, 2023

help-circle








  • That’s why I’d love to see more developers take another look at Linux. Such that they may develop better proficiency in the basic katas of the internet. Such that they aren’t scared to connect a computer to the internet without the cover of a cloud.

    The developers I have come across mostly use Linux if they can, or another OS if they can’t (e.g. when developing specifically for Apple or Microsoft platforms). Are there many that haven’t even looked at it?





  • It’s important to be able to reason about performance, even in ordinary business computing. If you pick the wrong data structure or algorithm, you can create memory problems, speed bottlenecks, etc. Even if you always use libraries it helps to understand the algorithms and structures they use so you can build efficient software.

    And in game programming some knowledge of algorithms and data structures is very valuable. You often have to direct the behaviour of many objects at once in real time and, efficiency is really important.

    Without this background knowledge you won’t recognize how the problem you are faced with is best addressed by a particular well-known algorithm. Recently, for example, I worked on a business problem that turned out to be tractable by arranging data into a graph and finding optimal pathways through the graph. This wasn’t obvious from the initial problem description. And for a game I needed to learn about N-body algorithms and how to efficiently approximate gravitational forces between many objects.

    I wouldn’t say you need advanced math to do these kinds of programming, but you do need to know when it’s time to defer to other people’s expertise and tried-and-tested data structures and algorithms.






  • My favorite Windows drag-and-drop feature is that if ever I drag a file over the left pane of Explorer on its way to another window, the whole thing freezes up for a minute or so. I think it’s polling all the network drives just in case I might decide to drop it there, and since my NAS is turned off (it broke) it just waits until the connection times out. Of course in traditional Microsoft style this locks up the UI thread. I have to remember to drag everything off to the right and then go around.



  • I think the main take on this is to learn the lesson that it is not safe to install random software you come across online. Is this lesson new, though?

    I think people often have a vaguely formed assumption that plugins are somehow sandboxed and less dangerous. But that all depends on the software hosting the plugin. There was a recent issue with a KDE theme wiping a user’s files which brought this to light. We can’t assume plugins or themes are any less dangerous than random executables.