[ Global Variables Are Bad ]
Why Global Variables Should Be Avoided When Unnecessary
- No Access Control or Constraint Checking
- Implicit coupling
- Concurrency issues
- Namespace pollution
- Memory allocation issues
- Testing and Confinement
[Seven Ways to Think Like the Web] by Jon Udell
1. It’s all just data.
2. Data doesn’t mean anything on its own—it has to be interpreted.
3. Programming is about creating and composing abstractions.
4. Models are for computers, and views are for people.
5. Paranoia makes us productive.
6. Better algorithms are better than better hardware.
7. The tool shapes the hand.
"I want to take pride in my work. I want to deliver working, stable things. To do that, we need to understand what we are building, in and out, and that’s impossible to do in bloated, over-engineered systems.
So it’s our mission as engineers to show the world what’s possible with today’s computers in terms of performance, reliability, quality, usability. If we care, people will learn."
[Reading Code vs. Reading Tutorials]
Tutorials can often include extra, making it harder to extract the minimal amount of code you need to try the feature out in the first place! This is where seeing the code can be more helpful.
Warning: Using this approach, you may miss out on important underlying principles which the author had taken the time to explain in the tutorial, such as gotchas and warnings as to when such a feature may not be the right approach.
Password rotation = changing/resetting of a password(s). Limiting the lifespan of a password reduces the risk from and effectiveness of password-based attacks and exploits, by condensing the window of time during which a stolen password may be valid.
[SoR vs SSOT]
System of Record = Identified authority for a data element or entity.
-- Single piece of information is replicated and stored multiple times across multiple databases backing various systems.
Single Source Of Truth = practice of structuring information models and associated data schema such that every data element is stored exactly once.
-- the single piece of information is only stored once in a single database.
[ IaaS vs PaaS vs Saas ]
'=' stands for 'you manage'
Infrastructure as a Service = App + Data + Runtime + Middleware + O/S
e.g. DigitalOcean, Linode, Rackspace, Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure, Google Compute Engine (GCE)
Platform as a Service = App + Data
e.g. AWS Elastic Beanstalk, Windows Azure, Heroku
Software as a Service = Nothing!
e.g. Google Apps, Dropbox
"Policy as code is the idea of writing code in a high-level language to manage and automate policies. By representing policies as code in text files, proven software development best practices can be adopted such as version control, automated testing, and automated deployment."
"Infrastructure as code (IaC) is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools."
"Terraform is an open-source infrastructure as code software tool created by HashiCorp. It enables users to define and provision a datacenter infrastructure using a high-level configuration language known as Hashicorp Configuration Language or JSON."
Tried the GDPR data export from Spotify. By default, you get like 6 JSON files with almost nothing. After many emails and complaining and a month of waiting, I got a 250MB archive with basically EVERY INTERACTION I ever did with any Spotify client, all my searches. Everything.
Another key quote:
> We went the IBM way, and we probably didn't realize it. All that we do today is built for structured teams of thousands of engineers. We prioritize big batch development over individual productivity.
[ Is true hacking dead? What we lost. ]
"today newest languages focus primarily in being able to gobble up millions of lines of code in various modules while making iteration and direct manipulation increasingly inefficient"
"The new IBMs do know very well that lines of code are for the most part worthless, but people and communities aren't, so it's a no brainer to opensource more if in change one gets more people involved in a project, and more engineers hired..."
The Configuration Complexity Curse
"Don’t be a YAML Engineer"
"Unknown Fund is Going to Invest and Donate $75 Million for the Development of Ideas of Anonymity"
"Researchers found most participants raised few or no suspicions when presented with wrong answers, until the answers were quite wrong.
one positive takeaway from the calculator study is that training is critical if we want to improve people’s cybersecurity practices. This includes training individuals on what to do as online users, how to do it, and why it’s important."
[ Do Not Use VPN ] https://gist.github.com/joepie91/5a9909939e6ce7d09e29
"Mozilla is working on integrating a privacy-focused rival to Google Translate that will enable Firefox users to read pages in different languages without gobbling up data."
The 100:10:1 method: my approach to open source
100 [ wackyIdeas ] :10 [ MinimumViableProduct (MVP) ] :1 [
An Internet exchange point (IX or IXP) is the physical infrastructure through which Internet service providers (ISPs) and content delivery networks (CDNs) exchange Internet traffic between their networks (autonomous systems).
Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.