Weekend Reading — Software party
@sarah_edo "Time to throw a *software party*"
This week we're throwing a software party; the hardest problem in computer science is "npm complete"; how we stopped teaching kids about recursion; artisinal, small batch, uptime; we find the Internet's biggest blind spot; fix your SSH; and cats taking selfies.
Tools of the Trade
Medis Beautiful Management Application for Redis (OS X)
No, I Don't Want To Configure Your App! Even software designed strictly for developers should just work:
“Oh goddess, finally!” you exclaim, exasperated. You feel as if a major weight had been lifted from your shoulder, but you’re too frustrated with how bad computers are to think properly about this. “Now I can actually move on and get some work done,” you conclude, grumbling.
Eliminating Known Vulnerabilities With Snyk Snyk makes it easy for you to find, fix and monitor for known vulnerabilities in Node.js.
variadico/noti Trigger a notification when a terminal process finishes (OS X/Linux).
Safari 9.1 iOS 9.3 and OS X 10.11 betas support
<picture> element, CSS variables, no-delay taps, and much more.
It's weird to me that programmers even assume all resources for learning a discipline that is very well paid should be free.
TheMozg/awk-raycaster Pseudo-3D shooter written completely in awk using raycasting technique.
TIL if you can't get your shrinkwrap.json file to work, the problem is said to be "npm complete"
Lines of Code
A software developer's guide to clean code Great rule for naming things:
The larger the scope, the more important to get the name right. Don't concatenate your variable and function names, you're not going to run out of bytes! But self-describing code is just about understanding the intent. It's also about refactoring and improving your code flow. Imagine if you did a standard "Search & Replace" for all references of variable "x" or even worse "a" or "b". A world of fun awaits as you undo your changes and revert to manually changing all instances of that variable.
Writing correct code at scale is essentially impossible.The best we can do is write simple code w/ as little undocumented magic as possible.
Ouch. "50 million accountants use monads in Excel. They just don't go around explaining monads to everyone..." @Felienne #ndclondon
Steps in mastery of a programming skill:
- Can I do this?
- Can I do this more easily?
- Can I do this more elegantly?
- Can I not do this?
@librarythingtim "Why kids today don't understand recursion."
Tear Down This Wall! When IT needs grow, the common knee jerk reaction is to throw more coupling at it:
Ok, NOW you have a problem. Because now you’ve got coupling. And coupling is a much worse enemy than duplication. The number of systems doesn’t matter nearly as much as the amount of coupling you have between them.
it's for craftsmen who need artisanal, small batch, uptime
Elaconf Keynote by Saron Yitbarek "Punching your feelings in the face." Fantastic talk.
How I Stumbled Upon The Internet’s Biggest Blind Spot Open source software, necessary, but not getting the investment it needs:
What could go wrong? Well, this, or this, or this. People getting burned out and quitting. Bugs or security vulnerabilities that go undetected. But also, people just making less stuff. Society moving a little more slowly.
OpenSSH: client bugs CVE-2016-0777 and CVE-2016-0778 Patch your SSH config, while waiting to patch your SSH client:
echo 'UseRoaming no' >> /etc/ssh/ssh_config
TrendMicro node.js HTTP server listening on localhost can execute commands Friendly reminder that anti-virus software is often buggy and makes your computer less secure.
Two factor authentication is great until you put the second factor in the washing machine.
@old_sound "I've built my own crypto"
None of the Above
@rrhoover "1/This cat is taking a selfie"
Tips for improving concentration:
- Make a list of tasks.
- Take on one task at a time.
- Take On Me was a fun song.
- Ooh I found the video.
If you’re young, privileged, and interested in creating a life of meaning, of course you’d be attracted to solving problems that seem urgent and readily solvable. Of course you’d want to apply for prestigious fellowships that mark you as an ambitious altruist among your peers. Of course you’d want to fly on planes to exotic locations with, importantly, exotic problems.
The resolution of the Bitcoin experiment Turns out, building distributed solutions at scale is a people problem:
Bitcoin has no future whilst it’s controlled by fewer than 10 people. And there’s no solution in sight for this problem: nobody even has any suggestions. For a community that has always worried about the block chain being taken over by an oppressive government, it is a rich irony.
Ruggie™ - The World's Best Alarm Clock Alarm clock that won't stop until you get out of bed and step on it.