RSSAmplifier

Blog

Hello on Tom's ramblings

Recent content in Hello on Tom's ramblings

tojans.meRSS feed ↗211 posts

Latest posts

The goal of software architecture

The goal of software architecture is to build abstract models on top of behavioral models, so your software becomes easier to maintain and/or optimize.

The issue with SCRUM, SAFe, DDD and other methodologies

Today I saw someone on Instagram checking out what SCRUM means - trolling obviously -, and to be honest, it is both hilarious and cringe-worthy (Dutch only):

Reference by value in TypeScript

I am currently examining ways to improve development UX for a low-code platform that I’m opening up to the public.

Software estimates done right

So, how do you estimate a software development effort? Ha, that’s easy; there is a website called The Estimate Goat, that provides you random estimates every time you refresh the page!

An update

It has been a while since I have updated this blog, so I decided to give you a small overview of what happened and what I am currently doing.

2015 retrospective

As I have a spare hour while my kids and the Mrs. watch “The Grinch” (which is an awesome Christmas movie by the way), I decided to take half an hour to reflect and sit back.

Brain dump #2: How I'd implement Tesla's Autopilot feature - levels of AI

About two weeks ago, I decided to have some healthy life changes, and one of them is walking to my office.

Brain dump #1: How I'd implement Tesla's Autopilot feature

I recently saw this tweet by Elon Musk, who is looking for developers for their Autopilot feature: We are looking for hardcore software engineers.

Are new `.js` ui frameworks and - libs a fad?

Good question! TL-DR: Most are, except: jQuery React vue.js Frameworks - not for me! In web UI, frameworks like BackBone, Ember and Angular might be all nice and stuff, but when you start using them to compose larger applications, things tend to break down quite easily with less experienced developers.

Foldable for non-Haskellers: Haskell's controversial FTP proposal

In the Haskell world, there is currently a big fuss about the “Foldable/Traversable in Prelude”-proposal. Edit: For the record: it was a proposal, and has been implemented in the current version of Haskell (GHC)

DDD elevator pitch

DDD elevator pitch@ToJans In business, you make fine-grained adjustments all the time, in order to stay ahead of the competition.

Hangman in Haskell

As I noticed a question for a more idiomatic Haskell version of the game Hangman on codereview.stackoverflow.com, I decided to give it a go; this is the result:

Propositions as types and the future of programming

What’s all the fuss about? Quite recently, Philip Wadler published the paper “Propositions as Types” If I understood this correctly, this is about the fact that the application of a function to a type is also a type.

Insanity & start-ups

VCs are looking for start-ups who outperform their competitors not by a ten-fold, but at least a hundred- or a thousand-fold.

Building your own product

Phase 0 In March 2014, I was looking for a new project. I had an idea to generate sales leads for an up-market sunroom builder , so pitched it, setup a POC and successfully sold the idea.

How to explain dependent typing

Take an average programmer - let’s call him Joe D. - and have him talk to a fictitious academic called Alan T.

My favorite Ziobrando quotes

Every once in a while Alberto Brandolini - also known as “Ziobrando” - generates brilliant quotes. These are some of my personal favorites:

Confessions of a start-up consultant

About a year ago I was talking to one of my business mentors; he asked: “How do I get on the first page of Google search?

about dependent typing, Idris and the road to Valhalla

Due to my DDD background, I am constantly on a quest for the utopian domain model. Last week during the Build Stuff 2014 conference I saw a presentation by Amanda Laucher about dependent typing that spiked my interest.

The definitive guide to microservices

Renamed and moved to “The essence of microservices”.

The essence of microservices

During the DDDQ lean coffee last weekend the question on microservices popped up once again. This is not my first post about this subject, but apparently people wanted to know more.

The ultimate decision tree that tells you if language/technology/framework/library/... is a good choice

We’ve all been bitten in the past: should I use TDD / BDD / DDD / CQRS / Messaging / C# / F# / Java / JavaScript / MVC / RFP / Actors / Erlang / Elixir / Haskell / OCaml / Scala / Clojure / Windows / Linux / MacOs / CSS / SASS / Haml / (The new shiny thing (tm) ) / …

OO vs FP

Today I was having a discussion on twitter, and after re-reading my timeline and seeing this tweet, I decided to blog about it.

Functors, applicatives and monads for CSharp developers - part 2

TL;DR: A C# List implementation respecting the category theory Haskell usually uses. So, after implementing the Maybe Monad in C# respecting category theory yesterday, I decided to implement the list as well, to gain a deeper understanding of it.

Imitation, innovation and 'the love for the game'

As I posted this tweet In communities, others take credit for/copy the things you do. Be flattered and understand the why: they probably lack insight and "fiero".

