HNHacker News
TopNewBestAskShowJobs

Decabytes

3,924 karma · joined September 20, 2017

I have a blog called "Deus In Machina" on Substack to improve my writing. If you check it out, I hope you enjoy your time at the digital hearth :)

https://www.deusinmachina.net/

submissionscomments
Decabytes··on CSVs Are Kinda Bad. DSVs Are Kinda Good
When I'm in control I just produce a TSV instead of a CSV. A comma is much more likely in text than a tab
Decabytes··on Go is my hammer, and everything is a nail
I really hope that Julia catches on. It feels like it solves a lot of pain points Python programmers have, while still being Data Science focused. It just needs to continue to grow its ecosystem
Decabytes··on Ladybird browser to start using Swift language this fall
> It's not specific to Rust at all, I remember hearing the same kind of talks when learning Java because I found OOP confusing.

You're right, but that doesn't excuse it. And most languages don't have this as their first bullet point in their code of conduct

>We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic.

What is the point of a code of conduct if you can't rally the community around the first part of the first bullet point. If people are still experiencing toxicity on the level of other communities that don't have a code of conduct, then it's not working and the leaders of the Rust community should do something about it.

Decabytes··on Ladybird browser to start using Swift language this fall
I totally get using Swift in this context considering their heavy emphasis on C++. From my personal experience, Swift still feels like the early days of Open source .NET/Mono. You will definitely experience the growing pains of being an early adopter of the language. The fact that JetBrains killed AppCode in Dec of 2022 7 years after Swift went Open Source is telling to me that getting the traction outside of the Apple ecosystem is not there. The vast majority of the people I see developing open source Swift apps still use Xcode and a Mac. For example Miguel De Icaza is a huge proponent of open source Swift, and is doing a lot of cool things with Swift Godot. But he develops on a Mac just like everyone else. The experience with VScode is just okay.

I think that the cross platform story both in terms of developer libraries, experience, and tooling is still much better on .NET, and provides a happy middle ground between something like Swift and Java. With that beings said I hate the options for Mobile/GUI with .NET (MAUI, or AvaloniaUI), and would recommend Java/Kotlin if you want to do that. I want to give a special shout out to F# as I feel like it is the most sensible functional programming language I've ever used, and is a lot less verbose then C#. The only knock against it I have is that it's a smaller community than C# and most of the libraries you use will be written in C# so you need to know a little C# as well to be effective

Decabytes··on Ladybird browser to start using Swift language this fall
This huge blog post goes over some of the challenges of using Rust. https://loglog.games/blog/leaving-rust-gamedev/

For the community I'll pluck out this paragraph

> That being said, there is an overwhelming force in the Rust community that when anyone mentions they're having problems with Rust the language on a fundamental level, the answer is "you just don't get it yet, I promise once you get good enough things will make sense". This is not just with Rust, if you try using ECS you're told the same thing. If you try to use Bevy you'll be told the same thing. If you try to make GUIs with whichever framework you choose (be it one of the reactive solutions or immediate mode), you'll be told the same thing. The problem you're having is only a problem because you haven't tried hard enough.

I've experienced this same feedback when I was struggling with Rust. One time when I posted in the Rust subreddit about it seeking help and talking about my struggles, I got the unhelpful response of "I believe in people" as a dismissive response to my struggles. Admittedly this was years ago and I've since moved on from Rust, but the blog post is dated from 2024-04-26, so it appears the issues with the language still remain

Decabytes··on Intel Reports Second Quarter 2024 Financial Results
> We simply aren’t going to see x86 get to the subjective “apple experience” of a laptop that runs equally well on or off battery, with day-long life during interactive low-intensity usage

I disagree. Apple themselves showed what you could do with an x86 processor in terms of battery life long before they went to ARM, and most manufacturers still aren’t even close. People have been talking about the amazing life in their products for ages before arm.

