@JJSantaniello Herman Miller Aeron. It has 3 different base size options and is super comfortable for long periods of sitting. It also has a 12 year warranty.
@SarvasvKulpati@visakanv What sort of data do you plan to be searchable with your personal search engines?
I've been working on a personal data infrastructure platform with a plugin-based architecture for exporting/importing, indexing, and exploring personal data.
The goal of software design is to create chunks or slices that fit into a human mind. The software keeps growing but the human mind maxes out, so we have to keep chunking and slicing differently if we want to keep making changes.
@jackdomleo7 I also enjoy all of these things; I have a bachelors degree in philosophy and in computer science.
I spend a lot of time thinking about what makes good code "good".
Current theory is something with the ability to create abstractions and think at multiple levels of abstraction.
I've been thinking a lot about @karlicoss's personal infra page: https://t.co/tGZCXm9WJi and how I've accidentally started building something similar for extracting my book highlights from @BookFusionHQ and reformatting them into my @RoamResearch knowledge base.
This is great advice.
Writing Architecture Decision Records (ADRs) and storing them with the system is a good way to track why a particular approach was taken. The ADR can be referred back to, to recall why a decision was made rather than second-guessing it due to forgetting.
"How do I get better at designing systems?"
Next time you design something, architect it two different ways. Choose the better approach and explain the tradeoffs. WHY did you not choose the other design? Even better, write all of this down and share with your team.
While the SOLID programming principles are largely defined in terms of Object-oriented programming, they can often also be applied in other programming paradigms.
For example, the Open-Closed Principle can be implemented via higher order functions / anonymous function params.
Been thinking a lot about Locke’s musings on the difference between liberty and license. License being doing what you want to do, liberty being what you ought to do. Ought comes from the idea of “what you owe others”.
Tech friends: I think now is a good time to submit PRs to systems you work on that replace terminology like whitelist/blacklist with alternatives like allowlist/denylist. Besides not having any racial overtones, they are clearer to non-native English speakers too.
#BlackLivesMatter If someone saying "Black Lives Matter" makes you automatically want to respond with "All Lives Matter", you are part of the problem.
To put this in gamer context:
The biggest impediment to racial justice is this country is the denial of systemic and structural racism by a large portion of whites. Before Ferguson, it was somehow acceptable to say, “I don’t believe systemic or structural racism exists, yet I am not a racist.” 1/
I think a key skill in programming is being able to operate at two (or more) levels of abstraction simultaneously.
1. The consumer of the code - what the code does
2. The owner of the code - how it does it
Two Astronauts are launching to space from US soil (Kennedy Space Center) for the first time since the Space Shuttle was retired in 2011, today at 4:33 EDT, weather permitting.
Other essays I'm considering:
Frege: Concept and Object, Compound Thought from Logical Investigations;
Peirce: On a New List of Categories, Prolegomena to an apology for pragmaticism;
Quine: Levels of Abstraction, Natural kinds.
I suspect that abstraction is the core programming skill beyond language syntax. We don't (yet) have a good way of talking about abstraction skill or measuring the quality of the resulting abstractions created in using the skill.