RSS Amplifier

Blog

Aging Coder

Random Musings on Technology

agingcoder.comRSS feed ↗74 posts

Written by

Latest posts

I Built an “AI for Shell Commands” CLI (So I Could Stop Asking ChatGPT)

I keep using chatbots for the same kind of question, over and over. Not “how do I build a distributed system” questions. The small ones. The terminal ones. The ones that should be muscle memory by now, except they aren’t. Questions like: how do I kill the task running on port 5173 from PowerShell remove a file from a git commit without deleting it find all files larger than 10MB compress all log…

Agents all the way down

What I Thought the End of Coding Would Look Like I started writing a story almost 28 years ago, back when I was still taking CompSci at college and spending a lot of time with the kind of ideas that feel inevitable when you’re young and the future looks like it’s accelerating: self-modifying systems, software that “evolves” instead of being written, the sense that if you just push compute far…

I Built an Interactive CV

A quick weekend build In my previous post, AI-Assisted Coding on a Budget , about AI Assisted coding, I included a short section about how I created an Interactive CV . A few people asked how it worked and how I built it, so this blog post expands upon that section to provide some answers. I took a short break from the larger project I’m working on and spent a weekend knocking out an idea I’d been…

AI-Assisted Coding on a Budget

Introduction Six months ago, I wrote about LLMs and coding with cautious optimism. I still hadn’t fully put my finger on what AI assistance was best for, but I found it genuinely useful for throwaway prototypes, busy work (like documenting APIs), building test scaffolds (though I didn’t fully trust it to write valid tests), and writing the kind of helper function that you’d previously reach for a…

Book Review: Vibe Coding

Book Review: Vibe Coding by Gene Kim and Steve Yegge I’ve never reviewed a book on this blog, but as AI agents like Claude Code begin writing the majority of real-world software, Vibe Coding felt impossible to ignore. I felt compelled to break my streak for Vibe Coding: Building Production-Grade Software With GenAI, Chat, Agents, and Beyond – a new book co-authored by DevOps luminary Gene Kim and…

Looking at React Native in 2025

Back in 2015 and 2018 I wrote a small trilogy of posts about NativeScript, React Native, and what I dubbed the "MobileNativeJavaScript" (MNJS) movement. Basically, using JavaScript to build native mobile apps (a term that to my never ending chagrin never took off). At the time I was mostly skeptical: the tooling was fragile, the UI story was awkward, and every framework demo seemed carefully…

RAG Time: Cooking Up Smart Recipe Suggestions with AI and a Dash of Retrieval

Retrieval-Augmented Generation (RAG) When I first heard about RAG (Retrieval-Augmented Generation) in the context of large language models (LLMs), I expected it to be a complex and technical concept. Even after doing a bit of reading and discovering that the information is generally stored as embeddings in a vector database, it seemed there’d be a fair amount of complexity involved. But eventually…

Serving the Cookbook: Creating an Endpoint for Recipe Recommendations

Introduction This will be just a quick little follow-up to the last post where we created a model and some saved data for returning recipes with similar ingredients. In this post, we'll create an endpoint for the model and return recipes based on the ingredients passed to the FastAPI endpoint. Setup If you haven't already, please clone the GitHub repository . git clone…

Clustering the Cookbook: A Taste of Unsupervised Learning

Introduction to Unsupervised Learning Over the last few posts, we explored supervised learning—building labeled‑data pipelines, tuning models, and using supervised learning to be able to extract structured recipe data from a noisiness that is a web page ( start here ). We also experimented with whether a small LLM could act as a shortcut for that workflow. While the results were interesting, it…

Can a Tiny LLM Beat A Supervised Model?

1. Introduction Can a compact, fine-tuned LLM outperform a lightweight supervised model at structured extraction—specifically, parsing recipes from noisy, real-world web pages? That’s the technical challenge at the heart of this post, inspired by a question from a reader: Also I am super curious, about another experiment that I have no idea about, but seems like the general direction of how things…

Experiments in Supervised Learning Part 4

Speeding up the Training Loop When developing and evaluating different machine learning models, rapid iteration is key—especially as experiments shift from feature engineering to focused model evaluation. At this stage, we want to make it as fast as possible to rerun training and testing cycles, particularly since feature extraction can become a bottleneck if performed repeatedly on the same data.…

Experiments in Supervised Learning Part 3

In the previous post we built a simple model to extract recipe data from a web page. But when we ran it on an actual recipe, the results were pretty rough: it achieved just 65% accuracy, mislabeled social buttons like “Pin” and “Tweet” as ingredients, and frequently duplicated ingredient entries. Directions included irrelevant text like “This site uses Akismet to reduce spam.” and “Sign in.”…

