Board

Board

2272 bookmarks
Newest
A peek into Japan's Convenience Stores (Part 2)
A peek into Japan's Convenience Stores (Part 2)
Editor’s note: This is the second of a two-part article. It will mostly make sense even without reading Part 1, but you would be missing out on a lot of context! Before we start, let's take a quick detour to talk about that word in the heading below. Japanese
·one-from-nippon.ghost.io·
A peek into Japan's Convenience Stores (Part 2)
A peek into Japan's Convenience Stores
A peek into Japan's Convenience Stores
Editor’s note: Due to the sheer amount of interesting material here we decided to break this into a two-part article. All across Japan, one sight remains ubiquitous – the convenience store. A far, far cry from their American cousins, convenience stores in Japan are without exception, spotless, well-stocked, open 24x7,
·one-from-nippon.ghost.io·
A peek into Japan's Convenience Stores
PostgreSQL reconsiders its process-based model [LWN.net]
PostgreSQL reconsiders its process-based model [LWN.net]
In the fast-moving open-source world, programs can come and go quickly; a tool that has many users today can easily be eclipsed by something better next week. Even in this environment, though, some programs endure for a long time. As an example, consider the PostgreSQL database system, which traces its history back to 1986. Making fundamental changes to a large code base with that much history is never an easy task. As fundamental changes go, moving PostgreSQL away from its process-oriented model is not a small one, but it is one that the project is considering seriously.
, particularly on bigger machines. The overhead of cross-process context switches is inherently higher than switching between threads in the same process - and my suspicion is that that overhead will continue to increase.
He also pointed out that the process model imposes costs on development, forcing the project to maintain a lot of duplicated code, including several memory-management mechanisms that would be unneeded in a single address space. In a later message he also added that it would be possible to share state more efficiently between threads, since they all run within the same address space
·lwn.net·
PostgreSQL reconsiders its process-based model [LWN.net]
Breaking the inertia of mediocrity
Breaking the inertia of mediocrity
It's rarely the terrible decisions, processes, or even people that'll sink your organization. It's the accumulation and inertia of the mediocre ones. Dealing with the truly bad is easy. It's painfully obvious to all that change is required. The danger is imminent. It's much harder to find the will to act when the danger lurks in inadeq...
Easy choices, hard life. Hard choices, easy life. Make the hard choices. Even when it's possible to punt. The inertia of mediocrity will not break unless you break it.
·world.hey.com·
Breaking the inertia of mediocrity
Merge Queues
Merge Queues
A CI workflow starts when a developer pushes a proposed change (pull request, changeset, patch, etc.). The code goes through a cycle of reviews and testing until it passes automated and manual (i.e., review) tests. Then it gets merged into the main branch.
·blog.matt-rickard.com·
Merge Queues
Unforced Errors
Unforced Errors
More startups die of indigestion than starvation — Bill Hewlett In tennis, unforced errors are shots that should have been easy to return but were missed nonetheless. They aren’t attributed to an opponent's strength but are the result of our mistakes. Unforced errors are subtle mistakes that compound over time.
·blog.matt-rickard.com·
Unforced Errors
We have left the cloud
We have left the cloud
Since it took us years to get into the cloud in the first place, I originally imagined it would take us years to get out as well. But all that work to containerize our applications and prepare them for the cloud actually turned out to make it relatively easy to exit. And now, after six months of effort, it's done. We're out. The last a...
·world.hey.com·
We have left the cloud
Why First Mover Advantage is Overrated
Why First Mover Advantage is Overrated
First movers rarely win markets in technology. Ramp is a real competitor to Brex. DoorDash was founded years after GrubHub, Seamless, and Postmates. We use Excel instead of Lotus (or Visicalc). Facebook beat Myspace (and Instagram "beat" Facebook). When Google was founded in 1998, there were at least 20 other venture funded search engines. Google wasn't even the first to do pay-per-click advertising on its search engine either (that was Goto.com). Why is fast following so effective? Fast follo
First movers painstakingly discover product market fit – through costly experiments that generate technical and organizational debt. The vast majority of these learnings are observable by potential competitors: APIs can be copied, discovered markets can be entered, and marketing can be emulated.
Why is fast following so effective? Fast followers can short-circuit the learning curve that the first mover took so long to discover.
·matt-rickard.com·
Why First Mover Advantage is Overrated
So you want to write a GUI framework
So you want to write a GUI framework
Through several recent discussions of GUI programming in Rust,I have been left with the impression that the term ‘GUI’ means significantlydifferent things to...
·cmyr.net·
So you want to write a GUI framework
AI Is a Lot of Work
AI Is a Lot of Work
How many humans does it take to make tech seem human? Millions.
·theverge.com·
AI Is a Lot of Work
Tech debt metaphor maximalism
Tech debt metaphor maximalism
I really like the "tech debt" metaphor. A lot of people don't, but I think that's because they either don't extend the metaphor far enough,...
·apenwarr.ca·
Tech debt metaphor maximalism
11 years of hosting a SaaS
11 years of hosting a SaaS
Lots of mistakes, some uptime too.
Use managed services for as long as possible. We did ourselves a big disservice by leaving Heroku after only a few months. We should have stayed on it for years - there was so much time wasted managing servers that could have been done for us during critical early days.
·ghiculescu.substack.com·
11 years of hosting a SaaS
It’s Too Early To Call Winners in AI
It’s Too Early To Call Winners in AI
OpenAI and Microsoft have been crowned as the winners of the generative AI wave. Google is seen as having made severe missteps. Pundits say that incumbents will accrue all the value. There are no moats for startups. But ChatGPT is only 7 months old. Incumbent AI features are working, but we don’t know the counterfactual. New models are being trained and deployed. Open-source models aren’t as good but are catching up or have exceeded proprietary ones in different dimensions (developer tooling, ecosystem, etc.).
·blog.matt-rickard.com·
It’s Too Early To Call Winners in AI
Acting your wage will atrophy your abilities
Acting your wage will atrophy your abilities
Abilities unused will atrophy, so putting in anything less than your best means giving up on what you’re capable of. You can’t save talent or energy for better days, only watch it go to waste. This is a hard truth to accept if you don’t think your company has earned your best. And companies make employees feel like that all the time. T...
·world.hey.com·
Acting your wage will atrophy your abilities
ControlNet QR Codes
ControlNet QR Codes
Image diffusion models like Stable Diffusion can generate all types of images — from photorealistic quality to stylized images (e.g., in the style of Studio Ghibli or Leonardo Da Vinci). We started to control the output of these models with prompt engineering — finding the perfect combination of tokens to mix and match to achieve great images. Then we started curating the dataset — e.g., fine-tuning with images taken with a DSLR camera. Low-rank adaptation (LoRA).
·blog.matt-rickard.com·
ControlNet QR Codes
A Token Efficient Language for LLMs
A Token Efficient Language for LLMs
What would a token-efficient language for LLMs look like? YAML is pervasive as a configuration language partly because of its human readability over JSON. But — what’s more token-efficient if you’re using an LLM? Let’s look at some configuration languages as an example, but the concept also generalizes to programming languages.
·blog.matt-rickard.com·
A Token Efficient Language for LLMs
GameDev.net -- Understanding and Implementing Scene Graphs
GameDev.net -- Understanding and Implementing Scene Graphs
Gamedev.net is the leading resource for game developers, featuring daily news updates, over 1500 featured articles and tutorials, and the most active game development forums anywhere!
·archive.gamedev.net·
GameDev.net -- Understanding and Implementing Scene Graphs
Keep The Main Thing The Main Thing
Keep The Main Thing The Main Thing
The main thing is to keep the main thing the main thing — Stephen Covey An important lesson I’ve learned over the years (and still refining). A few dimensions in my experience. The first is prioritization — actually picking the main thing. It’s often hard at first; there are so many competing priorities. And usually, the initial answer is horizontal scaling rather than vertical scaling — i.e., hire more, allocate more resources, and try more things. But putting some work into prioritizing. Do one thing, and do it well. Ruthlessly cut everything else.
·blog.matt-rickard.com·
Keep The Main Thing The Main Thing
Compounding Optimism
Compounding Optimism
Let me share a little theory I have about optimism, and why progress is so easy to underestimate.
·collabfund.com·
Compounding Optimism
AWS quietly enters the multicloud era
AWS quietly enters the multicloud era
The cloud leader confirmed that two new services introduced Tuesday at re:Invent can be used to manage applications on Microsoft and Google's cloud services.
·protocol.com·
AWS quietly enters the multicloud era
Why I Built Litestream
Why I Built Litestream
Despite an exponential increase in computing power, our applications require more machines than ever because of architectural decisions made 25 years ago. You can eliminate much of your complexity and cost by using SQLite & Litestream for your production applications.
This n-tier architecture sounds simple at first but it has hidden complexity. On a single machine, our server could add an in-memory cache to speed up requests but now data is shared across multiple machines so we must add a memcached or Redis server to share cached data. Database servers are easily overloaded by numerous connections so we have to add intermediate services like PgBouncer to pool connections. If we have events in our system that must be communicated to all our nodes then we need a cluster of Kafka machines.
No, there’s a growing movement of people that see the value of single process applications.
So why is SQLite considered a “toy” database in the application development world and not a production database? That one big issue The biggest problem with using SQLite in production is disaster recovery. If your server dies, so does your data. That’s… not good.
·litestream.io·
Why I Built Litestream