[Weekly Drip 052.1] Technical debt as a tool, the CLOUD Act, Github ‘forks’, and toilet geolocation


alt text

A wise bear once said, Only you can prevent forest fires. Fagner Brack is taking this a step further, by arguing that technical debt is a way code is finished faster, but will require refactoring later to be optimal. Also, Fagner wisely states, “only you can work out ways to reduce the interest to be paid.” If you are comfortable with spaghetti code this fierce challenge of an article is not for you. Fagner dives into deeper topics like “why duplication is better than wrong abstraction”, and argues if your team is aligned you can use technical debt to your favor, but perhaps not advantage.

A sneaky little disaster called the Cloud Act got rolled into the omnibus spending bill, which passed. This means bad news for communications privacy. The CLOUD Act is basically a backdoor around the fourth amendment, which allows police at home and abroad to seize cross-border data without following the privacy rules where the data is stored. Things like emails, chat logs, and anything else online can now be seized without court orders. There will be developer fall out on this issue to make data available.

alt text

Have you ever gone back to one of your forked repositories just to find out it has been disabled? Niels-Ole Kühl’s piece ‘A fork on Github is no fork’, discusses his experience of this happening. Evidently, GitHub can block you from your own repos that have been forked. Even if your account has access to unlimited private repos, you could still fall prey to this scenario.

Microsoft Azure and Amazon Web Services are two of the top dogs for data services. However, which one is better? Thomas LaRock does a side by side comparison, which serves as at least a starter guide for the research you might need when deciding between the two. Whether you need Cosmos DB, DynamoDB, or a specific type of cache, Thomas compares each service’s offerings for these and more. He also includes a dandy cost comparison for some of the different services offered in a follow up post. I would love to see a follow up from Thomas covering Google Cloud’s Datastore!

alt text

You use google analytics, and you probably use slack. So, why not combine the two by building a GA slack bot with Python? In Greg Schwartz tutorial on Twilio, he does just this. Greg will take you all the way to a completed GA slack bot. You’ll start with exactly what you’ll need to get the project set up, create some nifty slack commands that will display some weekly metrics from GA, and then even add some fun graphs.

Burnout is real, and those pesky OSS maintainers should really consider helping out with my specific issue, or I might burn out. The previous sentence is sarcasm, but burnout is real and even more serious with OSS maintainers. Mike McQuaid argues that ‘Open Source Maintainers Owe You Nothing’. Go brush up on OSS etiquette with Mike’s tips for maintainers, contributors and users.

Sam Khawase just made an iOS app that uses data from OpenStreetMaps to help you find a nearby toilet. Google maps and OpenStreetMaps are both great and all, but this is revolutionary. Why has no one thought of this before? Clone the repo, and never search for a bathroom again. In the bay area, you can always check Jennifer Wong’s hackathon project to draw attention to homelessness issues via the SF PoopMap on Human Wasteland.

Victor Arias is doing a ‘What Even Is’ series of posts to help introduce beginners to big data, specifically their tools. This is the first post of the series, which covers ‘What even is Apache Kafka’. Victor purposely made this post beginner friendly, by making it ‘intentionally not a detailed guide’. However, it is still fully everything you need to know to get familiar with Apache Kafka. Learn about tools like Spark, Presto and AWS Athena, with code examples and a brief tl;dr at the bottom if you just want to skip to the end.

alt text

Git inside Linus Torvalds’ head, or at least a neuron of it, to help yourself become more comfortable with Git. Tomer states the obvious with proof that Git is not simple, but a complex system. Tomer breaks advanced Git features down into easy to follow steps. Become familiar with fallback layers of config like global config and merged config with the help of this fun read, ‘Oh git configurations! Let's simplify’. [Editor’s notes: Matt - I don’t always use Git, but when I don’t I regret it. Adam - I always use git.]

UI and UX is hard, so it sounds like a good idea to have a process when you evaluate UI. Instead of just going with your gut, follow Sebastian Hermida’s ‘Process to evaluating an User Interface’. Sebastian’s UI process involves consistency, standards, and recognition.

alt text

Orta Therox has been using React Native for 2 years, so a reflection on the evolution of the project so far was due. Two years of React Native has brought a lot of lessons to Orta and the Artsy Engineering team. A 40 min video follows, which will not disappoint if you are interested in React Native, or have been following it closely.


A Complete Guide to writing functions in Python - Learn how to pass parameters by name and about variadic functions in Python

WeTools: An Elixir Command Line Tool - WePay provides a nice overview of building a complex CLI with elixir

Nix: A Reproducible Setup for Linux and macOS - Nix is consistently in the list of things I've tried and loved but didn't manage to fit into my workflow yet

From Rails to Clojure, then to Java, then back to Rails - fun read, and a note on how Rails hasn't really changed enough to warrant its constant API breakage.

Conundrum - Pathing determination and geometry of overlapping shapes is hard

Exercises in Programming Style - A book which consists of a simple program implemented in 33 different programming styles.

User-defined Order in SQL - nice overview of different ways to provide dynamic reordering and the inherent tradeoffs of each

Introducing GCP’s new interactive CLI - keeping track of all the features in gcloud, kubectl, and friends is exhausting. Now there’s an alpha CLI that offers inline help.

Building a fast Electron app with Rust - Using Electron for rendering and Rust for low level data ops. It’s a very cool combo, but I’m curious if Electron still eats a processor core just because it can.

alt text


Today's issue of Inside Dev was hand-crafted for you by the team at www.DailyDrip.com, where you can get daily videos on emerging software development tools, techniques, and patterns.