HN user

thijser

1,766 karma

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

thijser.bsky.social

Posts60
Comments90
View on HN
www.appbrain.com 1mo ago

US-based Android developers generate 5x more downloads than the next country, SG

thijser
3pts0
www.apptornado.com 6mo ago

Building a speech-to-Markdown app with three coding agents

thijser
3pts1
gitrewind.dev 7mo ago

Show HN: Git rewind – your Git year in review

thijser
5pts0
nos.nl 9mo ago

ChatGPT is referring too many people to suicide hotline [Dutch]

thijser
1pts2
blue.facts.dev 1y ago

Show HN: Community Detection on Bluesky

thijser
19pts5
jamanetwork.com 2y ago

Screen Media Use and Mental Health of Children and Adolescents

thijser
1pts0
www.qualys.com 2y ago

Regresshion: Unauthenticated remote code execution in OpenSSH's server

thijser
1pts1
josvisser.substack.com 2y ago

Why Python Is Terrible

thijser
58pts121
blog.vogelcode.com 3y ago

I shot 100 asteroids with fewer than 300 bytes of WebAssembly

thijser
4pts0
breakingthe3ma.app 3y ago

Three lessons from Threema: Analysis of a secure messenger

thijser
145pts49
www.highflux.io 3y ago

Streamline your Git workflow with HighFlux: the automated Git client

thijser
3pts2
www.highflux.io 3y ago

Rust, Tauri, and React: Our Technology choices for a desktop app in 2022

thijser
6pts2
www.highflux.io 3y ago

What makes Git so hard to use?

thijser
48pts104
prod.motherduck.com 3y ago

Motherduck Raises $47.5M for DuckDB

thijser
19pts2
www.highflux.io 3y ago

Show HN: We’ve created a tool to focus on coding and collaborate with your team

thijser
9pts2
news.ycombinator.com 4y ago

YouTube suspended my account for posting DeFi hackathon video

thijser
639pts370
mobile.twitter.com 7y ago

Facebook inflated video view statistics

thijser
1pts0
medium.com 7y ago

Testing 3 java libraries for data frames

thijser
1pts0
twitter.com 8y ago

Why “blockchain” is BS in 4 slides

thijser
373pts213
medium.com 8y ago

Automatic Interstitials: easily control ad placement in your Android app

thijser
2pts0
www.cgpgrey.com 8y ago

How Do Machines Learn?

thijser
4pts0
blog.appbrain.com 8y ago

Target specific users with AppBrain's CPI boosts

thijser
2pts0
blog.appbrain.com 9y ago

Incentivized installs forbidden on Google Play

thijser
2pts0
engineering.klarna.com 9y ago

How removing caching improved mobile performance by 25%

thijser
116pts41
adwords.google.com 9y ago

Google Adwords seems to have broken CSS for a couple of hours already

thijser
2pts2
blog.appbrain.com 10y ago

AppBrain Blog: How to Research Android Developers on Google Play

thijser
2pts0
blog.appbrain.com 10y ago

AppBrain blog: Get the most out of your ad units with the AppBrain Ad ID

thijser
1pts0
blog.appbrain.com 10y ago

AppBrain blog: More stats at a glance on the AppBrain app page

thijser
1pts0
cs.stanford.edu 11y ago

Paul Graham Wisdom Generator

thijser
2pts0
blog.appbrain.com 11y ago

AppBrain blog: Promote AppBrain and profit: the AppBrain affiliate system

thijser
1pts0

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.

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?

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?

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)?

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!"

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.

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.

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...

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?

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/

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!