408 karma · joined January 25, 2016
Socials: - bsky.app/profile/claudio-ortolina.org
Interests: Music, Technology, Web Development
---
Side 4 has a double groove, which would give you either The Great Escape + Made again (a sort of a happy ending) or The Great Escape + 20 minutes of water sounds (which can be interpreted as the sad ending).
Reference: https://en.wikipedia.org/wiki/Brave_(Marillion_album)#Vinyl_... (I also have a copy and can confirm indeed it works like that).
It works really well (using Claude Code and Opus 4.6 primarily). Incremental changes tend to be well done and mostly one-shotted provided I use plan mode first, and larger changes are achievable by careful planning with split phases.
We have skills that map to different team roles, and 5 different skills used for code review. This usually gets you 90% there before opening a PR.
Adopting the tool made me more ambitious, in the sense that it lets me try approaches I would normally discard because of gaps in my knowledge and expertise. This doesn't mean blindly offloading work, but rather isolating parts where I can confidently assess risk, and then proceed with radically different implementations guided by metrics. For example, we needed to have a way to extract redlines from PDF documents, and in a couple of days went from a prototype with embedded Python to an embedded Rust version with a robust test oracle against hundreds of document.
I don't have multiple agents running at the same time working on different worktrees, as I find that distracting. When the agent is implementing I usually still think about the problem at hand and consider other angles that end up in subsequent revisions.
Other things I've tried which work well: share an Obsidian note with the agent, and collaboratively iterate on it while working on a bug investigation.
I still write a percentage of code by hand when I need to clearly visualise the implementation in my head (e.g. if I'm working on some algo improvement), or if the agent loses its way halfway through because they're just spitballing ideas without much grounding (rare occurrence).
I find Elixir very well suited for AI-assisted development because it's a relatively small language with strong idioms.
I can't say if it works better with other languages, but I can definitely say both Opus and Codex work really well with Elixir. I work on a fairly large application and they consistently produce well structured working code, and are able to review existing code to find issues that are very easy to miss.
The LLM needs guidance around general patterns, e.g. "Let's use a state machine to implement this functionality" but it writes code that uses language idioms, leverages immutability and concurrency, and generally speaking it's much better than any first pass that I would manually do.
I have my ethical concerns, but it would be foolish of me to state that it works poorly - if anything it makes me question my own abilities and focus in comparison (which is a whole different topic).
This is the spirit - I've started doing the same for releases that don't appear in MusicBrainz and it feels great knowing that I'm not just doing this for myself.
It integrates with MusicBrainz and Last.fm, so that I can easily add records, scrobble them, and search/track stats.
I want to figure out how to track availability for records I want to buy, which would involve interacting with marketplaces.
Using Elixir, SQLite and Phoenix LiveView, which is what I know best and lets me focus on UX and UI.
It's built with Elixir and Phoenix LiveView, backed by SQLite. Records are imported via MusicBrainz, and data enriched via Last.fm.
I'm looking now to add notes for each artist and record, along with arbitrary associations. Think supergroups, side projects, etc. and some trivia/quotes/stories that I can easily add for my own reference.
Location: London, England, UK
Remote: Yes
Willing to relocate: no
Technologies: Elixir/Erlang, JavaScript, PostgreSQL, SQLite
Resume: https://www.linkedin.com/in/claudioortolina
Website: https://claudio-ortolina.org
Email: cloud8421@gmail.com
I’m a software professional with 15 years of commercial experience in complex web
applications, apis and highly available distributed systems.I’ve worked both as an engineer directly building products and as a manager at different scales, with my last work experience as a CTO for an industry-leading document company.
I'm coming back from a year-long sabbatical where I focused on my family.
I'm looking for a product development role (so no management) where I can also train/coach other engineers, in a company that values taking part in the development community of the tools they're using.
How was Living Colour? That’s one I have on the bucket list.
I built:
- a clock with an internal task scheduler (e.g. send me an email digest every morning), based on https://shop.pimoroni.com/products/scroll-bot-pi-zero-w-proj...
- a lamp that follows the solar cycle for the given location (e.g. it turns purple at twilight), based on https://shop.pimoroni.com/products/mood-light-pi-zero-w-proj...
I’ve also got some impression (https://shop.pimoroni.com/search?q=impression&stock=true) kits that I want to program for a family photo tree kinda thing.
A summary of my experience:
- these are not complex projects, and required (in the worst case scenario) some porting of the original python examples provided by pimoroni to interface with the hardware.
- deploying via ssh is fast and reliable
- can quickly experiment by pasting a new version of a module in the device shell. Got an editor keybinding to do that by targeting a tmux pane.
- OTP constructs help structuring code beyond the standard infinite loop that you have in other languages. And you can have pub-sub and state machines just with the standard library.
- it’s easy to abstract the hardware bits away using dependency injection, so that you can work on the host machine if needed.
- working with time and time zones is possible thanks to the ecosystem packages.
- any dependency with native extension can be a problem if not built with cross compilation in mind, and if it crashes on device that’s where debugging becomes a bit harder (might need a serial cable).
- if needed, I usually add a simple web yo for config/customization.
- there are great tools in the ecosystem to troubleshoot memory issues etc.
- sometimes I have WiFi issues and I suspect it’s related to power management, but I haven’t checked thoroughly yet.