Inside Dev | Inside

[ Inside Dev ]

Breaking news and info for developers

Development Dregs The Death of Microservice Madness in 2018 - Microservices are over used by many dev teams, and the ops load can be massive. I’m glad to see people taking a more sane approach to splitting out their applications. Babel-time-travel - Try out the demo and check all the transformations on babel. Making a cross-platform mobile game in Reason/OCaml - The first of its kind. Compiles the same ReasonML game codebase for the web, Android, iOS, and a native mac app. Understanding the React Source Code, Part 1 - Understand what happens when you create React components. React JavaScript library on the rise in NPM registry - Backbone is dead, React is up and Express is king After.js - Next.js-like framework for server-rendered React apps built with React Router 4 - “If Next.js and React Router had a baby…” How does the Node main process start? - tl;dr src/node_main.cc, but this is a detailed discussion of each step in the startup process based on its c++ code. yuzu - Nintendo Switch Emulator - an experimental open-source emulator for the Nintendo Switch from the creators of the Citra Nintendo 3DS emulator. At present, only useful for debugging and homebrew development. gel - N64-like object software renderer in 512 lines - for all your n64 object rendering needs Speedometer 2.0: A Benchmark for Modern Web App Responsiveness - An update to the 2014 Speedometer. It has new framework support, including Elm. Luna Lang Beta released - A modern, purely functional programming language with a WYSIWYG editor, static typing, automatic parallelism, and interoperability with other languages including Haskell, C, and JavaScript. Markdown Templates in Phoenix - a lightweight rendering engine that lets you directly use markdown files as templates (and partials) in Phoenix. From Boyd Multerer. Ruby 2.5.0 has a feature nobody talks about - If you're analyzing Code Coverage in your Ruby project, you can now verify coverage on a per-branch rather than a per-line basis. No more untested paths! Elixir v1.6.0 - The big feature in this release is `mix format` - a new code formatter for Elixir. Time for normalized code formatting! They also added a dynamic supervisor module to add features to :simple_one_for_one. JS Paint: A web-based MS Paint remake - Paint in 2017 for web? Check out this implementation, they did it well! Keep Webpack Fast: A Field Guide for Better Build Performance - Better performance for webpack CrookedStyleSheets: Webpage tracking only using CSS (and no JS) - demo here, this could be a really big deal for the email world, but ad tracking has been doing similar techniques for years Twirp: a sweet new RPC framework for Go - A structured RPC framework, but with an emphasis on simplicity. Because we need more structured data. A free course on CSS Grid - by Wes Bos and sponsored by Mozilla, don’t miss it! Go Support for AWS Lambda - Now you can write your lambda functions in Go! Problem-Solving for the CS Technical Interview - Free Stanford course Oculus Start: Technical and Financial Resources for Beginning VR Developers - Oculus development program. Rust in 2018: it's way easier to use! - Thoughts on Rust in 2018. Refinement Types for Ruby - A paper on introducing refinement types for Ruby. Translates the new RDL Ruby type system into Rosette. Bootstrap 4 - Congrats to the bootstrap team, I love their examples and prebuilt components. Download 243 Free eBooks on Design, Data, Software, Web Development & Business from O’Reilly Media - Clickbait, but it’s real! Wow! Microsoft Curls Too - curl is now shipped by default in Windows 10. Next up: vim? Scaling Kubernetes to 2,500 Nodes - a tour de force of troubleshooting large network issues

Deep Dive - Awesome Blockchain stuff Miners Aren’t Your Friends - A Miners goal is minimize expenses and maximize profit. They can profit from censoring, delaying, or reordering transactions, so you must program assuming that they might. Filecoin 2017 Q4 Update - The first of many Filecoin updates. They’re hiring for 21+ positions, they explain where engineering is and what some of their challenges are, and they discuss developments in the blockchain space that they’re looking out. Shout out to Tezos! Week in Ethereum News - Shout out to this weekly link dump, it’s really good Simcoin – A Docker-Based Blockchain Simulation Framework - makes it easy to perform realistic simulations of blockchain networks Webthereum - Ethereum programming for web developers

