Unfortunately no. Just starting it. Got the proof of concept loading a dir with its sub-dirs then rendering on the GPU in textures silky smooth. 1.7mb executable, but will need to level up to SDL and that will double the size I think.
@fastidiousprofilefollow"Beware those that would deny you access to information, for in their heart they dream themselves your master." โ Sid Meyersreplied to@avioliprofilefollowProgrammer by day and night. Lover of art. Mixing art and programming is the dream.:
@avioliprofilefollowProgrammer by day and night. Lover of art. Mixing art and programming is the dream.replied to@fastidiousprofilefollow"Beware those that would deny you access to information, for in their heart they dream themselves your master." โ Sid Meyers:
I agree. It is #zilchnotesfollow for now. Will do better next time, but in my defence the text above the text box (when writing a new message, not a reply) says โWhatโs on your mindโ. :-P
@thechelsukprofilefollowCurrently in remission from ME/CFS after 3+ years. Occasional software engineering leader, app developer, blogger, zwifter, and just being online.wrote:
Really glad to be using Haskell for work - especially in today's climate with agentic coding.
Our team uses containers to keep our development environment consistent across team members, though, and most agent sandbox approaches want to either offload your work fully to the cloud or they want to sandbox the agent harness process itself.
We're not ready for full cloud based development (yet?) and sandboxing just the agent doesn't work for us when the agent needs to run docker.
#haskellnotesfollow#ainotesfollow
... because letting the agent run docker gives them a too-easy escape hatch from their sandbox.
So we're currently stuck with using VMs. This turns out to be tricky but seems do-able.
My current approach is to provision a VM image and use Incus for the execution. My main goal is to keep my current workflow of local/non-agent dev working seamlessly and share the source with the VM/agent.
This means sharing my working dirs with the agent VM but overlaying artifact dirs from VM-owned block devices so we don't take too big of an IO perf hit.
I also don't want the agent to be able to git push so that means we need some quirky git config to rewrite origin paths and thread through some agent specific PATs ("thanks" GitHub) for read-only repo access. These ALSO need to be threaded through to the development containers - they need to clone private repos.
... in the end, this seems to work but I haven't lived with it for long.
There are still some quality of life issues to work out, but I think it'll work out.
At this point, I've removed all coding agents from my host - and that's nice.
It's tangential to the sandboxing topic, really. I started the first post with a broader intent in mind and then elaborated on the sandboxing setup I'm working on.
For AI-assisted coding, though, it's nice because Haskell provides a lot of feedback earlier in the development process compared to lots of other languages. It tends to work once it compiles (obviously not all the time).
Deterministic code generation is fine by me. Quite happy to use templating systems for example.
Problems occur when randomness is introduced. If you can avoid that it should be less "icky".
I find myself building bespoke tooling for my own #swdevnotesfollow and #ainotesfollow workflows these days, not only because of the obvious reason of software being so much cheaper to build, but also because there are SO MANY options for solving any given problem that it feels impossible to evaluate all of them.
If it's not a crucial piece of tech for a work problem then it often feels like paving my own way is both cheaper mentally (kind of amazing that's true these days) and probably a better fit.
..then of course I have to contend with - "Is this going to be a maintenance nightmare in the future?" and then I still usually conclude "no, the maintenance will be aided by the same approach that the construction was".
It's interesting how dramatically and quickly the scales have changed in this equation - and for such a wide range of software.
For example, I am looking for a coding agent coordinator with a particular (but not all that insane) set of requirements. I used both Claude and Perplexity to show me options and break them down by fit against my requirements.
I got completely different lists! No overlap!
And no perfect fits.
It will become increasingly harder to find niche markets for software when those people can just build it themselves exactly how they want it. In the end, people want to accomplish tasks, and the AI is going to be building the software on-the-fly exactly for that task, why do we need generic software that may or may not be a fit?
Yeah. It makes me think that protocols for exchanging data between apps will become even more important in that landscape. But maybe, not - maybe each exchange is another bespoke AI-driven implementation?
Protocols, infrastructure, containers, those kinds of things. I was actually playing around with an idea for a minimal markup language + runtime that can be utilized by AI to spin up apps more easily, and brainstorming it with ChatGPT, I have a feeling something like that will appear soon to complement MCP.
Today, I wrote a new Business Continuity Plan, worked with my SRE manager to improve responses to alerts, got a cringe email from HR and have to tell my staff to RTO 3-days a week if not classified as remote. Worked out for my 8th day streak, and cuddled in bed with my girl.
Hello World
Going to document some approaches to produce data visualizations using ari via DuckDB.
Donโt know why it didnโt occur to me earlier, that there would be some solid community extensions for #dataviznotesfollow in DuckDB.
I was trying to use an approach that relies on community extensions, but installing them is proving finicky.
Going to consider an approach that requires less futzing.