110jawefopiwa's comments

110jawefopiwa | 1 year ago | on: When will we fix the tools that run the world?

Fine - for each industry "X", when will a CEO of a company who is given oligopolistic control over software which is deeply entrenched in a stranglehold over "X" decide to fund desperately needed improvements to said software?

Presumably the CEO would believe that improving the quality of their company's products will lead to increased profits/revenue.

110jawefopiwa | 1 year ago | on: Advent of Code 2024

> There's plenty of actually useful projects I could do in this time to learn new things instead after all.

I suppose. I do actually useful projects at work. AoC reminds me of why I personally loved programming in the first place - solving small technical puzzles. I don't like trying to make every single moment of my life "productive".

110jawefopiwa | 1 year ago | on: Advent of Code 2024

I guess, but it's not really a fundamentally different programming paradigm, which is what I was getting at.

110jawefopiwa | 1 year ago | on: Advent of Code 2024

It's best for me when I do something that I ordinarily don't do for AoC.

I find no particular pleasure in using an everyday language like Python for it, because as you said it's too easy.

I have used Haskell, Racket, and in some easier cases APL and it's been fun. Treating it more like a puzzle than an actual programming assignment.

When learning new languages, it's best to do something that actually makes you think in a different shape. If you know Python, don't do Ruby. If you know Java, don't do C#.

110jawefopiwa | 1 year ago | on: Self-Documenting Code

I assume this is satire, but for those who might take this seriously, please avoid doing tricks like this.

You're doing so much extra work here. Creating many new arrays, running a bunch of extra function calls, creating extra closures, and really obfuscating code from the engine. This will tank performance.

This is the point at which people come back at me with something about "premature optimization" being bad. That's all well and good, but if you prematurely pessimize and let these patterns creep throughout your codebase, you end up with products that are significantly slower than they should be.

I've spent quite a while working on JS engines, and it always impresses me how much extra work exists in JS developers' code, seemingly for no real reason, and it's slowing down the entire internet. This doesn't appear to be better for the developer, the user, or any potential future maintainers.

110jawefopiwa | 1 year ago | on: Amazon reveals first color Kindle, new Kindle Scribe, and more

> IMO, the Kindle is the premium e-reader when it comes to look and feel. It's just a fantastic experience.

Interestingly, I switched from Kindle to Kobo because it was lacking various basic features that made it not feel premium.

* Kobo epubs can show "pages in chapter" progress so I know how much longer there is until a nice stopping point, while Kindle only shows "minutes left in chapter" which is functionally useless.

* Kobo had blue light blocking night shift before Kindle Paperwhite (I think both have it now?)

* Kobo had a convenient feature where you slide your finger along the side of the screen to change brightness, instead of having to go into multiple menus to do this.

It's possible these things have been remedied, but especially the chapter progress thing put such a bad taste in my mouth that I never wanted to touch Kindle again.

110jawefopiwa | 1 year ago | on: Project Euler #912: Where are the Odds?

> Advent of Code, are so heavily focused on making clever use of math, data structures and algorithms

I've done a fair amount of Advent of Code and I wouldn't say it's at all "focused" on this. The vast majority of the questions use hash tables and graph traversal as the full extent of their use of math/DS/algos.

There's always one or two puzzles every year that require some particular math/CS insight but most of them just need you to know BFS and/or how to write a parser.

Your examples are also not bad, but they seem to be primarily concerned with "getting familiar with a new programming language" in the context of writing a web server, which is one of the parts of programming I try to stay away from. Most of your examples require less familiarity with the language's features and more with libraries you might use, which is less interesting to me personally (then again, I'm a PL fan and I write compilers for a living).

Meanwhile, I like AoC because I've used language features to take the fairly straightforward potential implementations and write them more elegantly in the language I choose. e.g. I use Monads in Haskell, or use Rust's easy threading to parallelize solutions, etc.

For me, learning a new programming language is largely uninteresting unless it changes the fundamental "shape" I think in, rather than what the exact names of the libraries I use change to. e.g. I already know Java so I'm not really going to bother "learning" C#. I already know Python so I don't really bother diving deep into Ruby, etc. However, I learn Haskell, Rust, Forth, Erlang, Scheme, etc.

110jawefopiwa | 1 year ago | on: I Am Tired of AI

> You still have the precise output if you want it, it didn’t go away.

For now. Given that most new devices seem to be fully hostile to the concept of general purpose computing (see phones, VR devices, TVs, etc), I wonder how long it will be before many of the computers that are sold are even more locked down than Chromebooks - just a few prompts for interacting with a preinstalled LLM.

page 1