Experiments in Supervised Learning Part 2

First Results: Building and Running the Initial Model In the last post , we looked at how an old side project — Recipe Folder — left me with a rich but messy dataset of recipes labeled by real users. We covered the evolution of extracting recipes from the web: starting with structured data scraping, falling back to manual user labeling when that failed, and ultimately ending up with a trove of…

Experiments in Supervised Learning: Lessons from an old Recipe App

How to Do Supervised Learning: Lessons from an Old Recipe App * Heads Up : This is a technical post and requires enough understanding of programming to be relatively comfortable in Visual Studio Code This is the first in a series of at least 4 articles where I will explore the process of building a supervised learning model using real-world data. This is a hands-on series, so if you want to follow…

LLMs and Coding 6 months later

Good lord, has really been 6 months since I last wrote a post about LLMs and coding - how the world has changed since that time. I guess with 6 years between posts before November, and 6 months between posts now I should look on this as an improvement but with how much things change in AI and LLM world that is the same as 6 years between posts on Cordova. I certainly use LLMs more in day-to-day…

The Trough of Disillusionment

As we get more and more experience with LLM's I am starting to get worried that I am spending more time relying them and letting my brain atrophy rather than exercising one of my key skills - debugging problems. Like I have become dependent on things like calculators, spell checkers, grammar checkers and even something as common as the contacts list in a cell phone (I literally can't remember any…

Leveraging LLMs for Coding: Insights and Real-World Experiences

I've been using LLMs like GitHub Copilot, ChatGPT, Gemini, and Claude for the past couple of years to assist with coding, automate repetitive tasks, and even do language translations—both for computer languages and for generating initial translations for languages like Spanish and French. These tools have transformed the way I approach coding, providing assistance across various aspects of…

What's going on with Cordova/PhoneGap/Ionic these days?