Meanwhile I can’t get my windows laptop to not burn itself up in my bag with an update, which also coincidentally uses a ton of battery power as the fans cool itself on full tilt

Decabytes··on I prefer rST to Markdown
Another good documentation choices is Racket’s scribble^1. I like that you can embed Racket code directly into the text, and the language oriented programming of Racket means the syntax is more ergonomic than other systems. There is also pollen^2 but that is more set up for online books by default

1. https://docs.racket-lang.org/scribble/

2. https://docs.racket-lang.org/pollen/

Decabytes··on CPS in Hoot
Does anyone know if an effort to get Guile to run in Windows without wsl. I feel like guile is the only other scheme with an ecosystem to rival Racket, but I’d love it if I could support Windows users as well
Decabytes··on From 0/10 to 8/10: Microsoft Puts Repair Front and Center
Regardless of the impetus of this, I'm happy to see a 8/10 repair score. I think we've proven that thin and light and repairable are a false dichotomy. I don't expect every manufacturer to go Framework levels of repairability, but if we can get more laptops to at least this level that will be a huge win for consumers. Even just renormalizing repairing devices will be huge.
Decabytes··on Qt 6.7.2 Released
Thank you! I will take a look
Decabytes··on Qt 6.7.2 Released
My biggest issue with QT is that there aren't really any bindings for different languages. I'm not a big fan of GTK but it's nice that most popular languages have bindings in it. I was able to get pretty far with the C# gtk bindings, but the app ended up being a little too slow for me and I couldn't find any good answers for it on the gnome forums. I'm now using AvaloniaUI but woo boy is that learning curve steep. I can see the benefits of Model View ViewModel, but it takes a bit to wrap your head around.

Unfortunately the most successful people I've seen use AvaloniaUI have all been Ex WPF developers, and having gone through some WPF tutorials I can see why.

Decabytes··on Ask HN: React, Vue or Angular?
I'm no web developer but I know that my company completed a migration to Vue a few years ago. When I've seen this conversation in my travels the answers are usually, React for Ecosystem/Legacy, Vue for new projects. But again I'm no web dev
Decabytes··on The Swift compiler is slow due to how types are inferred
I'm a big fan of the idea of Swift as a cross platform language general purpose langauge, but it just feels bad without Xcode. The Vscode extension is just okay, and all of the tutorials/documentation assumes you are using Xcode.

A lot of the issues that Swift is currently facing are the same issues that C# has, but C# had the benefit of Mono and Xamarin, and in general more time. Plus you have things like JetBrains Rider to fill in for Visual Studio. Maybe in a few years Swift will get there, but I'm just wary because Apple really doesn't have any incentive to support it.

Funnily enough, the biggest proponent of cross platform Swift has been Miguel De Icaza, Gnome creator, and cofounder of Mono the cross platform C# implementation pre .net core. His Swift Godot project even got a shout out recently by Apple

Decabytes··on Linux May Be the Best Way to Avoid the AI Nightmare
This is true for everything now a days. People collect limited edition things speculating they will be collectibles in 20 years, they jump on new programming languages and try to develop the first libraries so their name can be attached to the de facto CSV parser for the language, they try to get on new social media platforms early to become the next influencer etc.

The world is a lot less naive then it used to be

Decabytes··on “Imprecise” language models are smaller, speedier, and nearly as accurate
For the work that I do (which is mostly rag with a little bit of content generation) GPT 3.5-turbo-0125 with a 16k context window is the sweet spot for me. I started using the api when it was only a 4k context window, so the extra breathing room provided by the 16k context window feels cavernous. Plus the fact that it's $0.50 per 1Million tokens means that I can augment my software with LLM capabilities at a cost that is attractive to me as a small time developer.

The way I rationalize it is that using 3.5-turbo is like programming on an 8-bit computer with Kilobytes of Ram, and gpt-4o is like programming on a 64bit computer with a 4080 ti and 32gb of ram. If I can make things work on the 8-bit system, they will work nicely on the more powerful system.

