The need for speed After my previous, more technical, post on home networking this one is more of like an update on gear and how my approach to “homelabbing” in general has changed in the last year. I use my homelab primarily to run services that I don’t have to pay for (other than in setup time and utility bills) and to experiment with new technologies in self-hosting and networking.
The ITX Llama board Nostalgia The lust for “the good old days” is a hell of a drug. A lot of the time, it’s mostly misremembering how bad things really were but an argument can be made that back in the day PCs were better in a few aspects. For one, you could buy a PC 18 months later and it’d be twice as fast, things were really moving fast.
XPenology logo Synology hardware and software Synology make a variety of home, professional and even rack-mounted storage products. I’m a particular fan of their DS Plus series and own a DS1621+ which has been a trusty workhorse for a couple of years now. To manage their hardware, they have a Linux distro with a competent Web UI called DSM. With a bunch of extra apps available, and extra…
Cover by Vecteezy original We’re all networked Networks are everywhere in the 21st century. Most home setups are probably composed of just an ISP-provided modem + WiFi access point combo, and it serves most needs just fine judging by how the third party modem market has virtually disappeared since the 2000s. But I run a NAS, want to stream my music when I’m out and about, and want to…
Image of a Creality Ender-3 V3 KE printer, from Creality’s website (not an affiliated link, and all opinions my own) Complex hobbies are fun At the end of 2023, I started on a career break (get in touch if you’re hiring!) and I’ve done lots of reading, some coding and have recently picked up a 3D printer. I’m in love with it, but it is a complex hobby with a lot of…
Cover by Archivo-FSP - Own work, CC BY-SA 3.0, original Archiving is important I’m a big fan of archives, of all sorts. Whatever we might think in the heat of the current times, we owe it to future generations to preserve our cultural artifacts so that they might be analyzed and studied in the future, devoid of current bias - and surely imbued with new ones, but let’s not go there.
ReactJS in a LiveView world Phoenix’s LiveView is great, and has drastically reduced the need for client-side Javascript code for basic use cases in Phoenix apps. However, some projects still need heavier components with richer behaviors than what LiveView can easily deliver. Thankfully, there’s a tool we can tap into for which an enormous amount of code has already been written -…
It’s been a while on the blog! I promise there will be more regular updates from now on, but maybe not always about tech… But why I know what you’re thinking - Kubernetes? On a home server? Who’d be that crazy? Well, a while ago I’d agree but a few things have changed my mind recently. I’ve started a new job at a small startup that doesn’t have a DevOps…
Technological freedom you can skip the intro and get right to the solution I’m a big fan of self-hosting stuff, and posted about it before. I run over 20 services from a server at home, and it’s super handy. Here’s a sample list: Syncthing to replace Dropbox Vaultwarden to use Bitwarden with my own server Airsonic to stream my music collection at home or on the go via DSub Gitea…
Stuff I’ve found interesting recently HERE IS THE ARTICLE YOU CAN SEND TO PEOPLE WHEN THEY SAY “BUT THE ENVIRONMENTAL ISSUES WITH CRYPTOART WILL BE SOLVED SOON, RIGHT?” In the Kingdom of Mao Bell a 1994 essay by the great Neal Stephenson on the People’s Republic of China telco boom around the same time The complicated love-hate relationship of immigrants from former colonies with the…
TV Still on season 1 of Scrubs and 12 Monkeys. The latter is better than expected, since first of all it’s 4 seasons based on a 100 minute film, and also time travel which is ugh in terms of writing - but very watchable. Rewatching Scrubs because why not. Movies Slower than usual around projects and stuff lately, so lots of media consumption. Saw Naked again, still disturbingly brilliant.…
It’s crappy out there now More lockdowns, more cases, more deaths - 2021 is not the breath of fresh air many had hoped for. It really feels like we’re living in a dystopian future. Dystopias are all the rage now, from jokes about this being the best season of Black Mirror ever, to the concept of the doomer. Dystopias are far from recent, of course, and even as far back as 2014 their…
May you live in interesting times It might sound like a blessing, but this expression is the English translation of a Chinese curse. How apropos. COVID-19 has wreaked havoc on our societies for the past ~15 months or so, and the second wave is really hitting Europe and the USA hard. This pattern is similar to previous pandemics, like the 1917-1918 outbreak of the “Spanish” flu. As of…
Can 2021 be worse? I really hope not, because this year was just the worst. I’ve been silent for a while, but things haven’t been that bad for me and my family. Being a non-essential worker, I’ve been working from home since April (with no end in sight, btw). Since last time, I’ve dabbled with some projects but notably stalled on my static site generator - my goal to…
The world is a mess. Uncertainty over the current pandemic, not to mention the tens of thousands dead, has the potential to disrupt society. The fact a lot of people are acting as everything is normal and will soon be over makes me think it hasn’t really “set” on everyone the repercussions of this event in the short to medium term. I hope it’ll be a great time to enact…
The Jaguar of 80s computers Ah, the Commodore Amiga. Much (maybe too much) has been written about this range of computers that failed to beat IBM and Apple for dominance in the home market in the 80s and 90s. Bad management decisions abounded, the design wasn’t open to third parties, and there were a ton of makers vying for the #1 spot back then - still, we don’t see a lot of Atari ST…
Posts in this series Part 0 Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 Intro This is it, the final post in this Event Sourcing with Elixir series! This final post will be light on code, I promise, and will be composed of final notes about using Commanded in production, and a broader look at why DDD and Event Sourcing matter.
Digital History I’m big into history of computing and weird hardware. Recently, I’ve been trying to get my MiST FPGA device online with an Amiga AGA core. I got an ESP8266 from Adafruit and connect it (with a SLIP router firmware) to the Internet at a whopping 38kb/s. It works, I can ping and telnet into it, but getting any sort of software running is really hard and time consuming.
Posts in this series Part 0 Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 Intro Transfers between accounts are a necessity for any bank, and ours is no exception. They’re also the perfect vehicle to introduce Process Managers to our toolset. Every operation we’ve done so far focuses on a single aggregate - but what to do when we need to change more than one aggregate in a single…
Posts in this series Part 0 Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 Way back in Part 3 we committed to the features we’d like to provide. This post was supposed to just add the missing features before transfers, and introduce process managers then, but it kinda ballooned out of control in terms of size, so next time we’ll tackle transfers between accounts in their own post.
Digital History I’ve been researching for a new blog post on virtual machines. I hope to cover IBM’s mainframe OSs, the Z-Machine and of course Erlang’s BEAM. The history of computers has always fascinated me, and it’s sometimes sobering to realize problems that seem recent have been around for a long, long time. Here’s an interesting video on UNIX: Interesting Links…
Posts in this series Part 0 Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 It’s been a while! But now, after holidays, vacation time and a trip to ElixirConf EU 2019 in lovely Prague, I’m back to carry on with our event-driven Bank API project! This time, we’ll go over Commanded middleware and we’ll improve our testing coverage of existing features.
Good TV So Travelers has been cancelled. I was a big fan of the concept, but I guess it’s not the kind of TV that sells. Season 3 was pretty good, though. The Brad Wright-verse of actors is always nice to see in action (or is it just that Canadian Scifi is a small village?). On the flipside, Love, Death and Robots is awesome and you should totally check it out:
Posts in this series Part 0 Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 Onward In the previous articles, we went over installing the tools we’ll need for our API project and a small introduction to Event Sourcing, DDD and CQRS and how our library of choice, Commanded, interprets them. We aim to develop a simple Banking API that allows for:
Interesting Links Droppy Sometimes you just need a way to manage files on a remote server with a nice UI and the ability to generate sharing links and maybe listen to MP3s and watch MP4 video remotely. If so, Droppy is quite handy. Make sure you look at the wiki for Websocket proxying info. StandardNotes On my quest to find a tool to help me manage my notes efficiently, got pointed towards this by…
Posts in this series Part 0 Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 Introduction to new concepts Before we get the ball rolling on our BankAPI project, there are some concepts we need to be acquainted with. In traditional web projects following the MVC paradigm, you have Models, Views and Controllers. The MVC paradigm from MSDN Controllers handle requests from the user, interact with…
Old anime I’m a big fan of good anime. Not so much of the endless episodes of One Piece or high school fare, but mostly the Ghibli classics and a couple of cool shows like One Punch Man, Megalo Box and so on. I’m also into old anime (80s and 90s) and there’s a cool Youtube channel for it called Oldtaku TV with old gems like Battle Agent Alita (from 1993):
Posts in this series Part 0 Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 Installation Alright! Let’s get busy! In this article we’ll install Elixir, Phoenix and all the other bits we need for our Banking API project. I’m a Linux user at home, and aware of macOS since I use it at work, but no idea about Windows support since I haven’t used it for development for a long…
Posts in this series Part 0 Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 I’ve been writing software for a long time, albeit professionally only for about 10 years now. Starting off with .NET (C#), I then had a period of fire-fighting at different projects in Perl and PHP and more C# until discovering Ruby. Ruby is great. Ruby is super expressive and friendly.
Living In Oblivion A while ago, on a flight from London to Lisbon, this huge sweaty guy sat next to me (I was on the aisle seat). Trying to keep his moist arm from touching me, I was enthralled by the movie he was watching on his iPad. Steve Buscemi, that actress I’ve seen before but never remember the name, and even Peter Dinklage? Seemed interesting. I was too shy to ask him what movie it…
I’m back Instead of saying I’ve stopped being lazy, I’ll just say I’m “back from hiatus”. So what’s been up? For the third fourth time, I’ve decided to blog more. Previously, I’ve been anxious about practicalities like “building an audience” or “having something to say”, but I don’t really care that much anymore. I…
I love my Pebble smartwatch. For around 3 years now, it has been my daily companion. I love the e-ink screen (and resulting long battery life), the metric ton of watchfaces available, the vibrating alarm… it’s one of my favorite gadgets. Unfortunately, Pebble went under and no new models are coming. Before they went under, I backed their Kickstarter for the Time 2, the successor to my…
I like to host my own stuff. And it’s not a recent phenomenon - I’ve been running my own mail-server for a few years now (thanks, mailcow-dockerized!), and I run a personal wiki. Even this blog is hosted on a Vultr server. With the (not anymore) recent PRISM revelations, my gut feeling has been reinforced. Since I work on personal projects, I need source hosting, error tracking and a…
I was hosting this blog on a Vultr VPS that was running just nginx for these static files (generated by hugo) and it was fine, but I had other plans for the server, and it’s usually a pain to mix your projects with an existing nginx config, so I’ve moved on to dokku for serving this blog as well. If you don’t know it, dokku is amazing. Spin up a new server, run the bootstrap…
Yay, I’m back to blogging! I’ve been away for a bit, and with everything that’s going on lately, I haven’t felt like blogging much. But writing is fun, so here’s a new post about something no one wants to read about: tape drives! Tape drives have been around in one form or another since 1951. Those big spinning things in old-timey movies showing “computer…
This could be a “look back on 30 years of using computers” but I’ve reduced it in scope. Here goes: I still build my own computer. I have a Late 2012 15” Macbook Pro, and it’s still perfectly usable, but I can’t pass up AMD’s recent Ryzen 250$ 16-core CPUs. It’s too much power to have in a reasonably priced laptop, but you can build a tower PC with…
Blade Runner 2049 is a good movie. I’d even say a great one, but I reserve that kind of praise until after I’m out of its trance, and I find myself still mulling over some aspects a few days after seeing it (explains this wall of text). Maybe just that kind of persistence alone makes it great in an age of mostly forgettable crap movies. I’s a flawed movie - the flaws are…
I’m currently employed at Onfido as a full-stack developer, doing mostly Elixir, Ruby and Javascript. Before that, thoughtbot. I have open sourced some things: state_shifter State machine gem (Ruby) grape_papertrail Integrates PaperTrail auditing with the Grape API framework (Ruby) I love new languages, so I also dabble in some Crystal in my spare time.
Hello. I live in Lisbon and used to live in Warsaw, Hilversum, Amsterdam and London. I code for a living and like to rant about politics, technology, history and our challenging times. You can email me at , and stalk me (in a socially accepted way) on Mastodon. My dev presence is mostly on Github.
Motivation in IT is a diverse issue. For many, coding is just coding and it will never be interesting in itself, only what you get from it in the form of salary makes it interesting. There’s the door if you share this opinion. For me, motivation is the biggest part of the job, since salary is pretty much a given for any good coder these days. I started my career writing C# for a bank wearing…
I love reading about reverse engineering exploits. In a time long past of cracktros and the like, it was how puny newbies ascended to the heights of the revered l33t (“elite”). Some people have the gift of seeing patterns everywhere, and of those some share their findings in awe-inspiring blog posts. Here’s a selection: Reverse Engineering Star Wars: Yoda Stories Reversing Bus…
Surveillance is one of today’s hot topics. In the UK, Theresa May continues her relentless attack on encryption and personal freedoms, with David Cameron singing the same tune. Paris was of course more wood for their fires, regardless of facts like the use of normal, unencrypted SMSs by the people involved. But there’s another aspect to government surveillance - a new kind of control…
Some links I’ve found interesting recently. Miscellaneous Why New York Subway Lines Are Missing Countdown Clocks captivating look at NY’s antiquated infrastructure and why attempts to modernise it recently have failed How America’s dying white supremacist movement is seizing on Donald Trump’s appeal fascinating Richard Feynman on education in Brazil Javascript Dissection of Flux…
Smart assholes are a problem in today’s society. It seems like stupidity has no borders, and even people that are perfectly capable of performing in some fields (literature, brain surgery, etc) are completely hopeless in others (being a member of society). Bill Maher does a bit on this. I’m fascinated by this. In my own experience, I’ve had brilliant discussions with people,…
I’ll be doing posts recapping stuff I’ve read recently and feel like it should stand out. I may add some videos in the future as well. How Gilded Ages End “Protecting democracy from oligarchic dominance is, once again, a central imperative of American politics.” Beware of ads that use inaudible sound to link your phone, TV, tablet, and PC Intensely scary… I worked in…
Saying the wrong thing gets you fired at CNN (and apparently, MSNBC) these days. Oh Edward R. Murrow, we really need you back. CNN Punished Its Own Journalist for Fulfilling a Core Duty of Journalism
Apple is pushing for a different segment with the iPad Pro. But adequate “desktop replacement” software for it might be in dire short supply, due to the pervasive spam and general mediocrity of the App Store. The Verge has more on it.
I’ve tried to blog in the past (a few times), but it has never stuck. I think it will this time. So, welcome, and expect a lot of technology related posts, rants about current events, and film reviews.