There is something you are not explaining (at least I couldn't find it, sorry if you do), but how do you manage apps states? Basically databases?
Most of these agents solutions are focusing on git branches and worktrees, but at least none of them mention databases. How do you handle them? For example, in my projects, this means I would need ten different copies of my database. What about other microservices that are used, like redis, celery, etc? Are you duplicating (10-plicating) all of them?
If this works flawlessly it would be very powerful, but I think it still needs to solve more issues whan just filesystem conflicts.
Great question currently superset manages worktrees + runs setup/teardown scripts you define on project setup. Those scripts can install dependencies, transfer env variables, and spin up branching services.
For example:
• if you’re using Neon/Supabase, your setup script can create a DB branch per workspace
• if you’re using Docker, the script can launch isolated containers for Redis/Postgres/Celery/etc
Currently we only orchestrate when they run, and have the user define what they do for each project, because every stack is different. This is a point of friction we are also solving by adding some features to help users automatically generate setup/teardown scripts that work for their projects.
We are also building cloud workspaces that will hopefully solve this issue for you and not limit users by their local hardware.
I have my agent run all docker commands in the main worktree. Sometimes this is awkward but mostly docker stuff is slow changing. I never run the stuff I’m developing in docker, I always run on the host directly.
For my current project (Postgres proxy like PGBouncer) I had Claude write a benchmark system that’s worktree aware. I have flags like -a-worktree=… -b-worktree =… so I can A/B benchmark between worktrees. Works great.
Awesome that sounds really cool! Yeah we have some friends that found a lot of luck with just a custom cli (something Avi did some tests with too), it definitely is a viable approach to use :)
Just docker compose and spin up 10
stacks? Should not be too much for modern laptop. But it would be great if tool like this could manage the ports (allocate unique set for each worktree, add those to .env)
For some cases test-containers [1] is an option as well. I’m using them for integration tests that need Postgres.
Why aren’t you mocking your dependencies? I should be able to run a microservice without 3rd party and it still work. If it doesn’t, it’s a distributed monolith.
For databases, if you can’t see a connection string in env vars, use sqlite://:memory and make a test db like you do for unit testing.
For redis, provide a mock impl that gets/sets keys in a hash table or dictionary.
What higher fidelity do you get with a real postgres over a SQLite in memory or even pglite or whatever.
The point isn’t you shouldn’t have a database, the point is what are your concerns? For me and my teams, we care about our code, the performance of that code, the correctness of that code, and don’t test against a live database so that we understand the separation of concerns between our app and its storage. We expect a database to be there. We expect it to have such and such schema. We don’t expect it to live at a certain address or a certain configuration as that is the databases concern.
We tell our app at startup where that address is or we don’t. The app should only care whether we did or not, if not, it will need to make one to work.
This is the same logic with unit testing. If you’re unit testing against a real database, that isn’t unit testing, that’s an integration test.
If you do care about the speed of your database and how your app scales, you aren’t going to be doing that on your local machine.
There is your idealization, and there is reality. Mocks are to be avoided. I reserve them for external dependencies.
> What higher fidelity do you get with a real postgres over a SQLite in memory or even pglite or whatever
You want them to have the same syntax and features, to the extent that you use them, or you'll have one code path for testing and another for production. For example, sqlite does not support ARRAYs or UUIDs natively, so you'll have to write a separate implementation. This is a vector for bugs.
You're right that sqlite doesn't support array's or uuid's natively. SQLite was only a suggestion on how one might go about separating your database engine concerns with your data layer concerns.
If you fail to understand why this separation is important, you'll fail to reason with why you'd do it in the first place so continue building apps like it's 1999, tightly coupled and you need the whole stack to run your thing. God forbid you expand beyond just 1 team.
You can for PG use that magic copy db they have, where they instantly (close to) copy db and with git-worktrees you can work on this, then tear it down. With sqlite obviously you would just copy it
First time I heard about GOG. Is like Steam but you download the .exe installer (or wahtever format it is) from the game you purchase? Like Kazaa/Ares but paid? I love it to be honest, and I think that's how it should be, but how do creators (and GOG) fight piracy? What's preventing me from buying, getting the offline installer and then sharing it later?
If I am wrong and GOG is something completely different, then let's build something like this together! (a marketplace of offline installers!)
> What's preventing me from buying, getting the offline installer and then sharing it later?
Nothing. People already do that. GOG does not fight against this, to my knowledge they believe that people will willingly pay for good games. It worked with Witcher 3 10 years ago as an example.
I know the author mentioned this, but I just got nervous imagining this as a tourist who doesn't speak German at all. This shouldn't be like this. Why they don't help at all?
It's also funny considering how here in South America we look at Germany trains (and Switzerland trains) as always on time, and the best train system, etc. But I am sure if this happens here it would be on the cover of newspapers.
I think, the joke about Germany and Italy should team up is a reference to the new CEO of Deutsche Bahn, Evelyn Palla, who is from Italy. The "to make the trains run on time" gives a hint here, because this is her declared task.
Not about Germany, Italy, and Japan, forming some sort of axis, I guess.
As per my other comment, Swiss trains (especially SBB) are not as pleasant as they get credit for. I get a lot that "you know, in other countries it's much worse", and it reminds me of software hosting, where it was normal in the past to be offline occasionally. Then Google et al. came and showed that much more reliability is possible with good engineering. I think there would be a lot of room for improvement.
I disagree. Swiss trains are a delight. They even have trains going up mountains (although some of those cost extra). Public transit in Switzerland was extremely reliable when I was there, and also according to official statistics.
Unlike other commenters, I agree that there are some (arguably significant) things to complain about. The first one is price - tickets are quite expensive. I frequently travel Zurich HB -> Lugano. This is 200km and costs a whopping 120+ CHF round trip. Zurich -> Geneva, Zurich Bern are similarly expensive. However, it's a bit hard to fault them as Switzerland is an expensive country and perhaps the high prices keep the service good.
What I am less able to excuse them for is capacity issues, especially on weekend and Friday trains on popular routes in the Summer. That Zurich Lugano train is packed to the gills most weekends during the summer such that it's standing room only for most of the 2 hour ride. They need to add more trains or at least more cars.
Reliability is not something to complain about. The trains are punctual, that's for sure.
Eh? Just checked in SBB Mobile, Zurich<->Lugano is 68 CHF roundtrip (with Halb-Tax, of course, but if you live in Switzerland, it doesn't make sense to not have it unless you have a GA travelcard) with 2nd class.
Keep in mind that a train in Germany counts as one-time if it is less than 6 minutes late. In Switzerland, it's 3 minutes.
Also in Germany, a train that did not even arrive does not count as too late.
There is also a concept of the "Pofalla-Wende", which is when a train is so late that it just does a 180 and drives back, to mitigate that the delay doesn't carry over to the train's next route. Of course, that means that it skips the stations at the end of the route.
Experienced that a few months ago. Next time I‘ll be tempted to pull the emergency brake which will cost them at least half an hour to get the train going again. Or so I have been told.
That does not make Germany look any better but I find the "percentage on time" not very useful compared to the "years of delay" metric. And arguable a average/median delay per train would be better? Also some delay volatility data would be interesting.
If you look at France for example, 80% of trains are not punctual but the "total delays" is actually on the low range, France being on the large side with lots of lines, I would say that it shows that the delays (20% of the time) are actual shorts.
I gather that this is an average of all trains. In Italy, the high velocity train are quite punctual, but the slow regional trains drag the average down.
The less complex your train network, the easier it is to ensure trains are on time. France, Italy and Germany possibly have larger networks than Switzerland.
Then split your network into segments you can handle. Switzerland receives lots of international trains. Not only that; it has a lot of rail companies, serves even tiny villages, and has the highest use per capita in Europe. Size of the network is a lame excuse. German trains used to be fine. Now they're a disaster.
Switzerland has all public transport synchronized across the country. In any of the countries you mentioned they don’t even gave synchronized public transport at city level.
I recently moved to the Netherlands to study, and I experience that a lot. Despite almost all official information everywhere being written in both Dutch and English, in-train announcements are only done in Dutch. I have to constantly listen to the announcements and try to understand based off their vibe if they sound like something critical or not.
The Netherlands is in the EU. English is the most widely spoken language in the EU, even after the UK left, because it is by far the most common second language. Nearly half of the people in the EU can speak it.
In Northern Europe the percentage is even higher. In the Netherlands there are almost as many people who speak it as there are Dutch speakers.
Taking into account people from other EU countries who are there on business plus tourists there is a good chance that if only one language was to be used for train announcements more people on the train would understand if it was in English then if it was in Dutch.
Ideally announcements should be bilingual, but if there’s only one language, it’s better to inconvenience any number of foreigners than even a single native who doesn’t speak English.
Yes, I'm obviously not mad with them using their own language, and I am studying it since I live there. But it's in the EU, and there is a lot of international tourists on the train, who shouldn't be expected to learn the national language of every country they visit just to navigate it.
Yep, only semi-consistent exception is that Amsterdam Central & Schiphol are usually also announced in english. Including delays related to these stations.
But, for example, Rotterdam or Utrecht are already a lot less likely to be announced in english.
In Switzerland, the major train lines announce in English (as well as German and French). Minor train lines often only announce in the local language.
Honestly, I don't see the problem. As a tourist, you have to be prepared with apps, or you can ask someone for help. Happens all the time, and most people are happy to help.
Someone living here needs to learn the local language.
> we look at Germany trains (and Switzerland trains) as always on time
When taking an international train from Germany to Switzerland, don't count on it that it will run through to the final destination.
SBB (Swiss National Railways) started to block German trains if their delay is more than 15 minutes (so, basically every DB train) and won't allow the train on their network.
This is only peripherically educational. Constantly delayed DB trains completely fouled up the scheduling on the extremely dense Swiss network. So they just won't allow it anymore.
On a sidenote: In 2024 SBB trains were 93.2% punctual. Connectivity punctuality (where you have to catch a connecting train) was 98.7%. A train is counted as punctual if the delay is less than 3 minutes (half the German figure).
German trains, as recently as the 90s, were phenomenal, and integrated superbly with the Swiss and others. It is in the 21st century that Germany has gone off the rails.
DB has been reorganized as an AG in the 90s, i.e. a corporation under private law. They are forced to (at least try to) make a profit for their shareholders, which is a common trait of private organizations. They consistently do so via short-sighted (mis-)management, another common trait with many private organizations. This privatized corporation is indeed fully owned by the state as its only shareholder, but unfortunately that doesn't manifest in the DB being run as the critical infrastructure that it is. I suspect that the indirections in power over the corporation that the privatized structure imposes is a key reason for why it became such a disaster.
I wonder how many times a low-effort "truthy" sounding comment like that is written without someone like you to correct them and to clarify. There's also comments here suggesting UK's privatisation fixed BR that I do not have the energy to correct anymore, so they just sit there being wrong for all to see
> They are forced to (at least try to) make a profit for their shareholders,
This is not true at all.
The shareholders set the targets and since the shareholder is the government they can set any target they want: profitability, more trains, cheaper tickets etc..
If the shareholder wants to inject 10% every year in stead of taking a profit they are absolutely free to do so.
The DB AG has been specifically founded to be "market-oriented" and profit-making, so yes, it is true.
I am sure the state could try to do _something_ about it, but I am also sure that a very strong car lobby here in Germany is working against that. BTW, the road network, which I would consider to conceptually be the same kind of infrastructure as the rail network, is to my understanding mostly built and maintained by state organizations, so it is possible to do it that way.
I guess it is also harder to market "let's subsidize this private company with tax payer money so they can continue to offer mediocre service" to voters, compared to "let's use tax payer money to build and maintain one-of-a-kind critical infrastructure from which everyone (with a car, which due to the less-than-great alternatives is a lot of people) can profit".
Again, having it organized as a private company adds indirection, diffuses power and responsibility, and adds a certain more or less implicit expectation of what private companies are supposed to do. That's my main issue with it. Private companies aren't supposed to run critical infrastructure as a monopoly for profit. It's the states job to provide and maintain critical infrastructure in the interest of all.
>The DB AG has been specifically founded to be "market-oriented" and profit-making, so yes, it is true.
Again, if the shareholders decide this is the reason: yes.
But shareholders can just as easily set other targets or incentives.
>I guess it is also harder to market "let's subsidize this private company with tax payer money so they can continue to offer mediocre service" to voters,
The government owns DB AG, it is not a private company. It is a public company.
> The government owns DB AG, it is not a private company. It is a public company.
It is a private company, as in it is a legal entity under private law. This is in contrast to a "öffentlich-rechtliches Unternehmen" (I don't know if this even has a proper translation or equivalent in other jurisdictions). There is more than two options here, it can be both privatized and public according to your definition.
That's ridiculous. DB is not even trying to become profitable, not is there any evidence that it's sole shareholder, aka the government, sets it as a target.
Well apparently they have been somewhat profitable from 2016 to 2019, and they have been paying a dividend to the state more often than not. I don't think their goal is actively loosing money?
The Netherlands has a very similar problem: the train system was privatized in the late 90s/early 2000s and has been going downhill since the 2010s or so. While it's still better than Deutsche Bahn, it's just so much worse compared to how it used to be.
Dutch trains aren't as perfect as the Swiss, but still far, far, better than German trains. I think it was about 20 years ago when NS was ridiculed because of nonsense delays caused by leaves on the track (who would possibly expect that in the autumn?). I think they're better now. And intercity trains leaving every 10 minutes (between Amsterdam and Utrecht) helps a lot.
German trains were great twenty years ago. I wouldn't be surprised if things went haywire after lockdown. Many things did. It gave people a licence not to work and introduced a sloppiness into everything.
I'm fairly certain it was before that, as someone living in The Netherlands we'd always get warned to make sure there was at least 30-60 minute transit time between each stop in Germany when travelling international, as the expectation was that the train would be (extremely) late.
While it is true that that many problems where already visible 10 years ago, it is also true tat during the pandemic more trains were on time because having very few passengers speeds up the boarding/offboarding at stations enormously. So the pandemic somehow delayed the already inevitable fall into the abyss.
German trains do typically announce in English. If they don't, that's the exception. Just ask around. Most people here speak English and will be able to repeat what was said, especially if they're under 40 or so.
Germany is the country where I found the highest number of people not being able to speak English, even people working in accomodation!
French people probably know English but they refuse to speak it; Italians don't know English that well, but they try their best using rolling R's and gestures.
I thought they already rejected delayed trains. Trains that are on time are still allowed. But I'd love to see Switzerland take over some of those international connections.
> But I'd love to see Switzerland take over some of those international connections.
The Giruno EMUs of the SBB serving the Eurocity from Hamburg to Basel are having technical malfunctions causing delays & aborted trainrides for the last few weeks.
The Eurocity(Express) Zurich-Munich is the most delayed long-distance train route in Germany. Most of the German route is only single-tracked and overcrowded.
I did learn German at school but it didn't help much when trying to get to Munich airport last year. I could understand what was going on with the cancelled trains at the station I boarded at, but the train I did catch end up tipping us all out after a few stops.
I could make out a bit of what the driver said, but not enough to be sure of the detail, which is what really mattered. I expected to miss my flight, but just made it in the end.
I'm a heavy public transport user in Switzerland, and even though it's almost a meme how reliable the trains are, reality is different. Yes, they operate in a way that make the stats look good (x% on time), but they take tradeoff to get there. E.g. they won't await connections if another train is a few minutes late. So you might have to wait for 30 minutes for the next one, or even longer if you're unlucky. And there's the occasional big incident, where you get stuck for several hours. I missed flights that way, even though planning in 3 hours of buffer. There is zero compensation in such cases as long as they bring you to your destination on the same day. Plus, several trains are regularly way too crowded.
They changed the policy maybe 5-years ago about a train waiting for a late train to come in because they found that it added additional delays to the entire system. I prefer the new way.
In my experience, they do sometimes still wait (at least that was the case for a few trips with delays last summer).
(And tbf I'm ok waiting 30min, with Taktfahrplan how much you wait is usually max 1h and often much shorter, my experience in other countries is often hours of delays in case of trouble)
Swiss trains are very civilized. On an ordinary intercity train can sit at a table with a white tablecloth and have a beer or wine and a proper dinner. It really makes the time fly by. The SBB also has merch store with their own line of watches.
> I know the author mentioned this, but I just got nervous imagining this as a tourist who doesn't speak German at all. This shouldn't be like this. Why they don't help at all?
How much help does your home country give to German tourists who don't speak English?
Pay-walled, but the title says it all: "Switzerland suspends Deutsche Bahn trains due to chronic delays". DB is so unreliable that it impacts the networks of neighboring countries.
Swiss trains are always on time. I've heard they've start to refuse delayed German trains entry to the country because their delays disrupt the system too much. The Swiss train system is excellent. The German train system is a joke.
Germany had a great train system but Germany also has a big automobile industry that spends a lot of money on lobbying.
In the end of the 90s with neoliberalism being very popular, it was decided to privatize the trains. The effect was only minimal investments in the infrastructure and a gradual rotting away of the train network. Now we a reaping what we have sown.
The enshitification of the German trains was done on purpose so they don't compete with cars.
If it's anything like the UK, the staff have incredibly secure jobs and recently secured some good changes to their working conditions/pay. It's probably not in their contract to announce in other languages, so they do exactly what their contract says
Idk how it is in Germany but my wife is currently trying to became a train driver in France and there are far more requirements that what you would imagine.
Even if the job is actually opened to basically everyone (and that’s pretty nice), you have to be in perfect physical and psychological shape with pretty strict tests, you have to be intellectually apt enough to follow the training which is pretty intense. You have to accept work conditions such as not knowing your work hours until the day before. You have to accept sleeping who knows where at least 2 times a week. You have to accept having only one weekend off per month.
So what happens is that when you have that much filters and you still want to hire train drivers, you can’t afford to expect your drivers to know another language on top of all of the rest.
Actually I’m a taking the train everyday to go to work and I have barely any complaint with the SNCF.
Most of the time they do what they can to deal with issues.
I don’t feel like there are too much issues it’s just they are extremely bad at communicating issues when they happen.
Sometimes the train is not there when it should but on the screen it just disappears as if it passed. Most of the time it’s just 2-5 minutes late but you can’t know. Maybe it’s just late. Maybe the traffic is stopped. Who knows.
I just dont understand how they don’t have people whose job is just writing messages for the information screens.
What is worse is that in my region, they have a pretty decent community managers for live information but they only post information in twitter because why not. So they already have the people doing this work but those people are saying different things than what the screen shows. Just let them write things on the screens :D
I'd reverse the question ask why Germany (or any other country where English is not an official language, and does not majorly rely on tourism for income) would provide any public information in English? Commercial services can choose to do so a matter of self interest, but why would state financed services?
Problem is that failing to communicate will lead to huge productivity holes, so to "fix it", either the natives need to learn a non native language or the incoming immigrants need to learn the native language..
So, attracting the international workforce to come Germany vs being able to fully utilise them are completely different ballparks..
This is Germany we're talking about, right? Something like half the population already speaks English to some degree and that is specifically concentrated in the part of the country that is already highly educated and would be working with those immigrants.
Educated immigrants often consider countries interchangeable. They are in a country, because they found an opportunity and took it. But they are not committed to stay, because better opportunities could arise elsewhere. When you have already immigrated once, doing it again is only going to get easier.
Immigrants with fewer opportunities are more likely to try to learn the language and integrate. When a country is offering them something they can't find anywhere else, it makes more sense to go through all that effort. Even knowing that they will probably never fully fit in.
I hear you. Two years ago I went to my dad's and I spent the afternoon "scanning" old pictures of my grandparents (his parents), dead almost two decades ago. I took pictures of the physical photos, situating the phone as horizontal as possible (parallel to the picture), so it was as similar as a scan (to avoid perspective, reflection, etc).
It was my fault that I didn't check the pictures while I was doing it. Imagine my dissapointment when I checked them back at home: the Android camera decided to apply some kind of AI filter to all the pictures. Now my grandparents don't look like them at all, they are just an AI version.
What phone it was? I am sure that there is a lot of ML involved to figure out how to denoise photos in the dark, etc., but I never noticed anything that I'd want to describe as "AI filter" on my photos.
I am thinking from a piracy perspective. If I share a link that contains a book, what can be done from DCMA or legal regulators? They can't ask the server (textarea.my) to remove the link because it doesn't exist.
They can't track every website with the link and ask to be removed, either.
Could they ask textarea.my to not parse the link and thus, not display the content? Could textarea.my refuse?
From a technical perspective, you're absolutely correct.
From a regulatory perspective, it seems unlikely that most courts would appreciate the difference. In their mind - you run a website, and that website contains copyrighted content. Take it down.
You'd probably have to just blacklist the link in question to avoid a legal headache.
In this case I'd say the link is the content. So it would be the place where you share the link, rather than the "rendering page", which should be more worried
Someone in another comment posted Crime and Punishment by Fyodor Dostoevsky, so a book fits in the URL. It is just that the URL is ~500000 characters :-P (the book itself is ~1.2M characters)
An analogy is asking someone who is colorblind how many colors are on a sheet of paper. What you are probing isn't reasoning, it's perception. If you can't see the input, you can't reason about the input.
> What you are probing isn't reasoning, it's perception.
Its both. A colorblind person will admit their shortcomings and, if compelled to be helpful like an LLM is, will reason their way to finding a solution that works around their limitations.
But as LLMs lack a way to reason, you get nonsense instead.
What tools does the LLM have access to that would reveal sub-token characters to it?
This assumes the colorblind person both believes it is true that they are colorblind, in a world where that can be verified, and possesses tools to overcome these limitations.
You have to be much more clever to 'see' an atom before the invention of a microscope, if the tool doesn't exist: most of the time you are SOL.
No, it’s an example that shows that LLMs still use a tokenizer, which is not an impediment for almost any task (even many where you would expect it to be, like searching a codebase for variants of a variable name in different cases).
reply