Development Dregs Integrating Javascript into Elm: Alternatives to Ports WebGL2 Fundamentals - not news per se, but unbelievably good intro. Things I Wish I'd Known About Bash - even if your a bash newbie, this is a solid read The art of the error message - Writing good error messages steps up your UX game Workererize - Automatically move a module into a Web Worker (Webpack loader) AMP letter - 2018 and AMP still sucks Violating a Website’s Terms of Service Is Not a Crime - I have not violated any website’s terms that I have read Finding a CPU Design Bug in the Xbox 360 - You thought your Xbox 360 was safe. The State of Atom's Performance - Atom performed better in 2017, and hopefully will get even better in 2018 What is Actually True and False in Python? - truthiness and consequences The Python decorators they won't tell you about - a good read even if you aren’t a Python dev, just to get exposure into Decorators in Python The Stress of Remote Working - detailing the unexpected problems in working remotely. “I do not like becoming a kind of a remote developer black box.” Handling of CPU bugs disclosure 'incredibly bad': OpenBSD's de Raadt - responsible disclosure is hard ToastUI Editor - Markdown WYSIWYG Editor - This needed to exist, markdown is easy but having a real time editor/preview will be huge for adoption Why code that never goes wrong can still be wrong - If you build on bad assumptions then your code can be ‘right’ but your program ‘wrong’ Nerv - React alternative, compatible with IE8 and React 16, written in typescript Études for Elixir - Free Online Book :)

Subscribe to Inside Dev


Inside Dev is supported by:

 

HelloSign API: The Industry’s Fastest eSignature API Integration

HelloSign API makes your build vs. buy decision a no brainer. Embed eSignatures into your site or app with just a few lines of code. With our in-depth documentation, customizable features, and a dashboard that makes your code easy to debug, you won't find an eSign product with an easier path to implementation. Try it free!


Sometimes people get way too excited about things in software development. Check out Hillel Wayne’s new Awesome Cold Showers to point your friends to that are a little too excited about things like Scalability, Web Framework Benchmarks, and Agile Methods. I’m fascinated that there's no cold shower on distributed computation or blockchain. Let’s make that happen.


Development Dregs

Much Assembly Required: Assembly Programming Game - “Program the 8086-like microprocessor of a robot in a grid-based multiplayer world.”

Some excerpts from recent Alan Kay emails - Kay is a hero of mine, so any time I find this sort of thing I will pass it along.

Playing with Lasp and CRDTs and Playing with Lasp in a 3 Node Cluster - Mariano Guerra spends some time with Lasp, “a suite of libraries aimed at providing a comprehensive programming system for planetary scale Elixir and Erlang applications.”.

Robust Client-Side JavaScript - A deep dive into Client-Side JavaScript via a short book.

Sapper.js - Towards the ideal web app framework - Sapper is “a Next.js-style framework that aims to meet the eleven criteria at the top of this article while dramatically reducing the amount of code that gets sent to the browser.”

Monitoring Home Power Consumption for less than $25 - Using Software-Defined Radio (SDR) to read the power meter regularly and track consumption. Bonus: read your entire neighborhood’s data!

From Bootstrap to CSS Grid - NY Times gave it a try, you should too!

Basecamp doesn’t employ anyone in San Francisco, but now we pay everyone as though all did - “Do better than what you can get away with. Do more than the bare minimum. Don’t wait for the pressure to build.“

GIMPS Project Discovers Largest Known Prime Number - tl;dr “The new prime number, also known as M77232917, is calculated by multiplying together 77,232,917 twos, and then subtracting one. It is nearly one million digits larger than the previous record prime number”

Stimulus - A modest JavaScript framework for the HTML you already have - A tiny ‘framework’ from Basecamp. I hate this sort of thing but you might not! :)

