HNHacker News
TopNewBestAskShowJobs

kolme

707 karma · joined December 17, 2013

submissionscomments
kolme··on Jev meets the Trolley Problem
A probabilistic system that cannot reliably reproduce probabilities - somewhat ironic, but absolutely not its purpose.
kolme··on Show HN: Toast, a by default in-terminal IDE
Vim does have mouse support.
kolme··on I don't recommend Tailwind CSS
What? I don't even know what you're talking about, and I've written mountains of vanilla CSS code in big projects.
kolme··on Why I still reach for Lisp and Scheme instead of Haskell
> Of course, to be completely fair about my toolkit, standard Scheme can sometimes lack the heavyweight, “batteries-included” ecosystem required for massive enterprise production compared to the JVM.

I was thinking the whole time, "this person would _love_ Clojure".

kolme··on Dillo, a multi-platform graphical web browser
I used to use it, like over 20 years ago! Mozilla Suite was too slow for my taste and I only reached for it if Dillo couldn't render a page :)

IIRC I stopped using it when Firefox ("Phoenix" at the time) was released.

kolme··on Dillo, a multi-platform graphical web browser
AFAIK Dillo is GTK-based, at least the UI part, so I don't think so.
kolme··on NPM flooded with malicious packages downloaded more than 86k times
You don't have any stored passwords? Any private keys in your `.ssh/`? DB credentials in some config files? And the list goes on and on.
kolme··on I see a future in jj
I've also worked with CSV (barely) and SVN (more extensively) and I was blown away by Git.

You can have real branches! Many of them! You don't have to manually merge them! It's decentralized, you can have multiple origins, it lets you work offline! The list goes on and on.

There were many compelling reasons to switch to Git. But for all the articles about jj out there, I've never read any compelling reason to switch to jj. "It easier", "the commands are somewhat more ergonomic"... that's all?

kolme··on Show HN: A better Hacker News front end
I think it looks nice, but:

- Scrolling is unbearable on Firefox/Android.

- The icons are way too "noisy" I would remove them. Also, posts without icon look "misplaced".

Other than that looks pretty nice. The dark mode is awesome. Don't let the angry mob bring you down ;)

kolme··on Why I Chose Elixir Phoenix over Rails, Laravel, and Next.js
I had to laugh out loud when I read that sentence.

Really? I write code to pay my bills and sometimes just for fun.

Trying to do everything "the most optimal way possible" is going to get in the way of actually getting stuff done.

"Why do we code? To prematurely optimize all the things".

kolme··on Formatting code should be unnecessary
Yes, I was wrong on several levels.

First and foremost I was wrong thinking that I was smarter than others — that's not even how intelligence works.

Second I was wrong being so stubbornly pro-tabs / anti-spaces (for example). It doesn't make that much of a difference, so there's no point in being so passionate about it.

And third I was wasting everyone's time (and my persuasion powers) by not choosing my battles more wisely.

My suggestion would be nowadays: let's choose a popular style guide, set up a linter and be done with it.

kolme··on Formatting code should be unnecessary
I did that when I was young and naive. I'll tell you why I did it.

I thought I was very smart. Like, really really smart, maybe the smartest programmer in the team.

And as such my opinion was very important. Maybe the most important opinion in the team. Everyone had to listen to it!

That is all. Also, I was wrong.

kolme··on Formatting code should be unnecessary
Yes, you are technically correct and yet absolutely irrelevant to the conversation, just adding meaningless noise.

Also, there are many linters that also do formatting, blurring the "line" you're pointing at.

kolme··on Do Things That Don't Scale (2013)
> I’d say it’s more spreading knowledge around

How is it spreading knowledge around? A lot of times it gives half backed answers and a lot of beginners are using it while learning. That's not a good mix in my opinion.

I've been helping someone who's learning programming and I've had a look at their code. All of it is vibe coded. And the vibes are nightmarish, I don't think the AI is helping at all.

The only thing it's useful for is sparing expert programmers some tedious work, that's my perception as a programmer.

kolme··on ClojureScript from First Principles [video]
> But UIs are not pure functions, they have a deeply effectful nature, and being reactive all those effects are highly “situated” if you will (to use Rich Hickey’s word).

Oh, but we do this in ClojureScript the whole time.

You can express events and actions in pure functions as data and then take care of the effects outside of the core of your application.

A great example of how to do this is the "re-frame" framework [1] [2]. The documentation is also a joy to read.

