• 0 Posts
  • 42 Comments
Joined 1 year ago
cake
Cake day: June 14th, 2023

help-circle


  • I think it really strongly depends on what you’re programming - I know in some instances Julia’s performance can be nearly identical to languages like Rust. I suspect in my case it related to Julia being a garbage collected language, as my algorithm involved creating very large dynamic structures in memory before serializing them, clearing the memory, and building another one. Since Rust has no garbage collector it knew exactly when and what to drop from memory. In my case I had roughly a 10x(!!) speed-up. Funny enough an even earlier version of that algorithm was programmed in Java, and Julia was roughly 10x faster that it, so Julia isn’t the worst of the pack.


  • So at my previous employer I developed using Julia a custom ML model which ran, but the performance just wasn’t good enough for what I needed despite trying to aggressively optimize. I ended up rewriting in Rust (and calling through R) which ended up being like 10x faster. At my current job I program a mixture of Rust and Python.

    If Julia were more peformant then it could potentially be an alternative to Python/R users having to learn Rust - but if you’re looking for top performance, some of your codebase is already written in R/Python, and you’re already willing to learn another language, then learning something like Rust naturally seems the better choice over Julia.

    The one thing I did like about Julia - it took barely anytime at all to build a working prototype.




  • I started self-hosting a bit prior to when Docker took off, and getting multiple services running was much harder. Service A wants a certain version of PHP installed with certain plugins while Service B wants a different version. You’d follow a tutorial for installing Service C and desperately hope that it wouldn’t somehow break Service A or B. You installed Service D for a bit despite all the installation pain and now want to uninstall it - I hope you tracked exactly what config changes you made throughout the system so you can undo it.

    Docker fixed all of this by making each service independent through containers which made self-hosting 10x easier. I’d also add that I love how easy it is to transfer my setup to a new server - I keep all of my container volumes in a specific directory and my docker-compose files in another and that’s all I need to backup / transfer. Without Docker you’d have to specifically handle each & every configuration file and database location, and if you later upgrade to a newer version of the OS or a different distro you’d have to handle possible conflicts between your versions and what the distro expects.








  • Just want to add that Framework isn’t quite Linux first, more like Linux second / Linux conscious. With some tweaking it works great but there are sometimes little issues that crop up, especially if you’re using the newest machines.

    For example, when I got my Intel 12th gen Framework last year, X was super laggy (opening a terminal and typing a few characters might take several seconds). You’d have to end up disabling some kernel power management setting. That was fixed in later kernel releases and was because it was new hardware, but their focus pre-release was making sure Windows worked well on it, not Linux. Technically even now there’s some kind of conflict between the ambient light sensor and the screen brightness keys and the fix has always been to disable the light sensor, so I’ve never actually used that feature on my laptop (unsure why Windows is unaffected).

    It’s still a great laptop and I absolutely love them, but I think other shops like System76 should get credit for their top-tier Linux support.