Wrecking ball effect in Blender Python - # TODO: Add wrecking ball

How To Find Arbitrage Opportunities In Python - Using the Bellman-Ford algorithm to compute arbitrage in O(N^3) time instead of the O(N!) that brute force gives.

Simple Single Element Spinning Loader - This is stupid-simple but pleasant.

I thought I understood Open Source. I was wrong - tl;dr commit back to the projects you use. “Open source means that you use what’s out there how you want, and git & GitHub gives us all an easy way to merge our struggling so that another developer will not face them in the future.”

An open letter to less experienced developers - “Coding for a living is learning for a living. If you don’t like learning every single day, turn back now, or try and get a jump over into something less demanding from a learning perspective.” Hey that’s what we do at DailyDrip!

Frontmacs - “A package-based, web-centric, customizable, awesome-by-default, acceptance-tested Emacs distribution curated by your friends at Frontside.”



Development Dregs

Themer – a CLI for generating themes for all your tools - this looks like a wonderful way to blow a few hours tweaking your environment

Decentralization Roundup for 2017 - On breaking our dependence on the big players and taking back our web

Ruby 2.5.0 - pp is now automatically loaded, and rescue/else/ensure gets block level support. Also: no more top-level constants!

Ruby 3 and JIT: Where, When and How Fast? - more about what than where/when, but a great way to get an understanding of the upcoming changes

Meet Alva - a really neat design tool for using your own React-based, typescript styled components inside a visual editor. And it’s open source!

Naivecoin: a tutorial for building a cryptocurrency - the simplest tutorial possible for building currency on a blockchain

Write your own diff for fun - a short dive into the Longest Common Subsequence algorithm

Searching for Bitcoins in GitHub repositories with Google BigQuery - [Video]

Free 13-part course on CSS Grid - very detailed series on CSS grids

Reflections on a PhD accidentally spent on language design - centers around Futhark, a lightweight functional language made for parallel computation

"A simple makefile" is a unicorn - good article, but the site layout makes it near unreadable

Become a better developer in 2018 - puff piece on setting and achieving goals as a developer

Open Source .NET – 3 years later - lots of contributors and a growing ecosystem is good for everyone in the .NET community

Undefined vs Unsafe in Rust - how they are different from each other, and sometimes different from themselves

Machine Learning for Dummies - IBM Edition: Free book to help with ML fundamentals

Rust for Rubyists - This is a blog post about Rust, focused on Rubyists - not to be confused with rustforrubyists.com

How I Got Paid $0 From the Uber Security Bug Bounty - Ends up a minimum $500 payout is == $0

Yew: Rust framework for making client web apps - Think of this like React, but written in Rust.

How I learned to program - From Dan Luu. It’s never a bad idea to just read through his site’s archives.

Advanced Numpy Techniques - A jupyter notebook that attempts to convince you that you should use Numpy for numeric data work, with just gobs of cool examples

A visual ARM emulator - Free, but not FOSS. Still, really cool.

I went full nomad and it almost broke me - Not particularly developer-focused, but it seemed relevant as I live full-time in an RV now and I can relate. My solution: focus on your health and find a routine.


Firefox is once again in the top stories, but not for a normal reason. There were some concerns when someone found a suspicious looking dev addon called “Looking Glass 1.0.3”. Drew DeVault wrote up a good explanation of Firefox’s slippery slope, which goes into more detail. The good news is that Firefox apologized. Firefox stated on the 18th “We didn’t think hard enough about how our actions would affect the community, and we’re sorry for letting you down.”


Rust had a great year in 2017. They had some big goals outlined in there 2017 roadmap, which they published in February. Some major milestones they met included lowering the bar for entry to rust. This included the start of creating several books for Rust (one available to preorder now). Also, improving the RustBridge workshop curriculum, which is available for free. Read more about what Rust achieved this year on their blog.


Development Dregs

Chrome is Not the Standard - Being the dominant browser doesn’t change the fact that the web is a platform

