Time for Issue #4 of Weekly Digest with 12 interesting links! This week you can read about, among others, what to not write on a security clearance form (a story from the past, but worth reading!), what platform to choose for your next side project and how to build it having limited time and how modern terminals works!
1. Pwned or Bot
Have I Been Pwned (service to check if your email was in some data breach) author’s thoughts about using that database in different use cases - checking if a buyer is a bot or a real user. tl;dr - as an additional check it seems a viable solution!
2. Don’t End The Week With Nothing
A piece of advice from a fellow programmer - you, probably, will not work at a single employer your entire life until retirement so prefer to work on things you can show or keep (portfolio, Open Source Software contributions for coders, citations for academics) or where you will be seen (where you speak on conferences, wrote blog posts, get to know people and talk with them).
3. C Isn’t A Programming Language Anymore
Clang - you can love it or hate it. But you are using it and do not know about it - Python, Rust, Swift and almost all other languages are using Foreign Function Interface to communicate with different stuff (even like “opening the file”). Well, there is more - be warned, a lot of technical (but interesting!) stuff here!
4. What Not To Write On Your Security Clearance Form
A quite funny email with a story about how the FBI blew thousand of dollars because two kids read a book about cryptography.
5. For your next side project, make a browser extension
What should be your next side project? SaaS, ebook, maybe a video course? Geoffrey Litt, the author of the Twemex browser extension for Twitter, is suggesting building a browser extension. It could be simpler as you do not start from scratch and you can scratch your own itch with it too!
6. Why aren’t the most useful Mac apps on the App Store?
Alin Panaitiu, author of Lunar - app to control brightness on external monitors for Mac OS, describes the reasoning for not distributing Mac apps through App Store. A case study of a new app to quickly switch between apps with a keyboard (alternative to common ALT/CMD+Tab). And what is the answer to the question in the title? Limitations of API (you must use API that works in sandbox mode only to pass review) and a problem with monetizing (free trials are… hard!) are the commons one.
7. Easy, alternative soft deletion:
Law or just business requirements often requires implementing the “soft delete” option. The most common solution is… flag “is delete” and filter out those files. What if we tackle this topic a bit differently and in fact delete data from a table, but insert it into the “deleted records” table? This article describes that solution for PostgreSQL - using functions and triggers.
8. Hello, PNG!
You probably know what PNG is, but do you know what PNG looks like? This article will guide you through this format and show you how to read and write basic PNG files (in Python).
9. The 4 minute bug
“There are two hard things in computer science - naming and cache invalidation” - you have probably heard this not single, but multiple times. This is a nice written story about a bug, which was caused by the wrong configuration, that occurred sometimes
10. Building a Startup in 45 Minutes per day While Deployed to Iraq
Can you build a startup while having limited time? Sure, 45 minutes a day for 5 months can make a difference! This is a story about creating a domain name search while being deployed in Iraq - later that project was acquired by Automattic (creators of WordPress)!
11. What happens when you open a terminal and enter ‘ls’
Did you ever wonder what happened when you open a terminal, type some command and click enter? A lot of stuff - this is not as simple as it looks! Fortunately, this article nicely explains it!
12. Build your own X - list of guides on GitHub
A long list of step-by-step guides for recreating various stuff from scratch - from building a search engine, through text editor to games. Worth checking if you want to learn new stuff!