Welcome, This is REKKI's engineering blog. Check out the most recent articles: * Code Reviews at REKKI [complexity, communication] TLDR: * push to master if you want and if your team likes it * ask for a review, but try to do it over video/audio and articulate 'why' your code exists * don't comment on style or shit like that (commenting on style is like putting salt on food before trying it) * reviews do not share responsibility * own what you push code-reviews-at-rekki/r.txt Sat 4 Jul 14:56:10 CEST 2020 Borislav Nikolov (https://github.com/jackdoe) * (Unit) Testing at REKKI (backend) [testing, complexity, speed] TLDR: * test your core, make sure your core is strong * don't test your http api * don't mock * don't test writing and reading from the database * don't complicate your code to make it testable * ... unless you deem fit unit-testing-at-rekki/t.txt Thu 14 May 12:22:44 CEST 2020 Borislav Nikolov (https://github.com/jackdoe) * Notes on designing with tests [tests, conversations] TLDR: Today I remembered why testing is a tool I like so much - it enables me to write concise code with clearer boundaries from the start, without having to wait until the complexity creeps up on you. on-tests.txt Tue 18 Feb 19:50:46 London Time 2020 Javier Garcia (https://github.com/Manzanit0) * Mutation is life / Boring Technology [technical debt, complexity] TLDR: We had horrible outage where rabbitmq node ran out of memory because I forgot to unbind a queue (one of 50s or so), and we lost a whole bunch of in-producer-memory state, this made our whole infrastructure completely probabilistic and it took us 2 hours of blood sweat and tears to recover the lost data. We should've just used postgres as a queue. boring.txt boring/pictures/cs.jpg Sat 15 Feb 13:42:46 CET 2020 Borislav Nikolov (https://github.com/jackdoe) * Work in the kitchen. [product, technical debt] TLDR: Use your product, and talk to your users, as a developer there is no better way to work on the things that matter. Almost every other path leads to institutional imperative[1] and deepest technical debt that is almost impossible to pay. There is no better way to code than to work in the kitchen. kitchen.txt kitchen/pictures Thu 7 Feb 18:08:42 CET 2020, Borislav Nikolov (https://github.com/jackdoe) * Interface Dispatch [go, performance] TLDR: Always measure before you optimize, I introduced super shitty bug to https://github.com/rekki/go-query, because I thought the bottleneck is in the binary search implementation, and gained nothing; calling interface methods in hot for loops adds ~10-15 instructions per call. inline.txt inline/code Fri 6 Feb 19:38:07 CET 2020 Borislav Nikolov (https://github.com/jackdoe) Thanks for visiting! -- RSS feed: rss.xml