Friday, 9 February, 2018 UTC


Summary

News
The dinosaurs are back. This time not to take over, but to explain modern CSS. Learn about the advantages of flexbox, grid and CSS preprocessors and postprocessors in this gem of an explanation. Dinosaurs aside, Peter Jang gives a great intro to Modern CSS.
Does your company struggle to reach Senior Developers and CTOs? Does your product need exposure to the developer community? DailyDrip can help! Contact [email protected] to get started.
Is developer compensation becoming bimodal? tl;dr Dan Luu says probably not but he needs more data. I disagree: it seems to be and it makes sense that it would be. The Orange Site comments discuss it compared to Electrical Engineering not really being bimodal in the same way. From my point of view, it comes down to Electrical Engineering being a commodity in a way that software development is not, due to the fast-paced nature of the field. The best programmers tend to dig into programming minutiae in detail in a way that far fewer traditional engineers do within their field. The programmers that don’t do this tend to fall into the first mode.
James Flight writes on critical thinking in software development, the word ‘should’, and why you shouldn’t listen to Martin Fowler. It’s an intentional clickbait title to draw attention to the pitfalls of shiny-object-driven-development. Flight points out that the facts relevant to the argument are the technical and domain details of the project in question. I’ve fallen into this trap before, so nice to be cognizant of it.
ReasonML is a syntax and toolchain for OCaml, which can compile down to JavaScript, native code, or bytecode. Khoa Nguyen’s article discusses the toolchain in detail and how it fits together. Once you’re familiar with ReasonML, you might want to deploy a ReasonML React app with Docker.
Development Dregs
  • RFC: Ubuntu 18.04 LTS Minimal Images - An Alpine competitor with access to the apt repo
  • Using Conic Gradients and CSS Variables to Create a Doughnut Chart Output for a Range Input - This is really awesome, and shows why it’s worth learning CSS
  • Facebook’s Free Platform for Object Detection - Detectron, now with docs and example code
  • ECMAScript 2018: final feature set - Three cheers for JS maturing into a real language
  • Testing in Production: How we combined tests with monitoring - We don’t often link to the Guardian, but when we do it’s a great actionable article that increases your site stability
  • 10 things I love about Vue - If you aren’t sold on Vue, this is a good intro on why it’s cool
  • HiFive – RISC-V-based Linux development board - Useful to those among us working on hardware perhaps. hn link incoming, great comments
  • Predicting Random Numbers in Ethereum Smart Contracts -
  • Roulette Gist - neat tiny code that exploited roulette contracts to only play when it was guaranteed to win
  • High-Level Rendering Using Render Graphs -
  • FOSDEM 2018 - Europe’s biggest Open Source conference dumps 556 videos on OSS. Watch at 4x and don’t sleep and you can finish them all this week!
  • Cryptocurrency historical price data collector library in Python 3 - because past performance is a guarantee of future gains, right friends?
  • A lightning fast JSON:API serializer for Ruby Objects - Serialization speed has been a big problem in Ruby, so Netflix made it 25-40 times faster than Active Model Serializer
  • Expressing a Relationship between Multiple Types in Elm - An extremely well-reasoned example that introduces a pattern for essentially typeclasses in elm to provide for polymorphism where the thing being matched against brings its own implementation.
  • Mozilla's Project Things: An open framework for IoT - smart home adapter from Mozilla
  • Nocode - Kelsey Hightower advocated a different style of development this week. I really appreciate the issues and PRs here.
  • Command-Query separation in Elixir - This pattern is a nice solution to adding a few layers of architecture to your Elixir app. Some people will say it’s premature optimization, but I’ve felt projects heading this way for years now in my head.
  • Velocity by Code Climate - billed as Analytics and benchmarks for engineering teams and processes. Provides a series of metrics and integrations to help improve team velocity and code quality.
  • Welcoming Progressive Web Apps to Microsoft Edge and Windows 10 - Microsoft Edge Dev Blog - Microsoft has enabled Service Workers and push notifications by default in preview builds of Microsoft Edge. They’re also “kicking off some experiments with crawling and indexing quality PWAs from the Web to list them in the Microsoft Store, where users can find them just like any other app on Windows 10.” Nice!
  • Migrating to Python 3 with pleasure - Python 3 is a big migration, but its feature set is impressive. This is a good overview!
  • Python’s Weak Performance Matters - Luis Pedro discusses why speed matters for Python, even for data science problems. Says he now writes a lot of the underlying code in Haskell and ties it together in Python with jug.
  • An Introduction to Cache-Oblivious Data Structures - Clickbait title, but a cool dive into how he laid out trees in memory to double the speed of a binary search across a 16 million record tree.
  • Single Page Application Is Not a Silver Bullet - A great series of arguments against blindly using SPAs
  • QUIC as a solution to protocol ossification - In QUIC, transport headers are encrypted. This means that middlemen can’t route differently based on that data. Lots of other great stuff to read too if you want to learn more about QUIC.
  • Empirical software engineering junkie Hillel Wayne on easy wins for safer code - Most of the biggest wins in correctness come from process. Here's some _empirically_ great ways to make your code safer! Code review, self-review, checklists, linting, documentation, comments, planning, useful code metrics, bug tracking, sleep, no overwork, investing in training, private offices. All empirically proven to help.
https://twitter.com/kvlly/status/959827106384490496
This post was written by the DailyDrip team and syndicated via Inside.com's network of email newsletters.

by Matthew Ray