Details
-
AboutSecurity platform engineer. TDD is a mountain I will happily die on. Im the sort of dude who will spend 6 days automating a 6 minute task. I also sometimes blog about stuff and things.
-
SkillsWorrying about security, renaming classes, getting triggered by misuse of design patterns, mentoring about code quality and TDD, complaining about broken tests, oh and Java
-
LocationBelfast
-
Website
-
Github
Joined devRant on 8/24/2016
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API

From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
I guess you could say that my speciality is cloud at scale. I’d say it chose me more than I chose it.
Looking back on it though, I think what I like about my speciality is the unique challenges it brings.
Every speciality has its own set of challenges, like tight resource limits in embedded, or client-server synchronisation in native/mobile.
The challenge of cloud at scale is throughput. Designing systems that can support 100K users making a bazillion requests a second, or a data pipeline firing events that you need to process in near real time without dropping a single one.
The real challenge of course is doing all this within a sensible budget. We have virtually infinite compute but we dont have infinite dollars to spend on it.
Its a fun problem to solve.3 -
Amazon what the hell.
You provide a cool RDS proxy which can be used to manage connection pooling which is especially useful for concurrent Lambda invocations.
But if you have an Aurora cluster and a read-intensive workload it is basically useless because it only sends traffic to the writer instance.
WTF?! Literally the one use case we have is the one thing it doesn’t do. AAARRRGGHHHH2 -
sister in law: *gets new laptop*
*produces antivirus*
“I’m not putting that on, I don’t need it”
me: *visible confusion*15 -
Wondering about how I should continue with my blog.
One the one hand, Ive always liked the video format Uncle Bob uses, and I think Id actually find it easier to talk about my ideas rather than write about it.
On the other hand, I know a lot of people prefer a written article they can read at their own pace.
Thinking I might try a hybrid of some sort, like record a vlog and then write the article afterwards, using the video for reference since I already got the words out.1 -
Worked on a team where every single sprint planning was a useless meeting because we were expected to deliver everything in the backlog every sprint. So what are we really planning?5
-
Don’t put pressure on yourself to understand everything. No single person understands it all, that’s why there’s a bunch of us.6
-
Kong API Gateway in Kubernetes is a load of balls. Spent half a day trying to stabilise the deployment after I bumped its pod resource requests.1
-
Just a quick rant to express my distaste that the AWS ALB ingress controller for Kubernetes doesnt expose any useful metrics. I just wanna know the target response latency is that too much to ask?1
-
I ran a big long-running terraform apply and somehow thought it would still work if I locked my laptop.
When I went back the next day (I know lol) terraform was hanging, had to force stop which screwed up the remote tfstate.
Had to spend a whole day manually deleting about 70 AWS resources that terraform created but had no knowledge of because of the corrupted state.9 -
Blog: Never ever try to turn a rushed demo build into a live product.
https://likelikeatemyshield.com/pos... -
Decided to start a software engineering blog after several years of procrastinating.
likelikeatemyshield.com
Just published my first post. Feedback is welcome :)7 -
Me: *Writes a nice little AWS Lambda service using Java 12*
Reviewing Dev: Lambda only supports JDK 8
Me: *Dies inside and cries as I replace every occurence of var*6 -
Uncle Bob, Martin Fowler, Kevlin Henney, Doc Norton, Allen Holub.
They have all taught me great things about software development, whether through books or superb conference talks. -
My last post was over a month ago about updating my CV to escape this place.
Pleased to report I got the job 😎3 -
Today, during an update from senior management, I was casually sitting in the corner filling in my CV to get out of here lol.3
-
Well yesterday I had the absolute joy of marrying @GIS-Jedi.
I think I have gotten more Facebook notifications today than I did in all of 20185 -
If you are a mobile game developer and you make those stupid interactive ads that pop up in the middle of another game and try to make me play it. I dont like you and would sooner leave a bad review on your game for having the audacity to invade my other games. Stop it. It is the most annoying type of ad I have ever seen and actively discourages me from downloading your game. Mobile games are already basically a cancer without that horrendous experience.2
-
A quick rant about dependency injection.
I see far too often in projects, a huge over-reliance on dependency injection / IOC frameworks which permeate throughout the entire codebase.
I cringe every time I see a constructor annotated with @Inject and 10 params.
The benefit of these frameworks is how easy they make it to manage many dependencies. What I dislike about them, is exactly that. I feel that they make it TOO easy to manage many dependencies.
How trivial is it to simply add another constructor param? exactly. And people then wonder why their dependency tree looks insane.
I am a strong believer in injecting dependencies the traditional way, via the constructor with no fancy framework. The reason being that it forces you to think more about the dependencies you are adding to your classes, and consider if they are really all needed.
The other problem I have with it, is it basically encourages you to inject everything because its so easy. The purpose of dependency injection is inversion of control and allowing classes to depend on abstraction rather than concrete implementation. All that goes out the window when you @Inject 6 different concrete classes.
Use dependency injection for its intended purpose, not as an excuse to be lazy and avoid thinking about dependencies.3 -
An iOS app which was basically a wrapper for a giant jQuery eForm.
~5000 lines of custom JS and it broke ALL THE DAMN TIME. A team of us worked on it for about a year and all we ever did was fix bugs. But the bug count never went down. The bugs just got replaced with more bugs.
Thankfully its not live anymore.
After the global thermonuclear war, all that will remain is cockroaches and jQuery. -
Heres a rant you dont see everyday, the lazy gits in my office who dont clean up after themselves. Go to the kitchen to make coffee only to be confronted by a mountain of dishes, the peak of which may have been level with High Hrothgar. Had to dry them and put them away before I could really even move. Like just wash something after you use it, then take the extra 20 seconds to dry it and put it away, dont just rinse it and then leave it sitting there. AAARRRGGGHHHH1