Decabytes··on “Imprecise” language models are smaller, speedier, and nearly as accurate
I feel like we are getting closer and closer to a finding the Goldilocks Llm, that with some smarter training and the right set of parameters, will get us close to got 3.5 turbo performance but at a size, cost, and time effort that is significantly lower and that is runnable locally.

Combine that with what seems like every chip adding a neural engine and it feels like we are in the early days of high performance graphics again. Right now we are in the unreal engine voodoo era, where graphics cards/neural engines are expensive/rare. But give it a few generations and soon we can assume that even standard computers will have pretty decent NPUs and developers will be able to rely on that for models

Decabytes··on Sam Altman is showing us who he really is
Ilya was right
Decabytes··on Pharo 12
How does Pharo compare to Squeak? I'm interested in doing more with Smalltalks but Pharo just does not play nice on Fedora 40 with Wayland right now
Decabytes··on Jeff Geerling: Corporate Open Source Is Dead
I'm glad Jeff pointed out the RMS article on Free software

> For the free software movement, however, nonfree software is a social problem, and the solution is to stop using it and move to free software.

> “Free software.” “Open source.” If it's the same software (or nearly so), does it matter which name you use? Yes, because different words convey different ideas. While a free program by any other name would give you the same freedom today, establishing freedom in a lasting way depends above all on teaching people to value freedom. If you want to help do this, it is essential to speak of “free software.”

> We in the free software movement don't think of the open source camp as an enemy; the enemy is proprietary (nonfree) software. But we want people to know we stand for freedom, so we do not accept being mislabeled as open source supporters. What we advocate is not “open source,” and what we oppose is not “closed source.” To make this clear, we avoid using those terms.

People in the FOSS world has been beating this drum since the very beginning. Free software was always an ideology. I get that that turns people off, just like projects wrapped up in religion and politics do, but it's the only way to ensure that stuff like this doesn't happen.

I concede that the people who champion FOSS are not always the kindest people to be around, see the response from people about Guix when I mentioned it as an alternative to Nix.

But when I was in Boston I was a card carrying member of the FSF. I went to a few libre planets, and I met some real nice people in real life who also cared about FOSS very deeply, so I know not everyone in the community is a jerk.

Decabytes··on Racket Language
In my opinion, the reason it and other languages aren't more popular is that they don't have a "halo" product that forces you to use it.

For example look at Elisp. It might be the most successful lisp in the modern Era because of Emacs. Emacs alone is like over a million lines of Elisp, and the ecosystem of packages is gigantic. A lot of people do not like Elisp, and there have been many attempts to create Emacs + a better language (Guilemacs, First/Second Climacs). But it has all failed because Emacs proper has a lot of momentum, and you can't build Emacs + a better language. You need Emacs + a better language + a better/bigger ecosystem... Because while lots of people use ELisp in Emacs, more people are just calling use-package on what ever package someone else created.

Take another example, JavaScript. You want to write a dynamic web application, you use JavaScript. There is no shortage of tweets of JavaScript trivia where the person shows JavaScript adding two non nonsensical objects together and getting an even more nonsensical answer. If you don't program in JavaScript (or even if you do) you look on in horror and go "Why would anyone use this awful language!". Then you go use your electron based desktop apps, and run millions of lines of JavaScript in the browser. Are there better languages for the web than JavaScript? Sure lots of languages clear that low bar. But is there any language with a comparable ecosystem that also works as seamlessly in the domains that JavaScript works in? I'd argue no. JavaScript has so much momentum that it even spills over into areas where it shouldn't be used (I.E the desktop and the backend) but it can go anywhere at this point (including custom ARM CPU instructions https://developer.arm.com/documentation/dui0801/h/A64-Floati...)

I'd say the same thing about Python as I did about JavaScript (I am a Python dev). If the official OpenAI Api had been written in Racket there would be millions of Racket users right now and a bunch of new and awesome package, but it's written in Python.

