HNHacker News
TopNewBestAskShowJobs

lisperforlife

404 karma · joined January 8, 2009

A hacker of sorts.
submissionscomments
lisperforlife··on You might want to build your WebApp in Canvas instead of HTML
I call this the bluebox problem. Back when I worked for SAP there used to be this control called the bluebox control that embedded a browser (shdocvw) into a C++/MFC app. Almost every single annoying UI bug came from that control. I see the same now in the other direction. Every 5 years we come up with the bright idea to use browser as a distribution engine for a UI surface that is rendered by a box. This has historically never worked. I just wanted to recount applets, activex controls, flash, flex (also flash), silverlight, flutter ... and now this. The issue is developer tooling, screen readers, browser extensions and all the other small things that are difficult to account for.
lisperforlife··on Ask HN: What Are You Working On? (July 2026)
I am making it easy to embed coding mode AI agents into SaaS applications. We have a WinterTC compatible custom JS runtime that lets the agents write code to accomplish tasks and a SDK to embed agents into your SaaS apps. We help you write skill files on our coding agent against your API and use our frontend SDK to embed the agent into your app a.la Intercom. See https://uraiai.com/
lisperforlife··on Claude Fable 5
My guess is that it is a massive model similar to GPT 4.5 and $10/$50 pricing is for its output will discourage people from using it. I also read safety = nerfed.
lisperforlife··on Ask HN: Who wants to be hired? (June 2026)
``` Location: Eastern Canada Remote: Yes Willing to relocate: Yes to Toronto / GTA. Technologies: Rust, Go, Systems Design, Kuberenetes, vLLM, Inference APIs, Agentic systems, RAG, PostgreSQL, Typescript, React (and ecosystem), Linux, Firecracker, Docker Résumé/CV: https://vagmi.ca/resume Github: https://github.com/vagmi Email: vagmi@nirai.ca ```
lisperforlife··on Show HN: My Private GitHub on Postgres
This is really cool. PG has zlib compression on TOAST objects so this should still be okay even if you are not storing pack files. I am curious with your choice of hand-rolling pktline, upload-pack and receive pack implementations including rev-walking. Any particular reason you did not want to use libgit2 or something like the gitoxide implementation of pkt-line. Was it performance or is it because you wanted it to be in pure rust? Did you try running this on slightly heavier repository with a lot of commits, refs and objects?
lisperforlife··on Ask HN: Who wants to be hired? (May 2026)
Location: Canada Remote: Yes (East coast timing) Willing to relocate: No Technologies: Rust, Go, Python, Typescript/React, Postgres, K8S, LLM APIs Résumé/CV: https://vagmi.ca/resume Email: vagmi@nirai.ca --- https://github.com/vagmi | https://linkedin.com/in/vagmi

24+ years of experience and a hands on builder, generalist. I like to pitch tent and dig deep into the problem. I am versatile enough to solve problems across tiers. I am looking for part time work as I continue pushing my startup forward.

lisperforlife··on Cal.com is going closed source
Exactly this! Classic open source bait and switch.
lisperforlife··on Opus 4.5 is not the normal AI agent experience that I have had thus far
Recently the v8 rust library changed it from mutable handle scopes to pinned scopes. A fairly simple change that I even put in my CLAUDE.md file. But it still generates methods with HandleScope's and then says... oh I have a different scope and goes on a random walk refactoring completely unrelated parts of the code. All the while Opus 4.5 burns through tokens. Things work great as long as you are testing on the training set. But that said, it is absolutely brilliant with React and Typescript.
lisperforlife··on Replacing EBS and Rethinking Postgres Storage from First Principles
The 5ms write latency and 1ms write latency sounds like they are using S3 to store and retrieve data with some local cache. My guess is a S3 based block storage exposed as a network block device. S3 supports compare-and-swap operations (Put-If-Match), so you can do a copy-on-write scenario quite easily. May be somebody from TigerData can give a little bit more insight into this. I know slatedb supports S3 as a backend for their key-value store. We can build a block device abstraction using that.
lisperforlife··on Migrating from AWS to Hetzner
I think you can get much farther with dedicated servers. I run a couple of nodes on Hetzner. The performance you get from a dedicated machine even if it is a 3 year old machine that you can get on server auction is absolutely bonkers and cannot be compared to VMs. The thing is that most of the server hardware is focused towards high core count, low clock speed processors that optimize for I/O rather than compute. It is overprovisioned by all cloud providers. Even the I/O part of the disk is crazy. It uses all sorts of shenanigans to get a drive that sitting on a NAS and emulating a local disk. Most startups do not need the hyper virtualized, NAS based drive. You can go much farther and much more cost-effectively with dedicated server rentals from Hetzner. I would love to know if they are any north-american (particularly canadian) companies that can compete with price and the quality of service like Hetzner. I know of OVH but I would love to know others in the same space.
lisperforlife··on GPT-5
I don't think models are fundamentally getting better. What is happening is that we are increasing the training set, so when users use it, they are essentially testing on the training set and find that it fits their data and expectations really well. However, the moat is primarily the training data, and that is very hard to protect as the same data can be synthesized with these models. There is more innovation surrounding serving strategies and infrastructure than in the fundamental model architectures.
lisperforlife··on Containerization is a Swift package for running Linux containers on macOS
You can use libkrun to pretty much do the same thing.
lisperforlife··on How Does GPT-4o Encode Images?
Why is this not the top comment? FAIR published their C3MLeon paper about decoder-only autoregressive models that work with both text and image tokens. I believe GPT-4o's vocabulary has room for both image and audio tokens. For audio tokens, they probably trained an RVQ-VAE model like Encodec or Soundstream.
lisperforlife··on Stable Audio Open
I am curious about models like encodec or soundstream. They are essentially meant to be codecs informed by the music they are meant to compress to achieve insane compression ratios. The decompression process is indeed generative since a part of the information that is meant to be decoded is in the decoder weights. Does that pass the smell test from a copyright law's perspective? I believe such a decoder model is powering gpt-4o's audio decoding.
lisperforlife··on A CTO should be technical
I had written about it a few months back. https://blog.tarkalabs.com/what-does-a-cto-do-67c26d34ae7a