Functors, applicatives and monads for csharp developers

For me personally, the whole functor/applicative/monad thing was one of the hardest things to grasp when studying FP. Being familiar with C#, I wondered why these concepts were missing in C#, so I decided - as an exercise and to see if I really understood it - to implement it in C#.

De politieke partijen hebben alle voeling met de kiezer verloren

Kijk maar naar hun partijprogramma en aanvallen naar minderheidspartijen; blijkbaar hebben de politieke partijen niets begrepen van de motivering achter het stemgedrag in de opinies.

The lean start-up triangle

At first: "Yeah, build-measure-learn; easy, I get it..." Now: "Wow, I didn't get that at all! I wonder how much more I missed!

What I learned from 3 years of CQRS and FP

I am currently setting up part of a BC for a customer, and it took me some refactoring after having not done any serious .

CQRS and functional programming

So, a little while ago, while I was studying Haskell, I decided to implement Greg Young’s SimpleCQRS example in Haskell.

Why 100% test coverage proves nothing

This is the follow-up to my previous post. I wrote an example - obviously badly written on purpose - by which I prove why 100% code coverage is useless.

Selling DDD

A little while ago, we gave a series of short talks called “DDD Basics” for the Belgian Domain-driven design community. The focus was on strategic design.

Trolling the 100% TDD coverage approach - or not

When I read this blog post about how and why one should achieve 100% code coverage on his code, I was flabbergasted, and when I noticed Bart’s reply, I decided to check:

Why bad software architecture is easy to monetize

This morning I received yet another “interesting” job offer, which looked like this: Wanted: "senior .Net architect" Description "build one framework to build all future projects, using sharepoint" #ThanksButNoThanks

observe, learn and be humble

Observations are useless without context. * Understanding the the observer's POV, state of mind and past experience usually tends to shed a whole new light to observations… *

February will be awesome

After chatting with a lot of friends yesterday, I realized: February will be awesome. Here’s why: I get to finish the Erlang FoundationDB driver.

micro-service-architecture versus SOA-EDA

@pjvds @FransBouma it sounds like (-micro) services. Isn't this what everyone has been saying for about a decade? Soa+eda? Why new things?

Fixing blatantly obvious wrong assumptions is hard

So, yesterday I had another one of those “in your face moments”: While working on the Erlang FoundationDB driver, I spent a lot of time on a bug that was so blatantly obvious that I did not notice it for a long time.

Recruiter due diligence

Dear $FIRSTNAME, We have an amazing opportunity for you: We are looking for a senior recruitment supervisor manager leadership executive assistant helper.

Growing software teams: size DOES matter

Growing software teams The problem Consider the amount of different communication channels (that relate directly to communication overhead and potential misunderstandings) on teams growing in size using the formula N*(N-1)/2:

Enjoyed programmer anarchy - looking for the next project

Note: This is the last post in what had to be a series of posts about my experiences working for HappyPancake.

Best posts 2013

2013 has been a good year; migrating my blog from blogengine to a more up-to-date blogging platform nearly doubled my visitors in the second half of the year, although it might have been the content as well.

The future of society: why a lot of big organisations will cease to exist

Introduction This post is an attempt to predict what the following decades will look like. I wrote a more technical post about this 3 years ago , which still makes sense far as I’m concerned. Somehow, my understanding about how this applies to non-software things has evolved, and after trying to make my point on twitter, I decided to elaborate in this blog post about my assumptions on the…

towards a more elegant fizzbuzz

This morning I saw this tweet: blogged: Clojure Kata #1 � Fizz Buzz https://t.co/kdZvqjzkRa — JanVanRyswyck (@JanVanRyswyck) 19 december 2013 As Jan is learning Clojure, he was exploring the fizzbuzz code kata.

The extrema of system integration

There seems to be a lot of confusion on this subject, so I decided to give my very opinionated view on the subject.

Enjoying programmer anarchy: HappyPancake - Introduction and Swedish culture

Note: This is the first post in a series of posts about my experiences working for HappyPancake: Introduction & Swedish culture.

Enjoying programmer anarchy: HappyPancake - Remoting

Note: This is the second post in a series of posts about my experiences working for HappyPancake: Introduction & Swedish culture.

DDD 101 tips

Here are my tips for getting started with DDD; they were written as a response to a question in the BE-DDD newsgroup:

life's playlist

Why “life’s playlist” ? As I was traveling home from a very nice trip I was once again composing a playlist that somehow matched my memories.

DDDBE meetup #2 - Legacy Inferno

After the great feedback of the first event, the Belgian DDD community had to do a second one, and last Thursday we did: