[Weekly Drip 062.1] Linux has the Power, Internet Trends, Intro to Pony, (Game) Devs Love Doom

News

In Nachoparker’s article, ‘The real power of Linux executables’, everything from the basics, to the kernel and ELF binaries are covered. If you aren’t sure exactly what happens when a file is executed in Linux, this is where you should start.

alt text

The Internet Trends 2018 results are in, this is a good read every single year. The average user is on the internet for almost 6 hours a day, which is more than double the daily usage for users 10 years ago. Find any internet trend data you’d be interested by in the 294 slide presentation.

alt text

GDC was last week in SF, and the talks are streaming now. My favorite is from id Software on DOOM’s Push Forward Combat. They talk all about the trades made in development, and how level design affects programming and game play. This is not just a game talk but rather a technical deep dive on product management and how engineering translates to a great user experience. If you are a fan of the genre or of game development at all, this is a master class not to be missed.

alt text

A super slick way to organize your day is with this handy terminal app called ‘wtf’. Google Calendar, GitHub, and World Clocks are integrated into the terminal app so you never have to leave. A dev who stays in the terminal, stays happy.

Do these words make you smile? Type-safe, Memory-safe, Exception-safe, pony. If so, checkout Sean T Allen’s introduction to Pony, the programming language that is basically a cross between Rust and Erlang. Join the Pony maillist, go through some Pony basics or tackle some Pony issues on GitHub.

alt text

Processing is the coolest project that you always mean to play with and never get around to. It’s a tool to iteratively and interactively build visualizations, but it’s been extended to be much more over the years. After 17 years, the authors take a look back on Processing’s community and personal impact.

alt text

InterviewJS is a tool for building scripted interactive chats, recently open sourced by Al Jazeera. InterviewJS puts readers at the heart of a story allowing them to seemingly directly engage with the characters involved via a chat-like app. If you want to learn more, Marvel has a great writeup that goes into a ton of detail.

Ruby isn’t often thought of as a highly concurrent language, but DNSimple forged a path to pull it off in Building a simple, async map/reduce queue for Ruby. Their code explores how to do multi server map/reduce backed by a queuing system that provides quick results -- querying and presenting the DNS settings of 40 servers in about half a second.

alt text

Google announces support for Desktop Progressive Web Apps on Chrome OS 67. A Desktop Progressive Web App runs like normal application on your desktop, but is in fact a web app - the same way Progressive Web Apps work on mobile. If you have an existing PWA, it will Just Work - but there are additional features available to you. They’re only available on Chrome OS for now, but work is underway to support them in Windows and Mac OS. Google released an announcement video summarizing them as well as discussing some other new features in Chrome 67.

alt text

Firefox nightly now includes shadow DOM support. Check out their ticket on implementing the shadow DOM and the MDN writeup on using the shadow DOM in your web apps. The Google Developer blog also has an interesting write up on the subject.

alt text

Christian Muehlhaeuser shared an algorithm to generate color palettes. He wanted nice color palettes, learned that Math.random isn’t a great way to get there, and ended up writing a straightforward algorithm quickly in Go by taking advantage of a few libraries.

This week was React’s fifth birthday, and the internet rejoiced.

Reducing technical debt is important, but it should always be viewed in the context of your organization’s greater goals. Jean Hsu shares her thoughts on how to get buy-in for reducing technical debt. In short, first convince yourself, then communicate effectively to convince your team. She also points out that sometimes the answer is this isn’t the right time to do this, and that’s fine. In that case, it might be helpful--or cathartic--to identify under which circumstances a given piece of debt should be paid down, write them up, and move on.

Pete Corey shared how Property Testing helped him identify a function in one of his projects that didn’t adhere to the specification under certain input size conditions. He says without randomly generated test cases, I don’t think I would have recognized the issues with my encode function. Be like Pete, and use the StreamData library in Elixir to find bugs in your code with Property Tests.

alt text

João Rosa provides a real world example of building and deploying AWS lambda functions in a .net environment. Real world examples involve testing, luckily João provides those as well.

In a world where online learning resources are not limited, why are all of us not experts? Maria ‘Azeria’ Markstedter argues, "Perhaps we have forgotten that the distractions we face on a daily basis prevent us from performing to the best of our abilities." Maria discusses the law of productivity and how just because we are busy doesn’t mean we are being productive. If you’ve had trouble before, try Maria’s suggestion of seven 4-hour sessions of deep learning.

https://azeria-labs.com/the-importance-of-deep-work-the-30-hour-method-for-learning-a-new-skill/

alt text

Mint, a new language for Front End web development is in alpha. Check out the roadmap, GitHub, or try it out online.

Pedro Rolo argues that ReasonML is what React was first intended to be. Pedro proposes that ReasonML is ‘React before React was different’. Read Pedro’s article or some fire discussion on the lovely orange site, which goes deep and mentions Elm as well.