Let your code type-hint itself: introducing open source MonkeyType - Instagram released a tool they built to help them gradually type-hint their giant Python codebase - and it can infer types from traces in production!

Elon Musk's 'Dota 2' Experiment is Disrupting Esports in a Big Way - AI get better than humans with years of practice in a few thousand games (but only in 1v1)

How To Design A Scalable Rate Limiting Algorithm - Kong discusses various rate limiting strategies and their consequences. Nice detailed overview.

Building a community sign-up app with Serverless, StepFunctions, and StackStorm Exchange - a great starting point for serverless on AWS

REST is the new SOAP - X is the new Y. tl;dr sometimes REST isn’t necessarily sensible

Mining Bitcoin with pencil and paper: 0.67 hashes per day - “my energy cost per hash is about 67 quadrillion times that of mining hardware”

Onboard people, not technology - “The danger is the unspoken idea that after we apply onboarding to a new developer, they have everything they need to be productive.”

How to Write Your Own C++ Game Engine - Getting something on the screen at all is step 1. From there it’s just iterating your way to success. Don’t get overwhelmed.

Guess how long it take for Chromium to compile? - Hint: The entire Linux kernel for ARM => Five and a half minutes to compile https://xkcd.com/303/

Why JetBrains Invented and Promotes Kotlin - come for the article, stay for the comments

Learning to operate Kubernetes reliably - Julia Evans has two lengthy articles in this week’s newsletter. I’ve no clue how she does it. My favorite discovery from the article: “Cronjobs with names longer than 52 characters silently fail to schedule jobs (fixed)”

Start your open-source career -  Don’t be hesitant to work on OSS, this is a great starter guide.

Building a Distributed Log from Scratch, Part 1: Storage Mechanics - in depth guide to how logging should be done, well reseached

Intermediate Vim tips - nice collection, but please take care when using `cursorcolumn`. It’s the most common reason for vim slowdowns I’ve seen.

React Native Events in Gory Details - Why React’s native event handling gets bypassed

How do you program so well? - [Comic]

“My Journey from ReactJS to React-Native” @Mieloch - A great collection of earned wisdom. My addition: you’ll be happier if you start your app with ignite.

Functional programming with graphs - There’s not much content around functional programming and graphs. Now there’s slightly more. Enlightenment: “One of the trade-offs to achieve clear and elegant graph algorithms seemed to be shifting the complexity from the algorithm itself to the supporting data structures.”


Blog Posts this week from DailyDrip

Writing Consistent Commit Messages Is Not A Cliche


Django 2.0 is here. New features include a simplified URL routing syntax, mobile-friendly contrib.admin, and window expressions. Read all the new features and changes on the Django 2.0 release notes. Did you click that link? If you did make sure and checkout the next story below. :)


Development Dregs

Logic programming with Prolog - Prolog is an amazing language for learning about programming. Even if you never plan to write Prolog this is worth reading!

Here's why I love Go - Author nails why Go has gotten so much traction

Ruby 3x3 Progress - 3 goals: performance, concurrency, typing

The languages which almost became CSS - fun history, worth reading

Linux Journal Ceases Publication - I’ve read this for ages and now it’s gone. Wish they had a donate option. Good news: there’s still LWN

Gemini PDA: 20 years on, meet the all new Psion Series 5 - This would get me back to a flip phone so fast. Looks like a newer Nokia N900.

Compile Idris to Vimscript, like you always wanted

New zine: So you want to be a wizard - Julia Evans teaching you how to learn more; Reminiscent of Unix for the Beginning Mage

Erlang Garbage Collector - If you wanted to know how Erlang GC works in scary detail, make the link purple

AI Safety Gridworlds - The AI Safeword is banana

A tutorial series for writing GTK applications in Rust - I’m a huge fan of GTK, and this is really neat

Deep Image Prior - The cool part of this is that they don’t train the AI.