Another example is Zig. I actually think that Zig has a chance to compete in the programming language. I started using Zig not because of any particular feature of the syntax, or the libraries it had, but simply because trying to compile cross platform C/C++ applications using a combination of GCC, LLVM, MSVC, and building for Arm, X86_64, etc is so awful, that using Zig instead is a better solution. This will be the gateway for most people to Zig IMO, and then from there the ecosystem will follow.

There is one edge case and that is Swift. I actually think Swift is a good language, and has a lot going for it. It definitely has the chops to be a good low level compiled language with good C/C++ integration. But a lot of its popularity is due to Apple having the power to make it the de facto language on iOS, just like Google can with Kotlin. But that will only help on the platforms they own (which are admittedly a lot more than most languages), but to gain the viral cross platform adoption, it will require an actual effort on Apple's part to make that happen, along with some dedicated fans of the language. Right now, using Swift without Xcode is hard, even with the VsCode plugin. I know Miguel de Icaza is at least one of those hardcore Swift fans, and is trying to get the Swift Godot project up. That could be the gateway to Swift for people outside of the Apple ecosystem but we will see.

Decabytes··on Racket Language
I like Racket because of these things

1. Package manager

2. Cross platform Gui

3. Easy to install on all platforms

4. Gradually typed language Typed-Racket that checks types at compile time

5.fast (has moved from middle of the pack to top 3 fastest Schemes)

6. Evolution under the hood as opposed to just syntax and features (chez scheme over C)

7. Simple IDE with Emacs built in which makes getting started if you are afraid of Emacs easier.

8. Documentation languages like Pollen and Scribble make writing documentation better than any other language I have used

9. Zuo, a Make replacement which works like a mini Racket

10. Large active community

11. Modern communication channels (Discord, Discourse Forum, subreddit)

12. Documentation geared towards beginners or experienced programmers (Racket Guide vs Racket Reference)

13. You can turn a Racket program into an executable (it’s far but better than Python’s options that’s for sure)

There are Schemes that I like better for specific things (Gambit-C for C integration, Gerbil as a Racket Successor, Chez as the Fastest Scheme, Guile for its large GNU ecosystem)

But no Scheme has come close to offering even half of what you get with Racket out of the box

Decabytes··on Swift for C++ Practitioners, Part 1: Intro and Value Types
I’d love if Swift supported easy cross compilation in the same way that Zig does. The fact that I can just download Zig and everything will just work without tinkering is nice
Decabytes··on Pilot study shows ketogenic diet improves mental illness
Dropping 10lbs reduces weight on joints by 40 lbs. This can contribute towards feeling better
Decabytes··on NetBSD 10.0 Released
Yea babyyyy I've been waiting for this release. I've been eager to fire it up on my Thinkpad.
Decabytes··on Backdoor in upstream xz/liblzma leading to SSH server compromise
> Doesn't everybody know that developing/maintaining free software is largely thankless work, with little to no direct recompense?

No I don't think that is a universally acknowledged feeling. Numerous maintainers have detailed recieving entitled demands from users, as if they were paying customers to the open source software projects. Georges Stavracas' interview on the Tech over Tea podcast^1 describes many such experiences. Similarly, when Aseprite transitioned its license^2 to secure financial stability, it faced backlash from users accusing the developer of betraying and oppressing the community.

On the flipside, if everyone truly does know this is the case, then it's a shame that so many people know, and yet are unwilling to financially support developers to change that. See all of the developers for large open source projects who have day jobs, or take huge pay cuts to work on open source projects. I get that not everyone can support a project financially, but I've personally tried to break that habit of expecting everything I use to be free, and go out of my way to look for donation buttons for project maintainers, and raise awareness during fundraisers. Now if only I could donate directly to Emacs development... I'd encourage other people to do the same.

> What you want is more people that understand and care about free software and low barriers to getting involved.