As I see it, CTOs are responsible for

- Making Build/Buy decisions

- Hiring

- Setting up a culture of learning

- Balancing tech and product priorities

- Setting up delivery processes that work for the team

- And finally for architecture and system design

I feel in that order of priority.

lisperforlife··on Ask HN: Do you use foreign keys in relational databases?
I tend to use foreign keys everywhere. The only time that I would skip it is when I do not need to cascade deletes. These are mostly metadata tables that will be archived on a periodical basis.
lisperforlife··on Prince of Persia in JavaScript
This is awesome. Brings back so many memories as a kid. Thank you. This is built with phaser. I am not very good at this game but if you need to recover life mid game, you can use this.

Phaser.GAMES[0].state.getCurrentState().ui.player.addLife()

Is this open source?

lisperforlife··on PostgREST 9.0
We built an entire system using RLS and functions. Postgraphile is frankly amazing. You can also extend the schema using Typescript or SQL.
lisperforlife··on Ask HN: Where can I live off 1k USD per month?
This. I moved to Canada from India and was appalled at the mobile internet infrastructure here. It is a ripoff.
lisperforlife··on Ethereum Isn't Fun Anymore
This. It took me a long time to understand this. I was so focused on the volatility that I failed to look at the larger trend. It clicked for me only a couple of months back.
lisperforlife··on Your Move, iPad
This. The most underrated comment. :-)
lisperforlife··on Gron – Make JSON Greppable
There is also JMESPath that implements a proper spec.

https://gatling.io/2019/07/31/introducing-jmespath-support/

lisperforlife··on Seam Carving
Caire (https://github.com/esimov/caire) uses seam carving as well. It uses pigo for face detection as well to ensure that it does not resize around the face.
lisperforlife··on Ask HN: How can I work towards building a company while employed?
Here is what I'd do.

* Pick a tech stack and get really good at it. You can do it at your company's time and equipment as it is gaining knowledge.

* Give yourself 6 months to blog and contribute to open source on your own laptop. Get something decent to get started. If you feel buying a Macbook Pro or a similar Dev laptop is a huge expense, look for options to rent it in the short term. Consistency is key, ensure that you are pushing out a new post every week.

* Get into a freelancing gig where you are able to set your own times. This will give you a sense of business priorities and how to pitch and get clients. Conduct trainings and workshops and charge market rates for your expertise.

* Then if you really find a problem that needs more than your mind and two hands to solve, by all means setup a company, hire people and do things. As a developer looking for freedom from the man, freelancing is a good way to gain that freedom. Your own employer might hire you on your terms for twice the pay he is paying you currently.

lisperforlife··on Spotify to Apple: Time to Play Fair
I think we should break the monopoly of app store and play store. Platforms should enable other stores to play well along with their stores. It is ridiculous at this day and age to go through a process like app store / play store approval after you've spent so much money building an app. The web works fine without a single party deciding what should or should not be on it. We should treat app store as a service for distributing apps and providing services to update and charge people for those services. It should be distinct from the platform itself. The platform should stick with publishing a spec for how an executable should be and standards to verify the veracity of the distribution with certificates and digital signatures. I think if there is a region that can enforce this change, it will be the EU and the rest of the world will follow.
lisperforlife··on Ask HN: What frameworks are currently used in a modern web stack?
PostgreSQL, Go micro-services, kubernetes based deployment and isomorphic React (Webpack, hot loading, ES6) frontend.
lisperforlife··on Detrail: a dead-simple command line utility to fix trailing whitespace
I use the following two lines to highlight extra white spaces and clean them with a leader shortcut on vim.

    highlight ExtraWhitespace ctermbg=red guibg=red
    noremap <Leader>c :%s/\s\+$//g<CR>
lisperforlife··on Flutter – Cross-platform mobile framework from Google
Looks like we are trying to rediscover Java AWT in the mobile space.
lisperforlife··on Elm 0.15: Asynchrony with Tasks
In addition to the lexical change, the result now returns a Maybe instead of the actual element. This was done to avoid runtime crashes when head encounters an empty list. However, this means that everytime you have to use head, you will have to pattern match on Just x/Nothing to consume it. However, you can still use the (x::xs) pattern matching syntax to obtain head and tail and pattern match on [] for empty lists.

Absence of applicatives or monads mean that you have to explicitly pattern match on Just/Nothing everytime. There is a proposal to add `?` as an operator to obtain the head of the list without the Maybe and provide a default value if it is Nothing. Also there is another proposal to allow `unsafe` for the program to crash if the result is Nothing.

lisperforlife··on Java Runtime updater now installs ask.com toolbar on Macs
He probably does not need Java.
Page 1 of 3Next →