Debugging an evil Go runtime bug - A deep dive into the Go runtime to troubleshoot a difficult language bug

Kubeflow – Machine Learning Toolkit for Kubernetes - Easily spin up an OSS Tensorflow stack

Neural Networks in JavaScript with deeplearn.js - Super cool, but I question the validity of doing NN with JS, when Python/Go/Java are so good at it, with better toolchain support

Introduction to R Programming - If you are interested in R, this is a great starting point along with the DailyDrip R series

Exploring Quantum Computing - A QC book aimed at developers, instead of scientists

How to Hack a Turned-Off Computer, or Running Unsigned Code in Intel Management Engine - PDF warning, deck on how IME is exploited

The Microservices Misconception - You probably don’t need ‘micro’-services, and how are they any different than SOA?

Maintaining An Independent Browser Is Incredibly Expensive - Why Mozilla needs 1200+ developers (they do)

Introducing electron-toolkit: The Electron app to build and launch Electron apps - If you’re building an electron app, this will save you time.

The man behind the most important tool in data science - McKinney talks about Pandas’ impact


Melissa McEwen just doesn’t want to be a software developer anymore. She says she loves coding, but hates the industry. McEwen argues that companies aren’t actually looking for passion, but instead are just looking for people who will endure long hours. Extra points for the Snowcrash reference up top.


Development Dregs

Terrain rendering algorithm in less than 20 lines of code - this is really impressive, and the readme explains how it works so well

Why <blank> Gets You Root - A breakdown of why the High Sierra security hole happened

AWS Amplify – A declarative library for application development

CSS Grid Starter Layouts - simple demos of grids with a handful of layouts, really great.

Testing an API Against its Documentation - Node/Express testing via Dredd

Pspg – Postgres Pager - improve pager over just using less

A handy guide to financial support for open source - worth the read if you work on or want to support OSS

Donald Knuth - The Patron Saint of Yak Shaves - a short history of TeX

Uber Paid Hackers to Delete Stolen Data on 57 Million People - Don’t commit unencrypted keys

User experience design for APIs - short piece on making your APIs approachable

A CEO's Guide to Emacs - a solid intro to emacs, more technical than the title suggests

Advent Of Code - small coding puzzles with a Holiday Theme

Astro Programming Language 0.2 - still really clean, but has some interesting syntax direction

Python programs to practice or demonstrate skills - repo of coding exercises in Python

Spheres & Points - topographical space programming FTW

How a single PostgreSQL config change improved slow query performance by 50x

React v16.2.0: Improved Support for Fragments - less redundant HTML elements from React, yay!

Kotlin Spinner Game – Cross-platform mobile multiplayer, fully built in Kotlin -

React-spreadsheet-grid - if you need to build an excel clone, this may be a good place to start

Introducing TensorFlow Feature Columns

So, what's wrong with SBT? - Scala’s formerly “Simple Build Tool” may need some love

From Markdown to RCE in Atom - Remote Code Execution in your editor, for fun and profit; already patched.

Of SVG, Minification and Gzip - how to write more compressible code

"Look at this security bug" - Linus politely asks everyone to “Do no harm” and report bugs before sharing. Great Advice.

Free Stanford Course on Compilers

The Performance Cost of Server Side Rendered React on Node.js

Move Slowly and Fix Things - On the ethics of programming and design for modern apps

SVG Metaballs - math heavy, but a great discussion on how to animate SVG

The Unwritten Rules for Github by devdiscuss - sometimes controversial github best practices

Demystifying Floating Point Precision - floating points are hard, and this demystifies them a lot

A vulnerability by any other name - why memory safe languages are important

Advanced Types in Elm - Phantom Types

Exploring the Linguistics Behind Regular Expressions - etymology of regex? cool!


Trending this week on the DailyDrip Distillery

Purescript

Solidity (Ethereum Smart Contract Scripting Language)


