This website uses cookies

Read our Privacy policy and Terms of use for more information.

MonkeHacks #99

We’re nearly at MonkeHacks 100! I’ve been a bit quiet in the last month or so, but I’ve had a lot going on (and a lot to talk about) so I thank you for your understanding.

I spent two weeks in Ukraine to meet my girlfriend’s family, in Kyiv. Spending two weeks there, amidst the conflict, made a deep impression on me.

I’ve been building a hackbot, because I realised that I need to build something that finds me leads while I work on the startup idea.

I organised and hosted an unofficial Google bug hunters meetup in Dublin, in lieu of a cancelled Bugswat event. It went smoothly and we had some great talks (special thanks to Workday, the Irish Government and Critical Thinking Podcast for assisting with the venue and swag and such, and special thanks to Brutecat for speaking with us about his work on Google in a lot of depth).

I returned to Cork for about 10 days after that, and now I’m back home in Edinburgh.

Weekly Ideas / Notes

Terraform and Google Workspace

I’ve been working on a number of interesting problems. One of them was that I needed a demo Google Workspace tenant with realistic data to test some ideas. To do this, I used Terraform and a GCP service account to declaratively set up the workspace, meaning that I can recreate it or manage most of its state relatively trivially. Terraform is really the ultimate way to manage the state of almost anything declaratively. I’m still looking for other ways to apply it for non-cloud resources.

Hermes

I tried using Hermes agent, and the core CLI is fine - but the Desktop application sucks. A “profile” is a kind of workspace or group of resources in Hermes. I thought the CLI was the source of truth, but no! When I tried to delete a profile in the Desktop app, it kept reviving itself, even after I used the CLI to delete it. It was apparent to me then that there was another bit of code somewhere that didn’t actually get rid of the profile from its memory, and so I decided that I had had enough of dealing with this and went off to write my own version instead. I had my own version running on a Raspberry Pi before, but I used Fable 5 with Claude Code’s Ultracode setting to write an even better version.

Exploiting my own brain

I spent far too much time playing Clash Royale recently (I pushed to 11,700 trophies, but at what cost..?) so I’ve decided that enough is enough. One thing I’ve been putting off - or been generally bad at - is holding myself accountable to savings goals. So in parallel with the hackbot development (by in parallel, I mean in another Claude Code window at the same time), I’ve been developing a mobile game purely for my own use, that gamifies the saving / habit-making process of good financial management. I aim to use the classic dopamine-abusing game mechanics to point my brain in the right direction.

This is dummy data, of course, but this is what it roughly looks like. The village gets dirtier and less aesthetic if I ignore the tasks, and reaching savings goals has various in-game mechanics. The town evolves with more net worth.

Hackbot

I am now on the second iteration of my hackbot. This has been quite challenging and I’ve learned a lot. The first iteration was purely unauthenticated and subsequently found very little. I did incorporate a number of good ideas into it, largely inspired from the CTBB episode about hackbots that the lovely folks at CTBB did. My newer iteration focuses more on Human In The Loop. I think I tried to jump too far into something fully automated, when the ideal sweet spot is a mix of manual hacking and AI automation.

I’m never short on good ideas, so I trust that this project will pay off very soon. I’m using Codex as my core model for hacking, but writing everything in Claude Code’s Max 20x plan. I have smaller analysis agents that use Deepseek’s fast model for cheap token cost.

Dublin Hacker Meetup

We held a hacker meetup in Dublin in lieu of the cancelled Google Cloud Bugswat. It was a two-day meetup with talks, drinks and hacking together. Special thank you to Workday for providing the venue, Critical Thinking Podcast for providing swag (you guys rock) and Brutecat for answering our many questions in a Q&A!

The gang on Day 2. We had a few more people on Day 1.

Iceland

A certain large company is hosting an educational event in Reykjavik in Iceland, so I’ll be there from 13 July to 17 July. If you know, you know. I’ll see you there if you’re going! More on that in MonkeHacks 100.

Reflections on Ukraine

On a more serious note, I was in Kyiv for two weeks, from June 5 to June 19. I travelled there via Przemyśl in Poland, and took the train for 9 hours overnight with my girlfriend, who is from Kyiv.

In the first few days we experienced a few drone attacks, but I didn’t hear the drones themselves, only the sirens. The sirens sounded like the World War II air raid sirens - rising and falling in pitch. It was always, always a bit spooky.

I was quite lucky in my first week, and there were very few attacks at all - just a few sporadic drones overnight on most nights to keep the Kyiv population awake. I made several trips into the city centre, and saw many cool things - I visited the Independence Square and paid my respects to the fallen soldiers, I bought some war-related memorabilia to help fund the frontline efforts and to bring something back for my friends back at home, and I visited the Lavra (a large, beautiful monastic complex).

However, this changed drastically on June 15. Russia launched a massive attack on Kyiv. Across Ukraine, they launched over 70 missiles and 600 drones, including 6 hypersonic missiles, 34 ballistic missiles, and 30 cruise missiles. I sheltered in the basement of my partner’s family’s house, and we heard the ballistics fly over our heads. They sound like jet engines, and they always sound closer than they really are. It’s terrifying.

Moments later we heard a series of explosions, as well as the pum-pum-pum of the air defence kicking in and shooting down the drones. They sound like they’re right above your head, even if they’re a few miles away.

Ballistics are fast. Once they fire, you have about five to ten minutes to find shelter before they reach Kyiv.

Unfortunately, that night they struck the Lavra cathedral and monastic complex that I had visited a few days previously, and the cathedral roof caught fire. Two days later, I visited a famous market area with my partner, but unbeknownst to us, it had been struck by missiles on June 15.

The pictures below are of this market, still smelling of ash and smoke from two days previously.

Pochaina Market, Kyiv. This building appeared to have been struck directly, because concrete floors were caved in. The fire spread to nearby stalls and burned down the stalls for about 200m to the right of this building.

While the war always seemed quite distant to me, it became very, very real once I saw it myself. This war is on our doorstep in Europe. 9 hours on the train from Poland is almost nothing! I have decided to step up my participation in Irish national security measures as a direct result of this experience.

You, as the reader, will probably read this and go on with your day. But take a minute, or even 30 seconds, to think about this more critically for a second. Be glad that you don’t have to smell the ash from people’s businesses burning down, or hear the haunting roar of missiles over your head, or the booms of air defence. This is what the Ukrainians live with on a near-daily basis. They are immensely strong people and we can learn a lot from that. Most of all, do not think that this era of peace will last forever. Looking at history, we’re just in a lucky streak of peace right now. War is closer to your life than you think. Just keep that in your thoughts today, that’s all I ask.

Resources

Keep Reading