This is tough. For example, the intention behind initiatives like DigitalOcean's Hacktoberfest, are designed to do just this. It is a good idea in theory, submit 4 pull requests and win a tshirt, but not in practice. The event has been criticized for inadvertently encouraging superficial contributions, such as minor text edits or trivial commits, which burden maintainers^3, causing many maintainers to just archive their repos for the month of October.

So, while there's a recognition of the need for more people who understand and value free software, along with lower barriers to entry, the current state of affairs often falls short. The path forward should involve not just increasing awareness and participation but also providing meaningful support and compensation to maintainers. By doing so, we can foster a more sustainable, secure, and vibrant open source community. Or at least that is how I feel...

1. https://www.youtube.com/watch?v=kO0V7BE1bEo 2. https://github.com/aseprite/aseprite/issues/1242 3. https://twitter.com/shitoberfest?lang=en

Decabytes··on Backdoor in upstream xz/liblzma leading to SSH server compromise
That's true, but many of these maintainers work a day job on top of doing the open source work precisely because the open source work doesn't pay the bills. If they could get back 40 hours of their time I think many would appreciate it
Decabytes··on Backdoor in upstream xz/liblzma leading to SSH server compromise
So when are we going to stop pretending that OSS maintainers/projects are reaping what they sow when they "work for free" and give away their source code away using OSS licensed software, while large companies profit off of them? If they were paid more (or in some cases even actually paid), then they could afford to quit their day jobs, reducing burn out, they could actually hire a team of trusted vetted devs instead of relying on the goodwill of strangers who step up "just to help them out" and they could pay security researchers to vet their code.

Turns out burned out maintainers are a great attack vector and if you are willing to play the long game you can ingratiate yourself with the community with your seemingly innocuous contributions.

Decabytes··on Pyenv – lets you easily switch between multiple versions of Python
I recently used Pyenv to install an older version of Python on my system. The reason for this, is I wanted to create a Docker image using 3.8 slim-buster and I wanted to be explicit about the Python libraries I needed. By using Pyenv to install the same version of python as is used by slim-buster I was able to pip freeze my virtual env, and use the same version of libraries for the Docker image no problem. Oh the things I have to do in Python to avoid dependency hell
Decabytes··on Why are most sofas so bad?
I got a Lovesac Sactional after using a couch for years that was a handme down of a handmedown. I like it but it was not cheap (~4.5k). The modular nature fits our lifestyle so I'm willing to pay the premium. Having had to move a couch multiple times, I'm looking forward to just being able to break this one up into sections and take it out the door.

They've got an ingenious model from a profit perspective as well. Since you can't charge subscriptions for stuff like that, they can sell you pieces of a Sactional and then you can get more pieces as the space you live in gets bigger or your life style changes. They also sell additional covers so if you get bored of the previous ones, you can change the color without getting a new couch (though it is not easy to get them on and off).

My advice, wait until it's on sale. They regularly go for sale from 15-20%. If you aren't fussy about the type, Costco usually has them too.

Decabytes··on I no longer maintain my Emacs projects on Sourcehut
I love Emacs and have used it since the start of my programming career. It is so powerful and I consider it more like a portable programming environment than a text editor. But I find it's performance frustratingly slow. I accept that it will never be as fast as Vim, but when it takes as long or longer to boot up as a regular IDE it makes me question why I'm not using that. Plus there are large json files I can open up no problem in NeoVim that Emacs chokes on.

With that being said, there is no program that has come along that is a sufficient modern replacement for Emacs like Neovim is for Vim. Unless you've used Emacs heavily then it's just hard to understand. And it's not just being able to use a terminal or write some markdown/org notes in it.

It's built in support for IRC. Reading email. Emacs Speaks Statistics. It's being able to make functions and bind just about anything to a set of key chords. It's using things like restclient to send rest requests, and many other awesome things. Using Emacs kind of feels like programming in Smalltalk in a way.

← PreviousPage 4 of 19Next →