First ProLinks edition in 2018 brings a lot of links for IT professionals including solid Ruby criticism. Also interesting links about society, science and more inside.
IT
The Problem Solver – Good developers are good problem solvers. They turn each task into a series of problems they have to solve.
Energy Efficiency: A New Concern for Application Software Developers – The prevalence and ubiquity of mobile computing platforms, such as smartphones, tablets, smart watches, and smart glasses, have changed the way people use and interact with software.
Clever ideas that failed – The cleverness of an idea is proportionate to its odds of failure.
SSH Security and You – /bin/false is *not* security – I thought to myself, “Fine, no shell for me. I wonder if port forwarding works?”
The 100x Engineer – If we want to be 100x engineers — engineers who have 100x the impact of ye’ old 1x engineer—how do we accomplish that?
A criticism of Ruby – This is a criticism of the Ruby language and its community. Some of the criticisms point out fundamental errors in the language design, or poor choices in what historical examples to follow.
You need to STOP these BAD developer habits NOW – Every good work of software starts by scratching a developer’s personal itch.
Formal Verification: The Gap Between Perfect Code and Reality – I went into the class believing that formal verification is the future — the only solution to a world of software ridden with bugs and security issues. But after recent events and a semester of trying to apply formal methods, I’m a serious skeptic.
Memory Management, Causes and Cures – When developing in a so-called “unsafe” language, like C, C++, or a host of others, memory management is a huge issue.
Papers I’ve Read in 2017 – In 2017 I decided to print some PDFs to read instead of just have them in an ever-growing folder of Papers to Read.
Humans are Liars – It is one of my fundamental learning as an agile consultant and practitioner: Humans are Liars.
Implementation Inheritance Is Evil – Inheritance is an Object-Oriented Programming concept near and dear to my heart. Early on I recognized it as a godsend to programmers.
Hard and Soft Skills in Tech – I’ve recently seen a lot of very anxious responses from people in tech at anything which suggests that their “core skills” may be devalued, especially in favor of other skills which they haven’t spent their lives on.
Why Use An Interface? – From time to time, I run into developers who ask the question, “what is the point of using an interface?” This is usually followed by a statement such as…
Why TLS 1.3 isn’t in browsers yet – Upgrading a security protocol in an ecosystem as complex as the Internet is difficult. You need to update clients and servers and make sure everything in between continues to work correctly.
The 2018 internet resolution everyone should have: Forget Facebook – An open memo, to all marginally-smart people/consumers of internet “content”.
Coding Best Practices: Dealing with magic values. – Magic values or magic constants are literal values that are used in code without clear definition of their meaning or purpose (Hence the name magic constants).
SQL Keys in Depth – The internet is full of dogmatic commandments for choosing and using keys in relational databases.
Listen to your engineers. – When The Management asks one of their engineers how long a project of any scope will take, one of exactly two things is bound to happen:
Encryption Lava Lamps – The randomness of this wall of lava lamps helps encrypt up to 10 percent of the internet.
Questions to ask yourself when writing tests – Talk to yourself to make sure your tests help you achieve your aims
To Serve Man, with Software – I didn’t choose to be a programmer. Somehow, it seemed, the computers chose me. For a long time, that was fine, that was enough; that was all I needed.
Kernel-memory-leaking Intel processor design flaw forces Linux, Windows redesign – Speed hits loom, other OSes need fixes
Single-Responsibility Principle Done Right – When adhering to the SOLID programming principles, Single Responsibility can be a bit tricky.
Why Bitcoin is Stupid – Well, shit. I’ve been watching this situation for a few years, and assuming it would just blow over so we wouldn’t have to talk about it here in this place where we are supposed to be busy improving our lives.
Ubuntu 17.10’s Laptop Issue Appears To Be Under Control, Fixable – A week ago Ubuntu 17.10’s ISO was pulled due to a show-stopping laptop bug whereby some UEFI-enabled laptops from multiple vendors were running into “BIOS corruption” where BIOS settings could no longer be changed, USB booting becoming non-functional, and similar UEFI-related issues.
Politics
Our President Never Planned On Being Our President
Economics
A Lesson on Elementary, Worldly Wisdom As It Relates To Investment Management & Business – I’m going to play a minor trick on you today because the subject of my talk is the art of stock picking as a subdivision of the art of worldly wisdom.
How Airlines Price Flights
Society
Inside China’s Vast New Experiment in Social Ranking – Lazarus Liu moved home to China after studying logistics in the United Kingdom for three years, he quickly noticed that something had changed: Everyone paid for everything with their phones.
How The London Underground Changed Society
Dude, you broke the Future! – We’re living in yesterday’s future, and it’s nothing like the speculations of our authors and film/TV producers.
The Case Against The Jedi
Science
Academic success is either a crapshoot or a scam – The problem, in a nut shell, is that empirical researchers have placed the fates of their careers in the hands of nature instead of themselves.
What Is It Like to Be a Bee? – A philosophical and neurobiological look into the apian mind.
How Game Theory Solves Tough Negotiations: Corporate Tax Cuts, Nuclear War, and Parenting
Miscellaneous
Why did everything take so long? – One of the biggest intuitive mysteries to me is how humanity took so long to do anything.
Check out my Slovak newsletter (if you understand Slovak 🙂 ).