“Thoughts” are posts about what has been on my mind. Sometimes practical, sometimes not; often just things I read recently. Less thought out than regular posts.
First a small announcement: I have joined Bluesky. I like it so far and I think it has a good founding team, so I want to believe in its long-term potential. On the other hand, I will likely stop using Mastodon soon; it is not working for me. I will stay on X for now, but I can see Bluesky replacing it entirely after a while.
Let’s acknowledge the difficulties of our times but without accepting defeat in the process of trying to solve those issues. […] We are at the point where we can decide if we want to go full Cyperpunk or something more positive. Solarpunk is the movement, the idea behind envisioning and then creating a better future based on humans which live in harmony with nature.
If there is one thing I am certain of regarding climate change, it is that no amount of moderation will be enough to solve it without terrible consequences on a planetary scale. But there most likely won’t be a magical technological breakthrough either. We need to seriously start looking at technologies and ways of life that are both sustainable and acceptable for the whole planet.
On a side note, I also think important technological breakthroughs are not easily predictable in detail. For instance, I think it is highly likely that AI will play a role in fighting climate change, but I currently have no idea how.
Generative AI introduces much more stochasticity into programming. […] Ironically, this makes the deterministic parts that much more important.
One of the first things I did at Finegrain was making sure I knew about all the sources of randomness, and then adding deterministic end-to-end tests.
The authors have taken the visual understanding part of BLIP-2 (a ViT and a Querying Transformer) and aligned it with Vicuna. They achieved that by connecting them through a single 5120x768 linear layer. This illustrates well the unintuitive effectiveness of simple linear projections in high-dimensional spaces.
It is hard to grasp for some engineers early in their careers what took them here won’t take them there. Shipping features will probably take you to senior, shipping 10x more features is not how you’ll become a principal. What will get you to principal is removing chaos, unblocking others, fighting for things to be built in the right order, fighting scope creep, having backbone while knowing when to delegate decision making.
To fully understand a “best practice” or why something is necessary, it’s important to experience how things go wrong without it. When teaching programming, we should let people make these mistakes, and [only] then show them the tools to correct them.
There is a whole book dedicated to the fact that happiness fuels success and (mostly) not the other way around, and how to take advantage of it.
I haven’t read the book (yet) but I have come to that conclusion independently for a while now. I found the book through this post which is one of several about people moving back from management to engineering.