[Weekly Drip 047.1] CTO’s reflections, Byte-equivalent decompilation & Framework Benchmarks Round 15

News

alt text

David Mack has been SketchDeck’s CTO for the past 4 years, and there are a few things he wishes he’d known when he started. Reflecting on the past four years, David offers some advice to any new CTO. Some advice: AngularJS and MySQL might give you scaling problems, functional syntax might lead to more personal productivity, and Hire to keep up with growth, not to generate it.

alt text

Take some time this weekend to go through Bradley Price’s in-depth guide on deploying Factory to AWS Fargate. In this guide, Price configures a task definition and sets up a Faktory service. Also, check out the previous post in the series, which is focused on configuring a load balancer.

alt text

Ever thought about becoming an OSS contributor, but just not sure where to start? Chris Krycho dives into what and how to contribute to OSS at the Rust Belt Rust Conference. His talk is Rust specific, but the advice is global. Some advice includes making visual upgrades, translating docs, and making more podcasts.

From general questions to design patterns, a good Back-End focused interview guide is now available. If you are looking to brush up on your back-end skills check out Arialdo Martini’s Back-End Developer Interview Questions. If for some reason you haven’t seen enough FE guides here is one that is great for Front-End and has been updated recently.

alt text

When you aren’t a developer, but you have strong opinions about JavaScript Frameworks you become very passionate about it and convince people to use Vue.js. Well not exactly, but this is a fun read from Kirill Shirinkin talking about why mkdev moved to Vue.js. If you can think of 99 mistakes made by jquery easily or are tired of Babel and Yarn, this will be a fun article to read. On a serious note though, Kirill argues he was able to rewrite the most complicated front-end component of our project using Vue.js in no time.

Matt Noonan evolves a C decompiler, and shows how byte-equivalent decompilation works. Matt also shows how a A not-quite-byte-equivalent decompilation would work. If you are interested in exactly how it works check out the full paper Matt and his team wrote on the topic.

alt text

Making an Augmented Reality Filter with Python doesn’t have to be too difficult. 123 lines of Python later and you have a Filter almost as good as Snapchat’s. Check out a live video example and make sure to look at the code.

alt text

Josh Marinacci of Mozilla Hacks has an in depth article on using CSS Grid for UI Layouts. With plenty of code, and interactive examples included you can learn about using CSS Grid for your next project. If you aren’t familiar with CSS Grid, here are a couple of examples Josh recommended.

Alexis King discusses her opinions on the tools to use when writing modern Haskell. It explores multiple years of hard-won decisions, laid out with detailed explanations and justifications. If you don’t already have a workflow you love for Haskell, but you want one, check it out. It’s a great read. For the lazy, here’s a tl;dr: stack as the build tool, Atom with haskell-ghc-mod, -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints, 34 default-extensions, model effects in mtl style or freer monads, either “all lens” or “no lens”, use Text instead of String. Get that?

alt text

TechEmpower’s Framework Benchmarks Round 15 has arrived. At the start of this round, the project had processed nearly 2,500 pull requests. A full run of these tests can take as much as 90 hours, but they are working on getting faster results for contributors. Take a look at the results.

James Bennett argues that the purpose of a username is—wrongly—overloaded in many cases. He argues for the tripartite identity pattern, in which each identifier is distinct, and multiple login and/or public identifiers may be associated with a single system identifier. James goes into much more depth in the full article.

Rich Geldreich has 13 lessons he learned while developing the game Age of Empires 1 Definitive Edition. Top lessons include: 1. Get networking and multiplayer working early. 2. Develop and use strong out of sync tools. 3. UWP and Xbox live are probably more complex than you think. Read all of his lessons learned on his Tech and Programmer culture blog.

Christopher Meiklejohn and Heather Miller introduce Partisan: Enabling Cloud-Scale Erlang Applications, an alternative distribution layer for Erlang. Partisan is a topology-agnostic distributed programming model and distribution layer that supports several network topologies for different application scenarios: full mesh, peer-to-peer, client-server, and publish-subscribe. It performs on par with Distributed Erlang in raw performance, but offers between 13-30x performance benefits under large-scale conditions. Partisan can also scale to thousands of nodes, while Distributed Erlang typically sees a scaling bottleneck around 100.

Nix is a purely-functional package management system. In his post, Alexei Boronine describes how Nix can be used as a build system, and how it addresses problems differently than other build systems. Alexei covers the basics of Nix, its language, build system, and package management system. The author then describes how he uses it on a real world project, HSLuv. This is a wonderful post that goes very deep into what code is needed and how that code works.

alt text

This post was written by the DailyDrip team and syndicated via Inside.com's network of email newsletters.