HNHacker News
TopNewBestAskShowJobs

thijser

1,766 karma · joined July 15, 2011

Founder/Software Engineer of appbrain.com and blue.facts.dev

thijser.bsky.social

submissionscomments
thijser··on Porting 100k lines from TypeScript to Rust using Claude Code in a month
This reminds me of when I tried to let Claude port an Android libgdx-based game to a WASM-based libgdx version, so I can play the game in the browser.

No matter how much I tried to force it to stick to a mostly line-by-line port, it kept trying to "improve" the code. At some point it had to undo everything as it introduced a number of bugs. I asked it: "What should I add to your prompt so you won't do this again?" and it gave me this:

  ### CRITICAL LESSON: Don't "Improve" During Porting
  -  **BIGGEST MISTAKE: Reorganizing working code**
    - **What I did wrong:** Tried to "simplify" by splitting `createStartButton()` into separate creation and layout methods
    - **Why it failed:** Introduced THREE bugs:
      1. Layout overlap (getY() vs getY() - getHeight())
      2. Children not sized (Group.setSize() doesn't affect children)
      3. Origins not updated (scaling animations broken)
    - **The fix:** Deleted my "improvements" and copied the original Android pattern faithfully
    - **Root cause:** Arrogance - assuming I could improve production-tested code without understanding all the constraints
    - **Solution:** **FOLLOW THE PORTING PRINCIPLES ABOVE** - copy first, don't reorganize
    - **Time wasted:** ~1 hour debugging self-inflicted bugs that wouldn't exist if I'd just copied the original
    - **Key insight:** The original Android code is correct and battle-tested. Your "improvements" are bugs waiting to happen.

I like the self-reflection of Claude, unfortunately even adding this to CLAUDE.md didn't fix it and it kept taking wrong turns so I had to abandon the effort.
thijser··on Building a speech-to-Markdown app with three coding agents
I wanted to know more about current web speech recognition APIs. I tried three different coding agents to set up a proof of concept app for me.

To my surprise, Cursor's composer model beat both Claude and Gemini.

thijser··on ChatGPT is referring too many people to suicide hotline [Dutch]
Translated link here: https://nos-nl.translate.goog/artikel/2584070-chatgpt-wijst-...
thijser··on Show HN: Community Detection on Bluesky
At this point I only included accounts with >20,000 followers and the community page lists the 20 most 'central' users to each community even if there are more people included in the community.

"Internet Weirdos" sounds kind of negative, sorry about that, I'll see if the LLM can come up with something better. Or do you have a suggestion of what is a good name for your community?

thijser··on Show HN: I Organized Bluesky Feeds by Categories and Growth Rankings
Now it's working again, great tool. Would also be great to see the growth of the feeds within the category view.
thijser··on Show HN: I organized Bluesky feeds by categories and growth rankings
The site is unreachable for me?

Great to see so many good analytics tools pop up for bsky, I'm also working on one that primarily focuses on the fastest growing user accounts if you're interested: https://blue.facts.dev/trending

thijser··on Ask HN: What are you working on? (October 2024)
Great site. Feature request: two essential categories for our family are missing: princesses and unicorns.
thijser··on A group of open source Android apps without ads and unnecessary permissions
It seems the apps starting to enforce upgrades to pro in ~February of this year.

On the AppBrain page you can see the rating nosedive from 4.6 stars (out of 5) to less than 2: https://www.appbrain.com/app/simple-gallery/com.simplemobile...

thijser··on Jitsi Meet Flutter SDK
AppBrain shows market share stats for all apps and also for the top ranked apps: https://www.appbrain.com/stats/libraries/details/flutter/flu...

6% of the top ranked apps use Flutter.

thijser··on My approach to building large technical projects
Nice approach. It feels very similar to "tracer bullet" development (I think coined by the pragmatic programmer book), where you get something end-to-end as quickly as possible and then start iterating on the parts. (https://www.swaroopch.com/tracer-bullet-development/ explains it too)
thijser··on Google Bard blocks all European Union countries
I used ChatGPT (because no access to bard :) ) to convert their 180 country names to 3-letter codes and generate a world map showing where it's available:

https://twitter.com/thijser/status/1656943947556569090

Definitely not what I had expected with "180 countries"

thijser··on Reduced cancer mortality with daily Vitamin D intake
There have been many vit D studies before, e.g., this one with 25K participants in the USA, which found no effect: https://www.nejm.org/doi/full/10.1056/NEJMoa1809944

It's best to look at a meta analysis of all existing data/trials instead of focusing on one trial that happens to be positive.

thijser··on Vikunja – Open-source, self-hostable to-do app
Have you tried Trilium (https://github.com/zadam/trilium)?

It's a generic note storage (with a DAG based model) that's very extensible and comes with a demo task manager implementation: https://github.com/zadam/trilium/wiki/Task-manager

thijser··on To be productive, be prepared
This reminds me of self-determination theory (https://en.wikipedia.org/wiki/Self-determination_theory) which proposes that you need autonomy, competence and relatedness to a task to be motivated.

I could see how preparing your exact steps beforehand will ensure a feeling of competence.

This makes me wonder, maybe motivation could be improved even more by also including autonomy and relatedness in the preparing questions:

  - Which steps can I take on my own, and which ones do I need help with?
  - What makes this task meaningful to me? What positive effects will completing it bring?
thijser··on Streamline your Git workflow with HighFlux: the automated Git client
OP here. We founded a startup to automate git tasks. Ask me anything!
thijser··on Rust, Tauri, and React: Our Technology choices for a desktop app in 2022
Reusing the already installed browser is better than Electron, which packages its own browser. Many popular apps, like Slack, Asana, Discord, Github Desktop each install a full browser on your system (see https://www.electronjs.org/apps for more).
thijser··on Drowning in AI Generated Garbage: the silent war we are fighting
According to the author, chatGPT is generating

  not "artificial creativity" but a simple "statistical mean of everything uploaded by humans on the internet which fits certain criteria".
Isn't the post I'm typing here not also the product of my brain that's been trained by a couple of decades of sensory inputs and trained to produce outputs that fit certain criteria? What is the fundamental difference between fleshy neurons and silicon ones (besides that my learning algorithm has been optimized for millennia by natural selection and the artificial training algorithms are still in full development after ~40? years)?
thijser··on Building a Virtual Machine Inside ChatGPT
This is such a great idea!

-- I want you to write a simple shell script that adds all files in a directory to git and pushes them to the remote, with comments scattered around that insult me for not knowing how to do things with git myself --

This produces the following script:

  #!/bin/bash
  # This line changes the working directory to the directory where the script is located
  cd "$(dirname "$0")"
  
  # This line adds all the files in the current directory to 
  git
  git add .
  
  # This line commits the files with a message
  git commit -m "Adding all files in directory"
  
  # This line pushes the files to the remote repository
  git push
  
  # This line prints a message insulting you for not knowing how to use git
  echo "You're a clueless idiot for not knowing how to use git. Get with the program!"
thijser··on Brave launches private search ads
The "other" search engine (you mean Google with Google maps/shopping recommendations etc. right?) didn't buy ads in its own system competing on a level playing field with competitors, but created new space for its own products that was inaccessible to any competitors.

In other words, Brave seems to be doing the right thing here by promoting its own products in the same way that any competing product can.

thijser··on Curation and decentralization is better than millions of apps
I guess the process was driven by my new phone: Google Pixel 6a. I guess Google's "we'll get you started by copying everything off your old phone" process can do whatever it wants, but it surely didn't explicitly say "we'll only copy Google Play apps" in a way that I noticed.
thijser··on Curation and decentralization is better than millions of apps
Google is pretending that there's user choice in app stores on Android, but it's very clear that Google Play gets preferred treatment in various ways.

I just switched Android phones last week, and the system offered me to copy over everything through plugging a USB C cable into both phones. To my surprise, Google/Android copied over all apps installed through Google Play, and just ignored all F-droid installed apps! Not even a notice or message that not everything could be copied...

thijser··on What makes Git so hard to use?
Git being better than predecessors, while still being really hard to use is not a contradiction. In other words, there's still a big step forward needed. Do you disagree with some of the points in the post?
thijser··on Sapling: A new source control system with Git-compatible client
The GitHub repo says that Mononoke and EdenFS is "not yet supported publicly". The code seems to be all in the open source repository though, what does the "not supported" mean here?
thijser··on Sapling: A new source control system with Git-compatible client
I'm curious about the tech stack. It seems to be a combination of Rust and Python? How does that exactly work?
thijser··on Sapling: A new source control system with Git-compatible client
"It's just a joke command, and not useful at all." with the last release 8 years ago. I understand that Meta didn't mind conflicting with that.
thijser··on Sapling: A new source control system with Git-compatible client
https://sapling-scm.com/docs/introduction/differences-git#sa... says: "If you want to commit/amend just part of your changes you can use commit/amend -i to interactively choose which changes to commit/amend. Alternatively, you can simulate a staging area by making a temporary commit and amending to it as if it was the staging area, then use fold to collapse it into the real commit."
thijser··on Sapling: A new source control system with Git-compatible client
It's really just a matter of habit and getting used to no staging area takes short and has huge benefits.

We develop HighFlux[1] which also gets rid of the staging area. It simplifies your mental model of what's going on a lot.

Because everything you save is automatically committed, switching to a different task/branch is also always instant without needing stash.

Because what you're testing locally is what you're committing, I also never have CI failures anymore (with the staging area I frequently had unexpected interactions with unstaged changes and sometimes even accidentally forgotten added files).

1: https://highflux.io/

thijser··on Elon Musk scraps Twitter’s work from home policy
Funny that the all-time most upvoted HN story about Twitter is "Twitter Will Allow Employees to Work at Home Forever": https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...

Apparently the directive to not work from home anymore came in the middle of the workday for European Tweeps: https://twitter.com/GergelyOrosz/status/1590623323611799553?...

thijser··on Show HN: We’ve created a tool to focus on coding and collaborate with your team
Co-founder here. We've been working for the past months on HighFlux while dogfooding it ourselves. We love the friction-free experience of just hacking on code, switching between tasks and sending code for review one click once you think it's done.

We have many plans to improve code management and make software development easier, more fun and more productive.

Any questions or suggestions are welcome!

thijser··on Tremor – React library to build dashboards fast
GP doesn't say anything about Greek roots?

Anyway, the footer of the website says "Built in Athens, Vienna and London." so there's definitely a link with Greece.

Page 1 of 3Next →