People often ask me (ok, some programmer friends of mine sometimes ask me) what I would use to build a mobile app these days - would I still make a cross platform app with Cordova or Ionic these days. The answer is probably no, but it really depends on what your use case is. (and yes I will use the word Cordova from here on, but really even though the technology is a little different under the…

Same, Same, but Different

Has it really been 6 years since I last blogged? Yikes! Well, I have been meaning to write something for months now (the programming world is a very different place) mostly dealing with the some of the most interesting new fields in programming (AI, Assistants, Containers, and heck 6 years ago I was doing nothing with the Cloud) and other interesting technology. I went to start a new blog and…

Three More Years of PhoneGap/Cordova Lessons

Has it really been more than three years since I wrote Lessons Learned , hard to believe. So much time has past and yet it is definitely still the most viewed article on this website. After re-reading it I felt it was time to update its recommendations to be more recent, and add some new ones. Also if you find that post interesting, there are a couple other articles on PhoneGap/Cordova on this…

React Native -- A Tempting Quagmire

A recent experience being asked to look into a React Native mobile has clarified some of the questions I brought up in my last aritcle on React Native , lo those 2 1/2 years ago. The app was crashing, and not functioning as expected and I was asked if I could look over it and see whether it could salvaged or was going to require a complete rewrite. I explained that I hadn't really done much in…

Creating A Google Home App Part 3 - Refactoring and Scoring

Introduction Note: This is the third article in a probably four part series, it will not make much sense without reading the other two: Creating A Google Home App where we get a very simple Google Home App up and running. Creating A Google Home App Part 2 - The Game where we turn that simple app into a game. In the previous article we converted our very simple app into a version of Rock, Paper,…

Creating A Google Home App Part 2 - The Game

Introduction In the previous article, Creating A Google Home App I detailed how to get a very simple Google Home App up and running. Mostly it was about setting up the node project, the Google Actions project, but in the end you had an App that when you talked to it, it would say -- 'Hey Ma, It Worked!'. And while it wasn't much of an achievement, but I know I felt pretty cool when I got my Google…

Creating A Google Home App

Introduction A while ago I got an email from a Recipe Folder user asking how to get the Google Home integration working with Recipe Folder. I have no idea why they thought that there was an integration, but it got me thinking, maybe I should add one. I hadn't looked at Google Home or Amazon Alexa development before, but I thought it might be fun to add at least Google Home integration (I own a…

Flutter: A quick look at a new Cross Platform Mobile App Toolkit

Introduction Well over a year ago, Google (well, at least Google developers built it -- it's said to be made with "contributions by Google and the community" ref ), introduced yet another Mobile Toolkit that allows building apps for both iOS and Android. Although it is still boldly declared as an alpha release (even after over year and a half), it differs from most of the cross platform toolkits…

What Javascript Framework should I allow my developers to develop a SPA App, and what is a SPA App

Brief This genesis of this article was a conversation attempting to explain the reasons for choosing one Javascript Framework (or really collection of Frameworks) over another to a non Frontend developer. It was remarked that many managers, entrepreneurs, and clients of contractors might find the information useful when thinking about how to develop a new, or in the industry jargon greenfield…

The State of HTML Mobile Frameworks in 2016

The State of Mobile Frameworks 2016 It's been over 2 years since I posted The State of Mobile Frameworks and a fair amount has changed in that time, so now is probably a good time to dive back into that thorny topic. Some frameworks have withered and died, some have gained functionality and popularity, and some have effectively stayed still. It is important to note, that mostly I am focused on…

Should I use Cordova / Phonegap or go Native?

Cordova or Native? The number one question I get asked, both by as a consultant and in the emails I get from readers of this blog is "Should I use Phonegap or write a native app" Side note: when asked this question people almost always refer to Cordova as Phonegap, however I usually refer to it as Cordova as that is the name of the Open Source project, rather than PhoneGap which is the Adobe…

Typescript All The Things! Lessons learned moving a large codebase to typescript

Finally after three and a half years, I'm all in on TypeScript . What really pushed me over the line was creating a fairly large SPA (single page app) in Angular and TypeScript. Once you got around the tooling (getting a good gulp script 9 months ago was half the struggle but there are excellent samples and even pretty good generators now), and spent the couple of hours it takes to get comfortable…

Phonegap, Be Wary of Plugins

Today, dear reader, I have a cautionary tale to tell. It is a story of trust, and how that trust can quickly erode when confronted with hard truths, and the truth that nothing is ever as easy it seems. Yes today I am writing about Phonegap Plugins and how they are both the best and the worst part of PhoneGap. My tale begins with email, a reader sent me an email (yes, I usually respond to reader…

Using PhoneGap Preferences in an Android Native App

When updating RecipeFolder from a PhoneGap/Cordova hybrid to a Native Java app I initially experienced a euphoria on how quick it was to develop in Android now. 6 months in, and still without having actually shipped the update that euphoria is long gone. Like any development finishing the last 10% takes 90% of the time, and it has been mostly done for about 5 months now. When I was initially…

Going Native

Regular readers of this blog, or a casual reader who has looked at my posts will quickly realize that I am a big fan of hybrid apps . I have written extensively on the various frameworks , Phonegap and Cordova and even on the rise of Mobile Native JavaScript apps (shockingly MNJS never took off as an acronym). I found a new love for Javascript 5 years ago or so (after a decade of hating it), and…

Ooh! Shiny!

After almost three years running on Jekyll-Bootstrap , and getting the feeling that The Minimum theme wasn't doing it for me any more, I've bit the bullet and switched to a stock Jekyll build. You can see it in my GitHub repo. It's based off of Notepad by @hmfaysal , and I'm quite pleased with it. Only took a few minutes to switch (thank god for MarkDown). Though I probably should have switched to…

Building A Not Very Successful Product For No Money

Every now and then when a technical person tries Recipe Folder out, I get asked about how the application was built and what it runs on. It is kind of an interesting application in that it has quite a few moving pieces. It has a website, a backend api, a Bookmerklet or Browser extension as well as a mobile application that accesses API services on the backend. It is also kind of interesting as it…

A Quick Dive into React Native

In my last post's comments , Dave (no other name), suggested that I try (or to be honest try again) React Native. And I thought I would give the whole MobileNativeJavaScript thing one more shot. React Native, in its current form, now supports Android and iOS so it is now a closer match to NativeScript and the other MNJS frameworks. It also is installed through NPM but is, shall we say, not very…

Second thoughts on NativeScript

Update: Recent experiences with React Native can be found in the post: React Native -- A Tempting Quagmire I t's been 6 months since I wrote First Thoughts on NativeScript and you would think by now with my formidable blogging output I would have written dozens of articles following up on my initial thoughts. Well, as they say the best laid plans of mice and men, but I finally spent several hours…

Browser X is the new IE

Over the past few weeks there has been a hullabalou on the interwebs that started with the post from about Nolan Lawson about Safari being the new IE , which had follow up posts like Benjamin De Cock's Chrome is the new IE and a long rebuttal on the Debug Podcast where Don Melton's (one of the original Safari engineers) arguments about why Safari is not the new IE sounded to my ears exactly the…

Data Url Display

Data Url Viewer There is a great site called utiliti.dev that has a much better version of this tool, I would recommend using that instead. I needed a quick and dirty way to display a dataUrl as an image...

First Thoughts on NativeScript

On March 5th Telerik released NativeScript , a new way of developing Mobile Apps aimed squarely at web developers. There have been a few other platforms that have tried to do cross platform development before, starting with Phonegap . But there are others, Titanium has been doing the Native component run by Javascript for past few years (though I have never actually used it due knowing somehow who…

Lessons Learned from 5 Years of PhoneGap/Cordova Development

Update: This post is getting pretty long in the tooth, so I have updated it: Three More Years of Phonegap / Cordova Lessons It seems hard to believe, but it's been almost 5 years since I started doing PhoneGap development! while I could write a history of PhoneGap, or a history of my own use of PhoneGap, I felt it would be more interesting to share some of the wisdom I have learned from the past…

Kris's Podcast List 2015

Kris's Podcast List 2015 2014 was the year of the podcast , with Serial hitting a million downloads per episode, and Gimlet launching as a business whose vision was for high quality podcasts that where podcast first (not radio shows that re-issued as podcasts like This American Life or Planet Money . A lot of podcast networks also came into being or became more popular last year, and the subject…

The Angular 2.0 Hullabaloo

Ever since ng-europe last month, people have been freaking out about Angular 2.0, initially I had written up some thoughts about this in the days following, but I decided to wait a while for things to settle down before writing about this. I am hardly an Angular expert, and though I do use it both at work and also in pet projects I wondered really how much I had to add to the discussion. Freak Out…

Mobile Frameworks - OnsenUI

This is Part 7 in multipart series on the State of Mobile Frameworks in 2014, see Part 1 - The State of HTML Mobile Frameworks in 2014 Part 2 - Mobile Frameworks -- JQT (Formerly jqTouch) Part 3 - Mobile Frameworks -- jQuery Mobile Part 4 - Mobile Frameworks -- Bootstrap Part 5 - Mobile Frameworks -- KendoUI Part 6 - Mobile Frameworks -- Ionic Onsen is another Angular based mobile UI framework,…

Making Windows 8.1 Usable

I just got a new computer, and joy of joys it came with Windows 8.1. I was seriously considering downgrading (upgrading?) to Windows 7, but I figured that if I was going to stay in the Windows world for a little while I would have to get use to direction that Windows was going and I would tough it out with Windows 8.1. That said, there was a bunch of things I had to do to make this machine usable…

Mobile Frameworks - Ionic

This is Part 6 in multipart series on the State of Mobile Frameworks in 2014, see Part 1 - The State of HTML Mobile Frameworks in 2014 Part 2 - Mobile Frameworks -- JQT (Formerly jqTouch) Part 3 - Mobile Frameworks -- jQuery Mobile Part 4 - Mobile Frameworks -- Bootstrap Part 5 - Mobile Frameworks -- KendoUI Edit : I was mistakenly under the impression from an episode of JSJabber that Ionic had…

The Problem with Libraries

Before I go too deep down this rat/rabbit hole, I should state that Libraries are what has allowed programming to develop from where only the best of the best can produce software to a place where a plumber like me can still produce some pretty amazing stuff. Open source and libraries and tools have been the reason for the explosion of amazing software and computer greatness in general of the…

Mobile Frameworks -- KendoUI

This is Part 5 in multipart series on the State of Mobile Frameworks in 2014, if you haven't already read the previous articles, they are here: Part 1 - The State of HTML Mobile Frameworks in 2014 Part 2 - Mobile Frameworks -- JQT (Formerly jqTouch) Part 3 - Mobile Frameworks -- jQuery Mobile Part 4 - Mobile Frameworks -- Bootstrap Note This article took way longer to get out than I had planned.…

Things I have learned in too many years of programming -- IDEs

Things I have learned in too many years of programming# As a little break from my continuing opus on the State of Mobile Frameworks I've decided to write one of what may end up being a series of things that I have learned in my 20+ years of programming. IDEs## TLDR - IDEs make programming easier, if you are still using a text editor for programming seriously consider using a modern IDE. When…

Things I have learned in too many years of programming -- Comments

Things I have learned in too many years of programming As a little break from my continuing opus on the State of Mobile Frameworks I've decided to write one of what may end up being a series of things that I have learned in my 20+ years of programming. Comments TLDR - Comments are good, comments are bad, clarity is good, clarity is hard, moderation in all things. When I first started programming,…

Mobile Frameworks -- Bootstrap

This is Part 4 in multipart series on the State of Mobile Frameworks in 2014, if you haven't already read the previous articles, they are here: Part 1 - The State of HTML Mobile Frameworks in 2014 Part 2 - Mobile Frameworks -- JQT (Formerly jqTouch) Part 3 - Mobile Frameworks -- jQuery Mobile Note I spent some time creating a bootstrap version of my Recipe Folder app before switching to…