I’m currently [[replacing-google-search-apps-with-self-hosted-web-apps]] and decided to create a simple b64 encoder/decoder, just start typing to enter text, escape to deselect, then e/d to encode/decode.
I’m trying to make these apps super simple, self hosted out of minio, static html, and javascript. It’s been fun to get back to some simple interactive web development like this. No build just a website that does something. No broken builds, no containers to deploy, just push to minio.
encoded = btoa(content); decoded = atob(encoded);
Here is the result.
Great conversation with Billy Basso the creator of Animal Well on the code architecture of Animal well. It’s all hand crafted C++. He talks about early games he tried to build being heavy in oop, and really got lost in oop. Animal well is very flat, there is no inheritance, just lists of entities that all implement similar methods in their own way. Layering and order of entities becomes very important. Its crazy how much he had to think about hardware and MS build being very helpful with this, but needing to know all of the console apis. This is great, beautifully captures a modern backend view of https://motherfuckingwebsite.com/. I honestly resonate with almost all of this. I have found myself in more trouble than help when trying to fully vibe out a project. It never refactors, it leaves it shit everywhere, it mostly does what you say, until you get to something that seems easy, so you try to do it yourself, but you break its brittle piece of shit into pieces any time you try to touch it. AI coding help is great, mcp seems like it really has some game changing abilities, but hands of vibe coded crap aint there yet for me. I did not realize half of this, and it took me at least 4 watches through this to catch everything. k8s-monitoring requires setting imageregistry and pullsecrets twice Bugs exist when your test-enforced implementation fails to match the behavior described in your documentation. Without documentation a bug is just undefined behavior. This is quite an interesting thought, so does this mean that, none of my undocumented side projects have bugs? no I think there is still some implied behavior that naming things covers. a function So many small details go into making hollow knight such a great game, but it starts with such good controls, every thing is so fluid and predictable. I knew about coyote time, but not some of the other details that Juniper covers, such as hang time, and faster decent than jump. I’m trying to replace my usage of google inline search apps with real apps, today I used a stopwatch to time some things out at work by opening stopwatch. This was something I just wanted running in a tab on another screen, it was not timing running code or anything, I was using it as a reminder to check browser caches every 5 minutes or so for some testing. So tonight I whipped up a stopwatch, clock and timer, all of which are using the wakelock API to keep the screen on while the app is running. Excited to hear this story, they have so many key players in the trailer this will be fantastic. I’ve been working on ninesui, inspired by k9s see thoughts-633. I want a good flow for making video for the readme and I am using charm.sh’s vhs for this. Its running in an archBTW distrobox and looks gawdaweful. ... Interesting take on kubernetes from a front end perspective. All valid arguments to me, and really the answer to any do you need to any specific implementation of tech is probably no. We got along just fine before k8s ever existed and you still can, but its really nice in a lot of cases. If your skills lean toward backend or infrastructure I encourage you to give it a try. There are a lot of beginner friendly k8s distros that you can setup with relative ease, kind and k0s are great for single node, If you want multi-node k3s is what I generally use. If you want a very lightweight OS that you only interact with through an api, and has a very small attack surface talos is an amazing product. Internal, on-prem, self hosted. If you are trying to avoid the cloud for cost, rules, regulations, red tape, kubernetes is a great option to manage your container workflows yourself without needing to have a cloud budget, get approvals and sign offs on running... Just listened to this as I am really starting to get into grafana and feel like there isn’t a mountain of setup this time around realizing how much of my stack is brand new. Drill Down and Alloy are both new and key to my setup. The Ai integrations at the end sound wicked good, I will be interested if you can do similar things with an MCP vs how much proprietary stuff needs grafana cloud. Ultimately though a business needs a product. Textual has always been a solution in search of a problem. And while there are plenty of problems to which Textual is a fantastic solution, we weren’t able to find a shared problem or pain-point to build a viable business around. I can totally see this. Finding a marketable business idea is not easy, working in the developer space where everyone wants to do it themselves is no better. Textual specifically I could see, I really wanted to build things on it as it came out, I had ideas, it was hard to use at the time and changing, so I took a break, got busy with far too many other things, and really I ’m good with rich most of the time. I daily use k9s, its absolutely amazing at what it does and appreciate that I could build something like it in python, its just hard to justify the time investment for the things I tend to work on. Which is why Textualize, the company, will be wrapping up in the next few weeks. ... So it’s back to plan A: taking a year off. I plan on using this time to focus on my health–something I haven’t prioritized while working as a CEO / Founder of a startup. Wish you the best Will, you have given us textual and rich, and from what I can tell left it in some great hands. All I can say for certain is that I would like to write more. Writing scratches many of the same itches as software development, and it is a skill I’d like to nurture. Go get em Will, write to your hearts desire, and resist the urge to make an SSG company this time. Now “too much magic” is not the same thing as “bad magic”, although they are often conflated. Bad magic is when the implementation details leak out from the level below. This can manifest itself as cryptic errors that reference the magic’s implementation. Dang Strong takes against markdown here with a strong push for bespoke content models/structures. This idea is completely foreign and wild to me. I get it that markdown has its issues with flavors, add ons and what not, but overall its mostly transportable, its a skill that works most content sites and writing tools. I am so far on the other side that I seek out tools with markdown as an option and lean away from wsiwyg tools with specialized data formats on the backend. I’ll end with, I’m also a dev that creates very simplified content and maybe seeing the backend of a site with lots of custom fields would be very eye opening for me. Last year I attempted to do some newsletter-style link aggregation… that good intention imploded spectacularly. But I switched to Obsidian this month and now I have a better system for aggregating links (post on that coming later). Inside this issue you’ll find some games, some homelab server hardware, some AI discourse™, some musical instruments, and more. This hits so close to home, I even went through the effort of making a weeknotes script, one weeknote post. I also was inspired by obsidian but it didn’t work out for me, so my script uses data from markata. Do you remember regression models from college: given some data, you find a best fit line that allows you to predict Y given X. At the end of the day, ChatGPT, and LLMs in general, are the same thing as the regression model – it’s just that ChatGPT is the largest and fanciest model we currently have to model language and information. I really am coming to the idea of calling it a “word calculator”, this seems to be the most succinct description of llms that the lay person can comprehend and relate to. ChatGPT does not hallucinate or become unhinged I think Steve goes much deeper on this in his intervew on fafo.fm. They describe it more as a pleaser or “yes man” essentially all the companies that are building these models want to give the “best” answer, better than their competitors. With this comes the risk of it being completely wrong, they are designed to always give an answer. ...
get_bucket_contents implies doing something wtih s3, getting stuff from your local filesystem or crashing would be considered a bug. I think the argument here is that if I start mining bitcoin when you call get_bucket_contents and I have not documented it that this is a feature not a bug. If I were to take this a step further, now do I need to document that this does not also start a bitcoin miner? maybe this is more of an unwanted feature than a bug, I’m convincing myself more and more.