> An example of this impedance surfacing in backend programming is a nontrivial map/reduce pipeline. What is the shape of the document at stage six?

There's many ways to find that out in Clojure/Script. There's the built-in `tap>` function [3] which can be used for debugging. You can use that to visualize complex data with Portal. [4]

    (defn inspect
      [coll]
      (doto coll tap>))
    
    (->> coll
         (map this)
         (inspect)
         (filter that))

[1] The framework: https://github.com/day8/re-frame

[2] A library with HTTP-Effects for your re-frame applications: https://github.com/Day8/re-frame-http-fx

[3] https://clojuredocs.org/clojure.core/tap%3E

[4] https://github.com/djblue/portal

kolme··on Progressive JSON
He got famous because of "redux" and "hot module reload" and then he got hired by Meta and started working on react.

This was before the hook era.

kolme··on Show HN: Offline JavaScript PubSub between browser tabs
Well, there's RabbitMQ and the rest of the message queues out there. But I don't know if those fall in your definition of "graceful".
kolme··on Software engineer pay heatmap for Europe
The "zones" are way too big.

For example working in west Germany is quite different to working in east Germany. The same goes for north and south Spain, north and south Italy, and so on.

kolme··on Does Your Code Pass the Turkey Test? (2008)
No, you're not missing anything.

Anyone programming outside of the USA is well aware of localisation and how to use it.

kolme··on Winamp deletes entire GitHub source code repo after a rocky few weeks
> Lest everyone using any flavour of Linux is liable to the same problem?

If by that you mean, if you are using Linux in production servers: You may use GPL software in a commercial setting. The source code part only applies if you are distributing software that contains GPL code.

kolme··on Sorry, GenAI is NOT going to 10x computer programming
> copy pasting chunks of code from one place to another and then modifying those chunks

That's not how you program. I've never seen anyone programing in this way unless they were just starting.

Edit: if you find yourself copying chunks and modifying them, you probably need to create an abstraction. Don't mean to be rude, just honestly that is my personal experience.

kolme··on Web components are okay
In my last gig we had exactly the same stack (WC without the shadow dom part + just lit-html) and it's great.

The best part is not having a dependency hell situation every other week.

kolme··on Insights after 11 years with Datomic [video]
If you don't have RDBMS wisdom and program an application around a RDBMS, your application is going to suck.

No ORM or framework is going to save you.

kolme··on When You Call a Restaurant, You Might Be Chatting with an AI Host
If I call a restaurant and an AI answers, I'm going to call somewhere else.

I just don't like talking to machines.

I'll happily tap through the app, though.

kolme··on Exploiting CI / CD Pipelines for fun and profit
Yes, that first part was not. But the article continues like this:

- they use that credentials to make a commit adding malicious code to the CI pipeline

- The rouge pipeline job adds their public SSH key to the `.allowed_keys` file in the production server

As the pipeline is run automatically on push, they get ssh access to the remote server.

That is the "CI / CD Pipelines" bit. That being said, it's a bit underwhelming, because given the title I though they were going to exploit a bug in the CI/CD software itself. I don't know if I'd call that "exploiting" CI/CD software.

kolme··on Exploiting CI / CD Pipelines for fun and profit
From TFA:

> A surprising number of websites still expose their .git directories to the public. When scanning for such exposures on a target, I noticed that the .git folder was publicly accessible.

[...]

> With access to .git/config, I found credentials, which opened the door to further exploitation. I could just clone the entire repository using the URL found inside the config file.

The URL with credentials was found in the `.git/config` file, defined in the [remote "origin"] section. This is the way they won full access to the repo.

kolme··on Htmx, Raku and Pico CSS
I find "removing" or resetting styles kind of hacky.

Another solution might be packing the map in a shadow element so that it doesn't get affected by the page CSS.

kolme··on Golang Interpreter Written in PHP
SELECCIONA * DE CLIENTES CUANDO TELÉFONO SEA NULO
kolme··on Code review antipatterns
Yes, this is precisely why I don't like sprints.

Scrumban is less stressful.

kolme··on Code review antipatterns
I think it's kind of important to be consistent about case because if not, people will trip when typing, it's annoying and might even cause bugs.

One thing I agree though, it's a waste of time to discuss about it. That problem is best solved with automatic tooling / linting. In the editor, git hooks and CI.

But if you and your colleagues don't have a problem with it, then I guess it's fine.

Page 1 of 8Next →