Happy Birthday Go and Fortran! Fortran turned 60, it was introduced in 1957, and Go was released as an open source project 8 years ago. Read more about what is keeping Fortran going, or the history and growing popularity of Go.


Development Dregs

How we do Vue at GitLab: one year later - this is part of what’s making GitLab not-terribly-slow finally. Actionable advice from a large project.

Tile: A New Language for Machine Learning

Plain Functional Programming by Martin Odersky [video]

rooster: an Erlang REST framework - supports routing, middleware, auth, and https. Think of it like Rack or Plug, for Erlang.

Phoenix Websockets under a Microscope - learn how Phoenix Channels work at a fundamental level, then debug them with the newly-released phxsockets.io (like Postman for Phoenix channels)

Mono's New .NET Interpreter - the CLR giveth and the CLR taketh away. But in reverse order.

I’ve seen the future of the web, and it's Ethereum - I wish I’d thought of recreating the million dollar homepage on the blockchain

A Guide to Natural Language Processing (NLP) - details which NLP techniques can be used to solve which problem categories

Fearless Concurrency in Firefox Quantum -

Visual Studio Live Share & Code together in real time with Teletype for Atom - turns out electron-based collaborative editing is a thing now!

How to use SVG as a Placeholder, and Other Image Loading Techniques

No, it is not a compiler error. It is never a compiler error. - I had this conversation with a former employee roughly twice per year. It was never a compiler error.

Waiting for an answer - Snorri Stulson describes painting himself into a corner in Elixir, and hints at his pending solution, in his exsim large-scale simulation project.

Currying is not idiomatic in JavaScript - I love currying, but the points are valid.

The Cost Of JavaScript - tl;dr turns out shipping a lot of js to the browser makes the user experience bad, so fix that.

Well, it turns out 11% of Americans think HTML is a Sexually Transmitted Disease. If you have ever struggled with HTML, as long as you know it is a markup language and not an STD, you are at least ahead of 11% of America. Read the whole study (not completely dev related) to get a couple of laughs.


Development Dregs

AirBNB creates interfaces from sketches with ML - cool enough that i wish they would release the code

Javalin 1.0.0 is Stable - zomg a Java/Kotlin web framework with code whose intent is not obscured by ceremony!

My web app died from performance bankruptcy - also Chrome sucks for breaking normal JS calls

Jargon from the functional programming world in simple terms! - Not quite as good as The Jargon File

How to Build Your Own Blockchain Part 3 — Writing Nodes that Mine and Talk

HTML Template Instantiation - Proposed by Apple - web component awesomeness

Ruby 3.0 with Yukihiro "Matz" Matsumoto [Video] - apparently we interview people while driving now, is that safe?

Upgrading Kickstarter to Rails 5 - loving the improvements in the 5.x series, check out the encrypted secrets

How we switched from Sprockets to Webpack - death to the asset pipeline

Chalktalk - real time 3d collaboration tools

'Lambda and serverless is one of the worst forms of proprietary lock-in we've ever seen in the history of humanity' - maybe OpenFaaS can help us avoid this in the future...

ARK Elixir — New “Magical” API Wrapper

What is a CapsNet or Capsule Network? - more ML love

Declarative Side Effects for Redux - anything that makes react feel more like Elm is A Good Thing

React Bits - ✨ React patterns, techniques, tips and tricks ✨  -  a stupidly robust repository of patterns to make your React code better

Create React apps using Kotlin with no build configuration - here’s a repository with some examples.

Ten interesting features from various modern languages - a lot of the techniques are actually present in older languages as well, but a nice survey of how nice FP can be these days

Implementing Pokedex from scratch Part I - A Convolutional Neural Network that classifies Pokemon cards

Simple React Patterns - quick actionable tips to make your React app better

Coherent Line Drawing - an implementation of 'Coherent Line Drawing' by Kang et al, Proc. NPAR 2007

Much ado about iOS app architecture - some hard-won advice from a veteran, in hopes to avoid iOS development heading down a dark path

load more stories