chore: add files from master-wiki repo
This commit is contained in:
parent
f99a9ae2ac
commit
1847f6bf28
315 changed files with 1047341 additions and 0 deletions
23
_master_wiki/Readwise/01. Facade Pattern.md
Normal file
23
_master_wiki/Readwise/01. Facade Pattern.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# 01. Facade Pattern
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Coding with Yalco]]
|
||||
- Full Title: 01. Facade Pattern
|
||||
- Category: #articles
|
||||
- URL: https://www.youtube.com/watch?v=priCUesVF9g
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=01.%20Facade%20Pattern
|
||||
> [!tldr]
|
||||
> #OODP #Facade #programming
|
||||
|
||||
This is a lecture content explaining the main patterns of Object-Oriented Design Patterns (OODP) and how to use them. This lecture is intended for people who understand programming languages such as Java and C#.
|
||||
|
||||
The lecture content mainly deals with the following patterns.
|
||||
- Facade Pattern: A pattern that allows you to use a complex system simply by hiding the complexity of the subsystem with an integrated interface to help clients use it easily. Examples include the case of manipulating multiple electronic devices in the house through a smart home system, and the FileSystemFacade class that integrates file reading, writing, and deletion functions.
|
||||
|
||||
Detailed explanations and actual code examples will help you understand the principles and usage of each pattern.
|
||||
|
||||
## Highlights
|
||||
the Facade pattern is a pattern that makes it possible to use a complex system made up of multiple elements simply through a single interface. [View Highlight](https://read.readwise.io/read/01jaad96sjzzkxcf4b4gwgy5fy))
|
||||
|
||||
28
_master_wiki/Readwise/02. Strategy Pattern.md
Normal file
28
_master_wiki/Readwise/02. Strategy Pattern.md
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# 02. Strategy Pattern
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Coding with Yalco]]
|
||||
- Full Title: 02. Strategy Pattern
|
||||
- Category: #articles
|
||||
- Document Tags: [[dev]] [[dev/design-patterns]]
|
||||
- URL: https://www.youtube.com/watch?v=pPKBbQoxDHQ
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=02.%20Strategy%20Pattern
|
||||
> [!tldr]
|
||||
> #OODP #ObjectOrientedDesignPattern #ObjectOriented
|
||||
|
||||
The Strategy pattern is a pattern that allows you to switch between several specific operation methods as needed. It creates several 'modes', each performing a given function, and allows you to choose which one to use. For example, shopping carts at a large supermarket's checkout counter perform the 'payment' function in various ways.
|
||||
|
||||
This is illustrated in an example of implementing the Strategy pattern, creating an interface called 'PaymentStrategy', and creating two classes that implement it, 'CreditCardPayment' and 'PayPalPayment'. These two classes fall into the 'PaymentStrategy' category, each implementing a 'pay' method. The important point here is that objects of the two classes can take the place of the 'PaymentStrategy' and execute the 'pay' method.
|
||||
|
||||
Also, the 'ShoppingCart' class has a 'PaymentStrategy' field, and the 'pay' method of the selected strategy is executed when calculating. In this way, the strategy pattern allows not only to change the a...
|
||||
|
||||
## Highlights
|
||||
The second pattern we're going to look into is the Strategy Pattern. This pattern sets up several methods, or 'strategies', for performing a particular task, and allows them to be 'interchanged' as needed [View Highlight](https://read.readwise.io/read/01jabhkm7ahb492vecg2wj8241))
|
||||
|
||||
This pattern separates several algorithms that
|
||||
perform specific functions into individual capsules, thus allowing them to be switched out at any point during code execution. If a new method needs to be added, you can easily extend by creating another strategy class, and it also becomes possible to reuse them in other places. [View Highlight](https://read.readwise.io/read/01jabhv9ynysj0crf1jh3xc5r9))
|
||||
|
||||
This would be code that adheres to the 'Open/Closed Principle' we learned from SOLID. [View Highlight](https://read.readwise.io/read/01jabhvz49eamfzcf85qg4y1q8))
|
||||
|
||||
25
_master_wiki/Readwise/03. Template Method Pattern.md
Normal file
25
_master_wiki/Readwise/03. Template Method Pattern.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# 03. Template Method Pattern
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Coding with Yalco]]
|
||||
- Full Title: 03. Template Method Pattern
|
||||
- Category: #articles
|
||||
- URL: https://www.youtube.com/watch?v=ZWipsgyNepo
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=03.%20Template%20Method%20Pattern
|
||||
> [!tldr]
|
||||
> #OODP #DesignPattern #ObjectOriented
|
||||
|
||||
This video covers the template method pattern. This pattern is used when executing predetermined steps in a certain order, and each step can be variably implemented. It illustrates a dining course at a French restaurant, emphasizing that, while various menu combinations are possible depending on the dishes provided at each stage, the order must be strictly adhered to.
|
||||
|
||||
Then, it explains the difference between abstract classes and interfaces, using the process of making hot beverages as an example, and reveals the 'Tea' and 'Coffee' classes that implement this process. These methods show that no matter how they are implemented, they are executed in order.
|
||||
|
||||
It also provides a more practical example using a program that reads files and saves them in a different format. Here, methods for loading files, checking formats, processing them according to the algorithm, and saving results are declared, and you can see them being conditionally executed by a template method called 'proce...
|
||||
|
||||
## Highlights
|
||||
Template Method pattern. This pattern is used when you need to implement tasks that need to be executed through certain predetermined steps. This pattern is useful when we need to ensure that the whole process is executed in a specific order, although we can implement how we perform each step in various ways. [View Highlight](https://read.readwise.io/read/01jafmhggcaetvx535rk5n49sz))
|
||||
|
||||
the Template Method pattern can be useful in cases where the structure of the algorithm to be implemented is fixed,
|
||||
but each detail process can be changed or expanded. [View Highlight](https://read.readwise.io/read/01jafmpqsvvdkekx03v5nyvyny))
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
# 3 Simple Hacks to Stay Up-to-Date as a Developer
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Bran van der Meer]]
|
||||
- Full Title: 3 Simple Hacks to Stay Up-to-Date as a Developer
|
||||
- Category: #articles
|
||||
- Document Tags: [[star]]
|
||||
- URL: https://www.youtube.com/watch?v=AIUw82G-jKE
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=3%20Simple%20Hacks%20to%20Stay%20Up-to-Date%20as%20a%20Developer
|
||||
|
||||
## Highlights
|
||||
there's just too much you have to filter somehow you have to find the right news aggregators for your topic [View Highlight](https://read.readwise.io/read/01j6ye17qj6mqt3hvcv776vd0t))
|
||||
|
||||
social media is it's itself an
|
||||
aggregator of content of course and you can even argue that daily doev which I just showed is social media I recommend to follow specific creators that you like and if you don't have anybody you like yet then you can try and find those people from now on whenever you go to conferences you can pay attention who the speaker is whenever you're reading books or reading articles look up the author see if they have a Blog see if they publish other things [View Highlight](https://read.readwise.io/read/01j6ye8bktbvyjv1763jf4333z))
|
||||
|
||||
try and go to at least one conference a year [View Highlight](https://read.readwise.io/read/01j6yebe0q7bq1gdgmf4zzw6xa))
|
||||
|
||||
I like conferences because they have a
|
||||
tendency to burst your filter bubble [View Highlight](https://read.readwise.io/read/01j6yeckqdxp8na7meb3m1fz14))
|
||||
|
||||
you're looking for a job a Meetup is often a chance to meet a company that's very local that's very close to where you live and you get a chance to meet them outside of the normal hiring process which can also be an advantage [View Highlight](https://read.readwise.io/read/01j6yees1azkpzgsabf3r546av))
|
||||
|
||||
calm any fear you may have fear fear of becoming
|
||||
irrelevant [View Highlight](https://read.readwise.io/read/01j6yefnrc19pj2f04dq6p6h7g))
|
||||
|
||||
what I do is once a year I read a lot of vacancies I don't think about applying for another job I'm not actually applying for another job I am just purely looking at what companies are looking for [View Highlight](https://read.readwise.io/read/01j6yeg5yy6m8g2tpgd4xj5gv6))
|
||||
|
||||
25
_master_wiki/Readwise/5 Design System Examples.md
Normal file
25
_master_wiki/Readwise/5 Design System Examples.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# 5 Design System Examples
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Penpot Blog]]
|
||||
- Full Title: 5 Design System Examples
|
||||
- Category: #articles
|
||||
- Document Tags: [[design]]
|
||||
- URL: https://penpot.app/blog/5-design-system-examples-and-what-you-can-learn-from-them/
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=5%20Design%20System%20Examples
|
||||
> [!tldr]
|
||||
> Design systems help organizations achieve consistency, improve workflows, and enhance collaboration. Sharing a design system can build trust, attract talent, and provide accountability for brands. Notable examples like Shopify, Goldman Sachs, and IBM show how effective design systems can inspire others and improve user experiences.
|
||||
|
||||
## Highlights
|
||||
Design elements don't mean much if developers don't know how to use them. Shopify ensures its best practices happen with even less experienced developers by giving them plenty of step-by-step tutorials. [View Highlight](https://read.readwise.io/read/01j7sck8bwkhkacskj552gdhfk))
|
||||
|
||||
They also use smart naming conventions to ensure there is little room for confusion. [View Highlight](https://read.readwise.io/read/01j7sckvkgsrk0tv2sm21zwqje))
|
||||
|
||||
When creating your own design system, consider how you’ll make it easily adaptable. By creating conventions and resources early, you can be far more certain that your design system will be used consistently and in the way you intended. [View Highlight](https://read.readwise.io/read/01j7scmvxvxft5mtdh88bgf37n))
|
||||
|
||||
Because the brand incorporates so much educational and background material into the design system, users can come away with not just "what" to do but also "why" it's done. [View Highlight](https://read.readwise.io/read/01j7scr6r3r1mrmegdjct7bacv))
|
||||
|
||||
The backstory of a design system matters as much as the elements. People who understand creative motivation are more likely to put it into practice in an appropriate manner. Share how you came to your values and why they are important. [View Highlight](https://read.readwise.io/read/01j7sczpbh8af8tp38b9y74qcq))
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
# 8 Principles for a Secure Cloud Environment
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[omerxx@gmail.com]]
|
||||
- Full Title: 8 Principles for a Secure Cloud Environment
|
||||
- Category: #articles
|
||||
- URL: https://omnivore.app/aleidk/8-principles-for-a-secure-cloud-environment-18f1fa5c54d
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=8%20Principles%20for%20a%20Secure%20Cloud%20Environment
|
||||
> [!tldr]
|
||||
> On July 15th, 2019, I messed up bad. Real bad. I wanted to finish a project quickly, and show a quick POC to a customer I was working with. To make a long story short, I pushed a container, to a public repo, containing admin credentials to an AWS account.
|
||||
|
||||
## Highlights
|
||||
CISO BS. [View Highlight](https://read.readwise.io/read/01j58cb911jv15qjeccffqxbv1))
|
||||
> [!note]
|
||||
> In "8 Principles For a Secure Cloud Environment," the term "CISO" refers to the Chief Information Security Officer, a role responsible for overseeing and ensuring the security of an organization's information and systems. The author implies that some principles may be perceived as excessive or overly cautious, often dismissed as "CISO BS," yet emphasizes their importance based on personal experiences with security incidents. Ultimately, the mention of CISO highlights the necessity of adopting robust security practices to mitigate risks in cloud environments, regardless of differing opinions on their complexity.
|
||||
|
||||
Key resources should only be placed in private subnets, effectively isolating them from direct internet access and reducing vulnerability. [View Highlight](https://read.readwise.io/read/01j58ch8xmresvx0x8mty8h37s))
|
||||
|
||||
The sharing of SSH keys is a common security pitfall. [View Highlight](https://read.readwise.io/read/01j58ckd7mgrh2b6f6dzmzstz9))
|
||||
|
||||
Utilize a dedicated secret manager to securely store and handle access to these sensitive elements, ensuring they’re encrypted and accessible only to those who truly need them. [View Highlight](https://read.readwise.io/read/01j58cm13bxanfd7bxg5th88j4))
|
||||
|
||||
Implement a routine where every merge commit is scanned for secret leaks and vulnerabilities using tools like [gitleaks](https://click.convertkit-mail2.com/xmuvr2v7d6h6hr6eg6pc5h03owzllbn/dpheh0h0dwroe6hm/aHR0cHM6Ly9naXRodWIuY29tL2dpdGxlYWtzL2dpdGxlYWtz). Establish strict policies to halt deployments if issues are found in the codebase or in the container images during CI. Don’t have a CI in place yet? 1. Do it! 2. Run these locally before EVERY push. [View Highlight](https://read.readwise.io/read/01j58cn5zg2y5dkd0m9emzevtw))
|
||||
|
||||
Move away from traditional firewall-based security for accessing internal systems remotely. Instead, adopt a VPN or, ideally, a Zero Trust framework [View Highlight](https://read.readwise.io/read/01j58cq5q1j7w0xcm19cynt6j7))
|
||||
|
||||
Regularly reviewing your cloud bills can help you identify unused or forgotten resources and even expose potential security threats. [View Highlight](https://read.readwise.io/read/01j58dr7eagpfs41b1g7cp42fr))
|
||||
|
||||
Deploying a WAF can provide a critical defense layer against numerous web-based threats. The default set of rules can cover 80% of randomly sent malicious query attempts which you can then tweak over time to block additional potentially harmful requests. [View Highlight](https://read.readwise.io/read/01j58drvb7t9633re0pfwc567x))
|
||||
|
||||
consider deploying containers that lack any form of shell environment. Building your containers with containers starting with `FROM: scratch` ensures that only the essential application binaries are running, thereby hardening your containers against simple intrusion attempts. [View Highlight](https://read.readwise.io/read/01j58dsmfdt50cgke4skb9d4vf))
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
# A Cyberspace Inquisition #2: Impressions
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Adam Douglas]]
|
||||
- Full Title: A Cyberspace Inquisition #2: Impressions
|
||||
- Category: #articles
|
||||
- URL: https://www.adamsdesk.com/posts/a-cyberspace-inquisition-2/
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=A%20Cyberspace%20Inquisition%20%232%3A%20Impressions
|
||||
> [!tldr]
|
||||
> Navigate cyberspace with me and discover unique content that leave you with impressions and trigger your own inner curiosity to explore and innovate.
|
||||
|
||||
## Highlights
|
||||
(https://sudhir.io/the-big-little-guide-to-message-queues/)
|
||||
If you have every [View Highlight](https://read.readwise.io/read/01j59rfbd66tv18q7vdpc0brt3))
|
||||
|
||||
35
_master_wiki/Readwise/A Successful Git Branching Model.md
Normal file
35
_master_wiki/Readwise/A Successful Git Branching Model.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# A Successful Git Branching Model
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Vincent Driessen]]
|
||||
- Full Title: A Successful Git Branching Model
|
||||
- Category: #articles
|
||||
- URL: https://nvie.com/posts/a-successful-git-branching-model/
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=A%20Successful%20Git%20Branching%20Model
|
||||
> [!tldr]
|
||||
> The Git branching model, git-flow, is widely used but can be seen as overly rigid by some teams. It is beneficial for versioned software and managing multiple versions. Git has revolutionized how developers handle branching and merging in version control.
|
||||
|
||||
## Highlights
|
||||
If your team is doing continuous delivery of software, I would suggest to adopt a much simpler workflow (like [GitHub flow](https://guides.github.com/introduction/flow/)) instead of trying to shoehorn git-flow into your team.
|
||||
If, however, you are building software that is explicitly versioned, or if you need to support multiple versions of your software in the wild, then git-flow may still be as good of a fit to your team as it has been to people in the last 10 years. [View Highlight](https://read.readwise.io/read/01j548q3y82vb6tgpcxkff732r))
|
||||
|
||||
We consider `origin/master` to be the main branch where the source code of `HEAD` always reflects a *production-ready* state. [View Highlight](https://read.readwise.io/read/01j548s6wn5tww0q86agt4mc3b))
|
||||
|
||||
We consider `origin/develop` to be the main branch where the source code of `HEAD` always reflects a state with the latest delivered development changes for the next release. Some would call this the “integration branch”. This is where any automatic nightly builds are built from. [View Highlight](https://read.readwise.io/read/01j548sbx0chxzjqhbdxbfkd34))
|
||||
|
||||
Next to the main branches `master` and `develop`, our development model uses a variety of supporting branches to aid parallel development between team members, ease tracking of features, prepare for production releases and to assist in quickly fixing live production problems. Unlike the main branches, these branches always have a limited life time, since they will be removed eventually.
|
||||
The different types of branches we may use are:
|
||||
• Feature branches
|
||||
• Release branches
|
||||
• Hotfix branches [View Highlight](https://read.readwise.io/read/01j548v29py8ken2hnj4kqn7d4))
|
||||
|
||||
Feature branches (or sometimes called topic branches) are used to develop new features for the upcoming or a distant future release. When starting development of a feature, the target release in which this feature will be incorporated may well be unknown at that point. The essence of a feature branch is that it exists as long as the feature is in development, but will eventually be merged back into `develop` (to definitely add the new feature to the upcoming release) or discarded (in case of a disappointing experiment). [View Highlight](https://read.readwise.io/read/01j548xe9jrd2c98pd2kch582r))
|
||||
|
||||
The `--no-ff` flag causes the merge to always create a new commit object, even if the merge could be performed with a fast-forward. This avoids losing information about the historical existence of a feature branch and groups together all commits that together added the feature. Compare: [View Highlight](https://read.readwise.io/read/01j548z6jfdzegbyxqcbw9qzg8))
|
||||
|
||||
Release branches support preparation of a new production release. __They allow for last-minute dotting of i’s and crossing t’s. Furthermore, they allow for minor bug fixes and preparing meta-data for a release__ (version number, build dates, etc.). By doing all of this work on a release branch, the `develop` branch is cleared to receive features for the next big release. [View Highlight](https://read.readwise.io/read/01j54919d0891s3web647x0zkt))
|
||||
|
||||
Hotfix branches are very much like release branches in that they are also meant to prepare for a new production release, albeit unplanned. __They arise from the necessity to act immediately upon an undesired state of a live production version__. When a critical bug in a production version must be resolved immediately, a hotfix branch may be branched off from the corresponding tag on the master branch that marks the production version. [View Highlight](https://read.readwise.io/read/01j5498mt0tq7m5y0gk06rst3t))
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
# ACID Databases – Atomicity, Consistency, Isolation & Durability Explained
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Daniel Adetunji]]
|
||||
- Full Title: ACID Databases – Atomicity, Consistency, Isolation & Durability Explained
|
||||
- Category: #articles
|
||||
- URL: https://www.freecodecamp.org/news/acid-databases-explained/
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=ACID%20Databases%20%E2%80%93%20Atomicity%2C%20Consistency%2C%20Isolation%20%26%20Durability%20Explained
|
||||
> [!tldr]
|
||||
> ACID (Atomicity, Consistency, Isolation, and Durability) is a set of guarantees provided by database management systems (DBMS). While most popular DBMS offer ACID guarantees, the implementation can vary. Atomicity ensures that all parts of a transaction are completed or none at all. Consistency, or referential integrity, ensures data accuracy and reliability. Isolation guarantees that concurrent transactions do not interfere with each other. Durability ensures that changes made by committed transactions are not lost. These properties are important for maintaining data integrity and fault tolerance in a DBMS.
|
||||
|
||||
## Highlights
|
||||
Consistency in the context of ACID means *consistency in data*, which is defined by the creator of the database. The technical term for consistency in data is called referential integrity. __Referential integrity is a method of ensuring that relationships between tables remain consistent__. It's usually enforced through the use of **foreign keys**. [View Highlight](https://read.readwise.io/read/01j549yzv6a3s4x73cc7qj06rg))
|
||||
|
||||
Isolation is a guarantee that concurrently running transactions should not interfere with each other. Concurrency here refers to two or more transactions trying to modify or read the same database record(s) at the same time. [View Highlight](https://read.readwise.io/read/01j54a1g3dka9smm3v4ct09v4d))
|
||||
|
||||
In this example, read committed isolation ensures that Marie is not prematurely excluded from buying the burger just because someone else said they wanted it. __Only committed transactions can be read__. Therefore, the burger is available to be ordered as long as no one has paid for it. [View Highlight](https://read.readwise.io/read/01j54a6t2df5kjvy8q4tyhkwas))
|
||||
|
||||
A repeatable read guarantees that if a transaction reads a row of data, any subsequent reads of that same row of data within the same transaction will yield the same result, regardless of changes made by other transactions. This consistency is maintained throughout the duration of the transaction. [View Highlight](https://read.readwise.io/read/01j54a7baf7scbgptfwf5a5hgf))
|
||||
|
||||
Durability is a guarantee that changes made by a committed transaction must not be lost. All committed transactions must be persisted on durable, non-volatile storage, that is on disk. This ensures that any committed transactions are protected even if the database crashes. [View Highlight](https://read.readwise.io/read/01j54aa01whthekb1jegqsx42w))
|
||||
|
||||
31
_master_wiki/Readwise/All You Need Is Data and Functions.md
Normal file
31
_master_wiki/Readwise/All You Need Is Data and Functions.md
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
# All You Need Is Data and Functions
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[mckayla.blog]]
|
||||
- Full Title: All You Need Is Data and Functions
|
||||
- Category: #articles
|
||||
- Document Tags: [[dev]] [[star]]
|
||||
- URL: https://mckayla.blog/posts/all-you-need-is-data-and-functions.html
|
||||
|
||||
> [!note]
|
||||
> **Background:** I would like to implement the ideas from "All you need is data and functions" by mckayla.blog in my programming project.
|
||||
> ### Key Takeaways:
|
||||
> 🛠️ **Emphasize Type Over Traits:** Instead of relying on traits, create a data-type that encapsulates the desired behavior. Then, implement a conversion function to transform your data-type into the trait-type when needed.
|
||||
> 🔄 **Utilize Implicit Conversions:** Understand that trait-types allow for implicit conversions, which can simplify your code. This means the language can handle the transformation from your data-type to the trait-type automatically, reducing boilerplate and improving readability.
|
||||
> 📜 **Represent Traits with Types:** Recognize that traits can be viewed as types themselves. For example, a Display trait can be represented by a String type alongside a function that converts your original type into a String, enabling clearer and more direct handling of type-specific logic.
|
||||
> ---
|
||||
> 1. How does the omission of traits in Gleam influence the way developers approach generic programming compared to languages like Rust?
|
||||
> 2. In what ways might the simplicity of Gleam's design, focusing on data and functions, lead to both advantages and disadvantages in software development?
|
||||
> 3. How does Gleam's approach to immutability and function-based programming compare with the mutable state and trait systems commonly found in other languages?
|
||||
> [!tldr]
|
||||
> The document explores the concept of traits in programming languages, using the example of the Gleam language. Traits are compared to types and functions, emphasizing how traits can be represented and achieved through types and functions. The discussion covers examples from Rust and Gleam to illustrate how traits can be replaced by types and functions in a language like Gleam, where simplicity and low concept count are valued. The document concludes that data and functions can effectively replace the need for traits, particularly in languages like Gleam.
|
||||
|
||||
## Highlights
|
||||
**traits are just types**. Our `Display` trait in this example, can be represented by the `String` type, and a function which converts from our original type to a `String`. - ([View Highlight](https://read.readwise.io/read/01j6axgxbj76x7jbz4zsc45tdv))
|
||||
|
||||
The biggest difference between most trait/interface systems and trait-types is that the language is essentially doing implicit conversions for you, from your data-type to the trait-type. - ([View Highlight](https://read.readwise.io/read/01j6ccvpskph772e8r479esbq4))
|
||||
|
||||
Instead of a trait, just make a type that implements the generic behavior you want, and then write a function to convert your data-type into your trait-type. If you need some data-type specific logic, then pass around functions as necessary (usually from your conversion function). - ([View Highlight](https://read.readwise.io/read/01j6ccz00s0t2aydshas3xw962))
|
||||
|
||||
41
_master_wiki/Readwise/Best Practices for Maintainers.md
Normal file
41
_master_wiki/Readwise/Best Practices for Maintainers.md
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
# Best Practices for Maintainers
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Open Source Guides]]
|
||||
- Full Title: Best Practices for Maintainers
|
||||
- Category: #articles
|
||||
- Document Tags: [[dev]]
|
||||
- URL: https://opensource.guide/best-practices/
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=Best%20Practices%20for%20Maintainers
|
||||
> [!tldr]
|
||||
> Maintaining a popular open source project involves more than just coding; it requires effective communication and managing contributions. It's important to set clear expectations for your time and the types of contributions you accept, while also being kind and responsive to contributors. Taking breaks and prioritizing your own happiness is essential for the long-term success of the project.
|
||||
|
||||
## Highlights
|
||||
Written and enforced fairly, however, good rules empower maintainers. They prevent you from getting dragged into doing things you don’t want to do. [View Highlight](https://read.readwise.io/read/01j59endsw1rpkb9tf8m8qawvj))
|
||||
|
||||
Don’t forget to document your interactions, too. Wherever you can, keep communication about your project public. If somebody tries to contact you privately to discuss a feature request or support need, politely direct them to a public communication channel, such as a mailing list or issue tracker. [View Highlight](https://read.readwise.io/read/01j59eq13dn3wga93d01tnfqmy))
|
||||
|
||||
Having everything written down, however, helps depersonalize situations when you do need to enforce your rules.
|
||||
Saying no isn’t fun, but *“Your contribution doesn’t match this project’s criteria”* feels less personal than *“I don’t like your contribution”*. [View Highlight](https://read.readwise.io/read/01j59eskv2qw7f8cfrkz5g3rvt))
|
||||
|
||||
The key to handling support for large-scale open source projects is to keep issues moving. Try to avoid having issues stall. If you’re an iOS developer you know how frustrating it can be to submit radars. You might hear back 2 years later, and are told to try again with the latest version of iOS. [View Highlight](https://read.readwise.io/read/01j59ezaxynf5z61amr95w7x7m))
|
||||
|
||||
I cater to the 80% use case. If you are one of the unicorns, please fork my work. I won’t get offended! My public projects are almost always meant to solve the most common problems; I try to make it easy to go deeper by either forking my work or extending it. [View Highlight](https://read.readwise.io/read/01j59ftzzkh4m5fkbbgse1qs8y))
|
||||
|
||||
It’s almost inevitable that once a project becomes big, maintainers have to become a lot more conservative about how they introduce new code. You become good at saying “no”, but a lot of people have legitimate needs. So, instead you end up converting your tool into a platform. [View Highlight](https://read.readwise.io/read/01j59fw4nd6sjdfxwtxgbn89zy))
|
||||
|
||||
I believe that tests are necessary for all code that people work on. If the code was fully and perfectly correct, it wouldn’t need changes – we only write code when something is wrong, whether that’s “It crashes” or “It lacks such-and-such a feature”. And regardless of the changes you’re making, tests are essential for catching any regressions you might accidentally introduce. [View Highlight](https://read.readwise.io/read/01j59fyszkgtfzj58msft420j5))
|
||||
|
||||
There are a [variety of tools available](https://github.com/showcases/tools-for-open-source) to help automate some aspects of maintenance work. A few examples:
|
||||
• [semantic-release](https://github.com/semantic-release/semantic-release) automates your releases
|
||||
• [mention-bot](https://github.com/facebook/mention-bot) mentions potential reviewers for pull requests
|
||||
• [Danger](https://github.com/danger/danger) helps automate code review
|
||||
• [no-response](https://github.com/probot/no-response) closes issues where the author hasn’t responded to a request for more information
|
||||
• [dependabot](https://github.com/dependabot) checks your dependency files every day for outdated requirements and opens individual pull requests for any it finds [View Highlight](https://read.readwise.io/read/01j59g05hnrn42hj1ey8s0cjhe))
|
||||
|
||||
Burnout is a real and pervasive issue in open source work, especially among maintainers. As a maintainer, your happiness is a non-negotiable requirement for the survival of any open source project. [View Highlight](https://read.readwise.io/read/01j59g44y47gfp6bexny1cf077))
|
||||
|
||||
In maintaining WP-CLI, I’ve discovered I need to make myself happy first, and set clear boundaries on my involvement. The best balance I’ve found is 2-5 hours per week, as a part of my normal work schedule. This keeps my involvement a passion, and from feeling too much like work. Because I prioritize the issues I’m working on, I can make regular progress on what I think is most important. [View Highlight](https://read.readwise.io/read/01j59g63w7h9j6krg5wpjh40ap))
|
||||
|
||||
40
_master_wiki/Readwise/Building a Second Brain - Tags.md
Normal file
40
_master_wiki/Readwise/Building a Second Brain - Tags.md
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
# Building a Second Brain - Tags
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Tiago Forte]]
|
||||
- Full Title: Building a Second Brain - Tags
|
||||
- Category: #articles
|
||||
- Document Tags: [[notetaking]] [[productivity]]
|
||||
- URL: https://readwise.io/reader/document_raw_content/2217137
|
||||
> [!tldr]
|
||||
> Many note-taking apps offer tagging features, but trying to create a universal taxonomy for all your notes can lead to frustration and anxiety. Instead of tagging every note immediately, focus on how your notes will be used and apply tags retroactively as needed. This approach helps you track progress and keeps your note-taking practice effective and enjoyable.
|
||||
|
||||
## Highlights
|
||||
The goal of all these endeavors was to create a system of classification – known as a “taxonomy” – that every piece of knowledge could be placed into. [View Highlight](https://read.readwise.io/read/01j6hh4c8747s1xrb59f93826q))
|
||||
|
||||
Like Pandora’s Box, once we begin to apply tags it can be incredibly tempting to start labeling each and every note ... Building a Second Brain: Chapter 11 | buildingasecondbrain.com understand what we are trying to use our notes to accomplish to avoid the trap of “tagging for the sake of tagging.”
|
||||
|
||||
We need to [View Highlight](https://read.readwise.io/read/01j6hhgza3xjraa39npmnrjpe2))
|
||||
|
||||
There are three practical approaches to tagging you can use as your Second Brain grows and matures. Each one follows the principle of actionability and answers an important question about the purpose of a given note: 1. Create personalized tags for your use cases. (How will my notes be used?) 2. Use tags to track the progress of notes. (How are my notes currently being used?) 3. Tag notes retroactively and only as needed. (How have my notes been used?) [View Highlight](https://read.readwise.io/read/01j6hhjytn42dbdcgskyjrr74q))
|
||||
|
||||
if you already know how your notes are likely to be used – such as for citations in a paper [Source], as evidence in a trial [Evidence], or as slides in a presentation [Slides] – it can be helpful to tag your notes according to those use cases. [View Highlight](https://read.readwise.io/read/01j6hhp4pghcnk2r4z4r95n287))
|
||||
|
||||
Ask yourself, “What are the most common use cases for the content I capture?” Here are a couple common examples: • Tagging according to the final product a note will be used in: [Presentation], [Essay], [Report], [Website], [Project plan], [Meeting agenda], or [Budget]
|
||||
• Tagging according to the kind of information a note contains: [Arguments], [Theories], [Frameworks], [Evidence], [Claim], [Counterpoint], or [Question] [View Highlight](https://read.readwise.io/read/01j6hhwgwga3a4t0bm9p3t12y6))
|
||||
|
||||
tags to track the progress of their notes: • Tagging according to its role in a project: [Meeting notes], [Timeline], [Budget], [Decision], [Action], [Idea], or [Objective]
|
||||
• Tagging according to the current stage of their workflow: [Planned], [In process], [Waiting for approval], [Reviewed], [Approved], [On hold], or [Finished] [View Highlight](https://read.readwise.io/read/01j6hj21kk7kmc7c4f40hg3004))
|
||||
|
||||
These kinds of tags aren’t about the contents of a note. They are about its context – specifically, the context in which it is being used. Since [View Highlight](https://read.readwise.io/read/01j6hj2t79v8mg6rey564bm350))
|
||||
|
||||
We didn’t want to move her existing notes from their respective PARA folders, but we did want to be able to see all the notes related to “writing job descriptions” or “reviewing applications” in one place with a quick search. This is the perfect situation for tags: when you want a different way of “viewing” your notes, without having to [View Highlight](https://read.readwise.io/read/01j6hj859j9vyq735n7t634791))
|
||||
|
||||
Building a Second Brain: Chapter 11 | buildingasecondbrain.com undertake a massive reorganization of your entire system. [View Highlight](https://read.readwise.io/read/01j6hj84vq0hfy5rtaxw7nk0wa))
|
||||
|
||||
Instead of applying tags when you first capture content, I recommend applying them when it’s time to use it. Often, the ideal moment is when you are getting ready to start a new project. When you apply tags with a specific use case in mind, the tags you come up with will be far more concrete and actionable. And you will have the motivation to do the work of adding them because of the immediate needs of the project you are taking on. [View Highlight](https://read.readwise.io/read/01j6hjb00pwcgt92e9ek7ad2p7))
|
||||
|
||||
using tags in this way means it’s perfectly fine to skip adding tags altogether if you don’t feel like it. ... This eliminates the frustrating experience of trying to force yourself to think of a tag for a note, even when nothing comes to mind, because you fear that otherwise it will be lost forever. Even if no tags are applied, the note will always be right in the folder where you left it.
|
||||
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
# Caching vs Content Delivery Networks – What's the Difference?
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[anamika.ahmed.792]]
|
||||
- Full Title: Caching vs Content Delivery Networks – What's the Difference?
|
||||
- Category: #articles
|
||||
- URL: https://www.freecodecamp.org/news/caching-vs-content-delivery-network/
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=Caching%20vs%20Content%20Delivery%20Networks%20%E2%80%93%20What%27s%20the%20Difference%3F
|
||||
> [!tldr]
|
||||
> In the world of network optimization, Content Delivery Networks (CDNs) and caching are essential for enhancing website performance and user experience. Caching involves temporarily storing frequently accessed data to reduce response times, while CDNs use a network of servers to deliver web content more efficiently. Both methods aim to improve performance, optimize resource utilization, and enhance user experience. Caching is ideal for frequently accessed static content, while CDNs excel at delivering content globally, especially dynamic content and media. Combining caching and CDNs can offer optimal results, particularly for websites with a mix of static and dynamic content.
|
||||
|
||||
## Highlights
|
||||
Caching is a technique used to store copies of frequently accessed data temporarily. The cached data can be anything from web pages and images to database query results. When a user requests cached content, the server retrieves it from the cache instead of generating it anew, significantly reducing response times. [View Highlight](https://read.readwise.io/read/01j5rvjkrkd34kjh984axnab87))
|
||||
|
||||
What to Consider When Implementing a Cache SystemDecide When to Use a Cache:
|
||||
• A cache is best for frequently read but infrequently modified data.
|
||||
• Cache servers are not suitable for storing critical data as they use volatile memory.
|
||||
• Important data should be stored in persistent data stores to prevent loss in case of cache server restarts. [View Highlight](https://read.readwise.io/read/01j5rvj1mdcbaqnj0e9n2vnw3v))
|
||||
|
||||
In technical terms, a CDN is a network of servers distributed across various locations globally. Its primary purpose is to deliver web content, such as images, videos, scripts, and stylesheets to users more efficiently by reducing the physical distance between the server and the user. [View Highlight](https://read.readwise.io/read/01j5rvrwx5kh2fpqwfpnvxeqd9))
|
||||
|
||||
What to Consider When Implementing a CDN
|
||||
• **Cost Management**: CDNs charge for data transfers. It’s wise to cache frequently accessed content, but not everything.
|
||||
• **Cache Expiry**: Set appropriate cache expiry times. Too long, and content might be stale. Too short, and it strains origin servers.
|
||||
• **CDN Fallback**: Plan for CDN failures. Ensure your website can switch to fetching resources directly from the origin if needed.
|
||||
• **Invalidating Files**: You can remove files from the CDN before they expire using various methods provided by CDN vendors. [View Highlight](https://read.readwise.io/read/01j5rvvgawfs37758cbyyz9g69))
|
||||
|
||||
In fact, studies show that CDNs can ****reduce video startup time by up to 50%****, making a significant difference in user satisfaction. [View Highlight](https://read.readwise.io/read/01j5rvxqm29rk1kwr36j6m9nmp))
|
||||
|
||||
Caching is ideal for frequently accessed content that doesn't change frequently. This includes static assets like images, CSS files, and JavaScript libraries.
|
||||
It's particularly effective for websites with a substantial user base accessing similar content, such as news websites, blogs, and e-commerce platforms. [View Highlight](https://read.readwise.io/read/01j5rw4q49kh725b3er30axw9q)) [[dev]] [[favorite]]
|
||||
|
||||
CDNs are invaluable for delivering content to a global audience, especially when geographical distance between users and origin servers leads to latency issues.
|
||||
They are well-suited for serving dynamic content, streaming media, and handling sudden spikes in traffic.
|
||||
CDNs also excel in scenarios where content needs to be delivered reliably and consistently across diverse geographic regions, ensuring optimal user experience regardless of location. [View Highlight](https://read.readwise.io/read/01j5rw5x54n9bs6qg1mygc0vd9))
|
||||
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
# Design for Hackers: Reverse-Engineering Beauty
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[David Kadavy]]
|
||||
- Full Title: Design for Hackers: Reverse-Engineering Beauty
|
||||
- Category: #books
|
||||
> [!tldr]
|
||||
> Many people lack design literacy, which leads to miscommunication through poor font and color choices. Design is influenced by economic factors and technology, affecting how we create and perceive visual content. Understanding color relationships and design conventions can enhance web design and improve user experience.
|
||||
|
||||
## Highlights
|
||||
Today I understand that at the root of my educators’ intentions was something valuable: Clear communication is critical to success. [View Highlight](https://read.readwise.io/read/01jajetmrhkjrhaf773k1j857e))
|
||||
|
||||
“Design is this mysterious thing. The people who know it can’t seem to explain it. It’s like if you want them to teach you something about design, they just chalk it up to talent.” [View Highlight](https://read.readwise.io/read/01jajexavy2eyh0kcxqqv7rnkt))
|
||||
|
||||
But few of us are design literate. Sure, matters of design taste are starting to creep into our world. There are backlashes over ugly fonts, such as Comic Sans (see Chapter 3). Much like having poor handwriting, not having design literacy results in miscommunication. Fonts, colors, layout, and the proper use of white space all affect how our message is conveyed, and nearly all of us have the ability to manipulate these factors. The world is in need of design literacy. [View Highlight](https://read.readwise.io/read/01jajf3d2f92wgn9gkxv65j1mz))
|
||||
|
||||
Though the term hacker originated at MIT in the 1960s and was used to refer to a particular group of computer and software enthusiasts, to many, the term has a broader meaning. An article by Eric Steven Raymond entitled “How to Become a Hacker” (`[www.catb.org/~esr/faqs/hacker-howto.html](http://www.catb.org/~esr/faqs/hacker-howto.html)`) presents five tenets of the hacker attitude:
|
||||
> The world is full of fascinating problems waiting to be solved.
|
||||
> No problem should ever have to be solved twice.
|
||||
> Boredom and drudgery are evil.
|
||||
> Freedom is good.
|
||||
> Attitude is no substitute for competence. [View Highlight](https://read.readwise.io/read/01jajfb29ndk9q7z1rqntvw9b9)) [[quotes]]
|
||||
|
||||
In short, a hacker values knowledge and learns whatever he needs to learn to achieve his vision. In today’s world, that often means learning at least a little coding, but the hacker attitude can be applied to problem solving of all kinds.
|
||||
People who live by the hacker attitude are curious. They do whatever it takes to achieve their visions. They’re entrepreneurial. They value skills and knowledge over titles and experience. [View Highlight](https://read.readwise.io/read/01jajfc8aecks22d85m95ewxv7)) [[quotes]]
|
||||
|
||||
The main reason for the difficulty in learning design is probably that designers tend to have difficulty articulating the process through which they make decisions. Many designers are, in fact, born with some degree of innate talent and interest in design, and, through countless hours of practice and experimentation, they’ve developed their particular approach to design. As a result, much of the design advice that exists is either too simple or too complicated. Have you ever heard anyone tell you simply to “use white space,” for example? If you don’t get it, she may just shrug her shoulders and say that she was just born knowing how to design. [View Highlight](https://read.readwise.io/read/01jajfj67eah8paq6hp50dqsy7))
|
||||
|
||||
Steve Jobs once said, “In most people’s vocabularies, design is a veneer. It’s interior decorating. It’s the fabric of the curtains of the sofa. But to me, nothing could be further from the meaning of design. Design is the fundamental soul of a human-made creation that ends up expressing itself in successive outer layers of the product.” [View Highlight](https://read.readwise.io/read/01jajfwk6e9y1x88mp9yeqyxnv)) [[quotes]]
|
||||
|
||||
The point is that to truly be adept at designing something, you have to understand how it works. You have to understand the nature of what you’re building, how what you’re building is perceived, and how you can use your tools to make your vision happen. Otherwise, you aren’t designing. You’re creating a veneer. You’re drawing ponies. Don’t draw ponies. [View Highlight](https://read.readwise.io/read/01jajgbx6a0sg4wqfp0enyyxjx))
|
||||
|
||||
In psychology, these shortcuts are called heuristics. Heuristics help us solve complex problems and make complex decisions by using “rules” that are either programmed into us by evolution or learned from our own experiences. [View Highlight](https://read.readwise.io/read/01jajgds6stcbxdfx2670fapjg))
|
||||
|
||||
It turns out, in all these cases, design is the single most important heuristic we process when deciding whether a site is credible. [View Highlight](https://read.readwise.io/read/01jajgfb1ymn3ntdjk15vsb3pq))
|
||||
|
||||
But just as drawing a pretty pony doesn’t make you a good artist, creating a pretty website doesn’t make you a good designer. Participants were skeptical of sites that looked inappropriately polished, giving negative comments suggesting that certain sites looked as if they were “designed by a marketing team.” [View Highlight](https://read.readwise.io/read/01jajgjazwj25yzpn9z3aesqxp))
|
||||
|
||||
So, together, the visual look of a site – along with the way the information was organized – accounted for nearly 75 percent of all comments about whether participants trusted a site or not. Moreover, the participants’ comments were sensitive to design that was inappropriate for the site in question. [View Highlight](https://read.readwise.io/read/01jajgky0acmsqzzvtjzgzh8qd))
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
# Developer With ADHD? You’re Not Alone.
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Eira May]]
|
||||
- Full Title: Developer With ADHD? You’re Not Alone.
|
||||
- Category: #articles
|
||||
- URL: https://stackoverflow.blog/2023/12/26/developer-with-adhd-youre-not-alone/
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=Developer%20With%20ADHD%3F%20You%E2%80%99re%20Not%20Alone.
|
||||
> [!tldr]
|
||||
> There is a connection between programming and ADHD, as many developers with ADHD feel that their job is a perfect fit for how they think and approach problems. Coding provides the kind of stimulation that ADHD brains crave, and it rewards a state of hyperfocus, which is a symptom of ADHD. However, ADHD can also present challenges such as inattentive mistakes and missed deadlines. It is important to have an open dialogue about ADHD and other forms of neurodiversity in order to combat stigma and create psychologically safe environments in the tech industry.
|
||||
|
||||
## Highlights
|
||||
Many developers with ADHD feel their job is a perfect fit for how they think and approach problems. “Coding can give ADHD brains exactly the kind of stimulation they crave,” [explains](https://dev.to/abbeyperini/coding-and-adhd-adhd-brains-im1) full-stack developer Abbey Perini. “Not only is coding a creative endeavor that involves constantly learning new things, but also once one problem is solved, there’s always a brand new one to try.” [View Highlight](https://read.readwise.io/read/01j6pxdgk8q9zpq1a1dmjf050g))
|
||||
|
||||
coding can reward and encourage a state of [hyperfocus](https://health.clevelandclinic.org/hyperfocus-and-adhd/): a frequently cited symptom of ADHD that developer [Neil Peterson](https://adapthd.com/topics/coping-strategies/programming-with-adhd-the-good-the-bad-and-the-hyperfocus/) calls “a state of laser-like concentration in which distractions and even a sense of passing time seem to fade away.” It’s easy to draw parallels between hyperfocus and the [flow state](https://stackoverflow.blog/2022/09/14/what-science-says-about-flow-state/), a distraction-free groove in which programmers, writers, musicians, artists, and other creators produce their best work (occasionally while forgetting to eat). [View Highlight](https://read.readwise.io/read/01j6pxkb2v38syn1hs3tw6exyk))
|
||||
|
||||
ADHD can make people more vulnerable to inattentive mistakes, missed deadlines, or unfinished projects. A perennial question on Reddit is [some variation](https://www.reddit.com/r/learnprogramming/comments/kftc4g/any_programmers_with_adhd/) of “Programmers with ADHD, how do you stay on track?” [View Highlight](https://read.readwise.io/read/01j6pxt1ppawyk5bfb7yqbb4cs))
|
||||
> [!note]
|
||||
> Inattentive mistakes: Errors that occur when an individual fails to fully focus on a task, often resulting in oversights or miscalculations. These mistakes can stem from distractions, fatigue, or cognitive overload, and are frequently associated with conditions such as Attention Deficit Hyperactivity Disorder (ADHD). Inattentive mistakes may manifest as missed deadlines, incomplete work, or simple errors in judgment, highlighting the importance of attention and concentration in effective task management.
|
||||
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
# Five Terminal Applications I Can't Live Without
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[DevOps Toolbox]]
|
||||
- Full Title: Five Terminal Applications I Can't Live Without
|
||||
- Category: #articles
|
||||
- Document Tags: [[cli-tools]]
|
||||
- URL: https://omnivore.app/aleidk/five-terminal-applications-i-can-t-live-without-19137768dab
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=Five%20Terminal%20Applications%20I%20Can%27t%20Live%20Without
|
||||
> [!tldr]
|
||||
> We all love the terminal. But what if I told you that some of the most powerful security tools are slo available, right at your fingertips, within your familiar terminal?
|
||||
|
||||
## Highlights
|
||||
[age](https://click.convertkit-mail2.com/5qulodl26mb7hv6oe4vf6h94xo444tn/qvh8h7hrpoermrbl/aHR0cHM6Ly9naXRodWIuY29tL0ZpbG9Tb3R0aWxlL2FnZQ==) is a simple, modern file encryption tool that’s perfect for quickly securing sensitive data. Whether you’re using keys or passwords, age makes file encryption a breeze. [View Highlight](https://read.readwise.io/read/01j544wrjfxa9s9bfvp3nww6hh)) [[cli-tools]]
|
||||
|
||||
[sshs](https://click.convertkit-mail2.com/5qulodl26mb7hv6oe4vf6h94xo444tn/g3hnh5h3w6g38mhr/aHR0cHM6Ly9naXRodWIuY29tL3F1YW50dW1zaGVlcC9zc2hz) is a terminal user interface for SSH that takes the pain out of managing multiple server connections. It picks up your SSH config and presents your servers in a neat, easy-to-navigate list. [View Highlight](https://read.readwise.io/read/01j544yqsb0j8442d97546tgyy)) [[cli-tools]]
|
||||
|
||||
[atac](https://click.convertkit-mail2.com/5qulodl26mb7hv6oe4vf6h94xo444tn/9qhzhnhprz4pvzc9/aHR0cHM6Ly9naXRodWIuY29tL0p1bGllbi1jcHNuL0FUQUM=) (Arguably a terminal API client) brings the power of Postman to your command line. It’s perfect for testing and debugging API endpoints without leaving your terminal. [View Highlight](https://read.readwise.io/read/01j544zs5250tst193evsrth2c)) [[cli-tools]]
|
||||
|
||||
[portal](https://click.convertkit-mail2.com/5qulodl26mb7hv6oe4vf6h94xo444tn/48hvhehr86wrdwtx/aHR0cHM6Ly9naXRodWIuY29tL1NwYXRpdW1Qb3J0YWUvcG9ydGFs) is a sleek file transfer utility that works in your terminal. It makes sending files between computers secure and straightforward. [View Highlight](https://read.readwise.io/read/01j5450tnt3tjstzyn3tzs4xyx)) [[cli-tools]]
|
||||
|
||||
31
_master_wiki/Readwise/Functional Programming in Go.md
Normal file
31
_master_wiki/Readwise/Functional Programming in Go.md
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
# Functional Programming in Go
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[LogRocket Blog]]
|
||||
- Full Title: Functional Programming in Go
|
||||
- Category: #articles
|
||||
- Document Tags: [[dev]] [[dev/design-patterns]]
|
||||
- URL: https://blog.logrocket.com/functional-programming-in-go/
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=Functional%20Programming%20in%20Go
|
||||
> [!tldr]
|
||||
> Functional programming in Go improves code readability and testing by using pure functions that avoid shared state and side effects. Key concepts include pure functions, function composition, and immutable data, which help isolate functions and simplify debugging. Although Go isn't primarily designed for functional programming, embracing its principles can enhance code quality.
|
||||
|
||||
## Highlights
|
||||
Functional programming is the process of building software by composing pure functions, avoiding shared state, mutable data, and side-effects. Functional programming is declarative rather than imperative, and application state flows through pure functions. Contrast with object-oriented programming, where application state is usually shared and colocated with methods in objects. [View Highlight](https://read.readwise.io/read/01jabdy8qw3m23ajpv5za0fjzw))
|
||||
|
||||
A pure function always returns the same output if you give it the same input. This property is also referenced as idempotence. Idempotence means that a function should always return the same output, independent of the number of calls. [View Highlight](https://read.readwise.io/read/01jabdzwffdbxj7ytv2a0j3qa5))
|
||||
|
||||
A pure function can’t have any side effects. In other words, your function cannot interact with external environments. [View Highlight](https://read.readwise.io/read/01jabe0bb4tdcvj81vw8j4138c))
|
||||
|
||||
The basic idea of function composition is straightforward: you combine two pure functions to create a new function. This means the concept of producing the same output for the same input still applies here. Therefore, it’s important to create more advanced functionality starting with simple, pure functions. [View Highlight](https://read.readwise.io/read/01jabe21zz515334qxqr6yt50z))
|
||||
|
||||
The goal of functional programming is to make the state visible and explicit to eliminate any side effects. A program uses immutable data structures to derive new data from using pure functions. [View Highlight](https://read.readwise.io/read/01jabe3pmzrd7kw27340367da6))
|
||||
|
||||
to follow the functional programming paradigm as closely as possible, I suggest sticking to the following guidelines.
|
||||
• No mutable data to avoid side effects
|
||||
• No state (or implicit state, such as a loop counter)
|
||||
• Do not modify variables once they are assigned a value
|
||||
• Avoid side effects, such as an API call [View Highlight](https://read.readwise.io/read/01jabe5qev8y668kb3z1f9qtf9))
|
||||
|
||||
16
_master_wiki/Readwise/HTMX 3 IRL Use Cases.md
Normal file
16
_master_wiki/Readwise/HTMX 3 IRL Use Cases.md
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# HTMX: 3 IRL Use Cases
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[ThePrimeTime]]
|
||||
- Full Title: HTMX: 3 IRL Use Cases
|
||||
- Category: #articles
|
||||
- URL: https://www.youtube.com/watch?v=sTzF57GE4-k
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=HTMX%3A%203%20IRL%20Use%20Cases
|
||||
> [!tldr]
|
||||
> HTMX is a simple tool that can make web development easier by keeping things straightforward. It allows developers to build dynamic web applications without relying heavily on JavaScript frameworks. Many tasks can be achieved with just a few lines of code, making it a valuable addition to a developer's toolkit.
|
||||
|
||||
## Highlights
|
||||
if you started web dev after 2015 it is hard to see how to do a site without anything other than client-side Frameworks [View Highlight](https://read.readwise.io/read/01j5tc1j7ke8vs2vmcs34c07kn))
|
||||
|
||||
25
_master_wiki/Readwise/How Do You Program for 8h in a Row.md
Normal file
25
_master_wiki/Readwise/How Do You Program for 8h in a Row.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# How Do You Program for 8h in a Row?
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Bite Code!]]
|
||||
- Full Title: How Do You Program for 8h in a Row?
|
||||
- Category: #articles
|
||||
- Document Tags: [[dev]] [[productivity]]
|
||||
- URL: https://www.bitecode.dev/p/how-do-you-program-for-8h-in-a-row
|
||||
> [!tldr]
|
||||
> Most programmers can't work for 8 hours straight every day without feeling burnt out. It's important to focus on your own coding goals and productivity rather than comparing yourself to others. Finding a balance that works for you will lead to a happier and more sustainable coding experience.
|
||||
|
||||
## Highlights
|
||||
Unless you are going to deny John von Neumann and Usain Bolt have existed, you have to accept the idea some individuals are able to produce results you can’t. - ([View Highlight](https://read.readwise.io/read/01j5ve0w5gwghcgzxsyvvhmwqt))
|
||||
|
||||
Here I am with the damn spectrum again. But it’s a curve, y’all, of course, it’s a spectrum. You don’t have 10x and 1x, you have 0.3x, 5x, 1.479878x (and -2x because aggressive imbeciles are also part of our reality)... - ([View Highlight](https://read.readwise.io/read/01j5ve777bthcmj83k6k7cec5f))
|
||||
> [!note]
|
||||
> Aquí estoy de nuevo con el maldito espectro. Pero es una curva, amigos, por supuesto, es un espectro. No tienes 10x y 1x, tienes 0.3x, 5x, 1.479878x (y -2x porque los imbéciles agresivos también son parte de nuestra realidad)...
|
||||
> lol xd
|
||||
|
||||
you will have to adapt your rhythm, and the size of the task you are going for, plus manage expectations, yours and others, to be a happy coder - [[favorite]] - ([View Highlight](https://read.readwise.io/read/01j5veddky3z4g488sy5bcd4a2))
|
||||
|
||||
Figure out what you can do, and find the load that fits you. If you like it, you may attempt to outgrow this by giving yourself more challenges or even putting yourself in an extremely hard situation. However, remember that life, often in the form of customers, bosses and DDOS, will bring that to you anyway. - ([View Highlight](https://read.readwise.io/read/01j5vee0j5h4jqxfyarnvpxnkt))
|
||||
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
# How I Remember Everything I Read With Readwise
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Tiago Forte]]
|
||||
- Full Title: How I Remember Everything I Read With Readwise
|
||||
- Category: #articles
|
||||
- Document Tags: [[notetaking]] [[productivity]]
|
||||
- URL: https://youtube.com/watch?v=OlWomVta4DU&si=9kSzbiC8eY_Bncgq
|
||||
> [!tldr]
|
||||
> Readwise is a platform that helps you remember everything you read by collecting highlights from books, articles, and other content. It can export these highlights to various note-taking apps, making it easy to organize your thoughts. This way, you can revisit important information whenever you need it without the hassle of copying and pasting.
|
||||
|
||||
## Highlights
|
||||
that kind of focused aware reading where you're not just reading a tweet or an Instagram caption you're actually taking the time and space to sit down and really think about something really take an idea seriously that is a rare and precious experience - ([View Highlight](https://read.readwise.io/read/01j69ty4jsa8qyqrm76cb82e1c))
|
||||
|
||||
most of the internet if you think about it especially social media is not designed for calm deep purposeful reflection it's exactly the opposite - ([View Highlight](https://read.readwise.io/read/01j69v3539zhtvg4z09r0mhj0c))
|
||||
|
||||
what I find is I end up deleting never even looking at maybe half of the stuff that is saving my relater app and it's the half that is most click-baity most sensationalistic most pointless most full of hype that's the stuff that I don't even want to be filling my mind
|
||||
anyway - ([View Highlight](https://read.readwise.io/read/01j69v79j1jfc2ptn55y886ee5))
|
||||
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
# How a Collaborative Zettelkasten Might Work: A Modest Proposal for a New Kind of Collective Creativity
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[hidden (bobdoto)]]
|
||||
- Full Title: How a Collaborative Zettelkasten Might Work: A Modest Proposal for a New Kind of Collective Creativity
|
||||
- Category: #articles
|
||||
- URL: https://writing.bobdoto.computer/how-a-collaborative-zettelkasten-might-work-a-modest-proposal/
|
||||
> [!tldr]
|
||||
> This article gives a preliminary framework for people wanting to experiment with a collaborative zettelkasten. Keep in mind, these are mere suggestions, since I've not yet experimented with this type of slip box. As to whether the suggestions are valid, this will be determined by anyone who attempts to put them into practice. Note: While this article was written in the context of a Luhmann-style zettelkasten, people using similar, adjacent models, should feel free to work with what's presented in ways that fit their system.
|
||||
What's a Collaborative Zettelkasten?A collaborative zettelkasten is maintained by multiple people, one in which all the participants add main notes, establish connections between ideas, and freely pull from the network of notes for their own projects / projects worked on as a collective. The contents of the zettelkasten may or may not be aligned with a single, agreed upon subject. Participants may or may not have a common output, goal, or project in mind when they start. The only requirements...
|
||||
|
||||
## Highlights
|
||||
A collaborative zettelkasten is maintained by multiple people, one in which all the participants add main notes, establish connections between ideas, and freely pull from the network of notes for their own projects / projects worked on as a collective. The contents of the zettelkasten may or may not be aligned with a single, agreed upon subject. Participants may or may not have a common output, goal, or project in mind when they start. - ([View Highlight](https://read.readwise.io/read/01j5xzksta891sj1jfpexpb9vs))
|
||||
|
||||
"[Luhmann's] main concern was not to develop an idea to maximum sophistication; rather, he operated on the assumption that a decision on the usefulness of a note could only be made in relating it to the other notes."[2](https://writing.bobdoto.computer/how-a-collaborative-zettelkasten-might-work-a-modest-proposal/#fn-2) - ([View Highlight](https://read.readwise.io/read/01j5xzxhwd0d5cgcvstt6y57z4))
|
||||
|
||||
As Luhmann states in his own notes, let the zettelkasten function as a "septic tank."[3](https://writing.bobdoto.computer/how-a-collaborative-zettelkasten-might-work-a-modest-proposal/#fn-3) Allow the relationships between ideas to determine their value. - ([View Highlight](https://read.readwise.io/read/01j5xzz8xhq5r1tde4vkhr0fhp))
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
# How to Actually Use What You Read With Readwise: Part 2
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Daniel Doyon]]
|
||||
- Full Title: How to Actually Use What You Read With Readwise: Part 2
|
||||
- Category: #articles
|
||||
- Document Tags: [[notetaking]]
|
||||
- URL: https://blog.readwise.io/reading-workflow-part-2/
|
||||
> [!tldr]
|
||||
> In Part 2 of the Readwise series, we learn to enhance our reading workflow by actively engaging with what we read. This includes capturing highlights and notes, which help create a two-sided conversation with the text. The article emphasizes the importance of reviewing these materials through the Readwise web app for a more interactive experience.
|
||||
|
||||
## Highlights
|
||||
you'll find yourself asking as you read: Do I actually want to see this passage again? Is this passage actually highlight-worthy? Will my future self be able to make sense of what I've highlighted? And so on. [View Highlight](https://read.readwise.io/read/01j6mqyk29xd598f62nayabzfj))
|
||||
|
||||
The internal dialog is actually a sign that you're *actively* — rather than passively — reading. [View Highlight](https://read.readwise.io/read/01j6mqzsxe83y8t342knm6y82h))
|
||||
|
||||
"If your aim in reading is to profit from it — to grow somehow in mind or spirit — you have to keep awake. That means reading as actively as possible. It means making an effort — an effort for which you expect to be repaid." [View Highlight](https://read.readwise.io/read/01j6mrf2e1tg6jz2209brj24yk))
|
||||
|
||||
Once you grow accustomed to actually revisiting what you've captured, however, you'll likely discover that you also want to review more than just the original passages. You'll also want to review your original reaction *to* those passages. You can capture these reactions, of course, by taking notes. [View Highlight](https://read.readwise.io/read/01j6mtvq8kd9c0cxcjmwp5bfpq))
|
||||
|
||||
The objective is simply to start a conversation rather than just silently highlighting. Maybe you strongly agree with something the author has written. Even better, maybe you strongly disagree. Note why. Maybe a section confuses you. Maybe a section could be helpful to something you're working on. [View Highlight](https://read.readwise.io/read/01j6mtym0q2qhrbap1r1tby8cn))
|
||||
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
# How to Actually Use What You Read With Readwise: Part 3
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Daniel Doyon]]
|
||||
- Full Title: How to Actually Use What You Read With Readwise: Part 3
|
||||
- Category: #articles
|
||||
- Document Tags: [[notetaking]]
|
||||
- URL: https://blog.readwise.io/reading-workflow-part-3/
|
||||
> [!tldr]
|
||||
> In Part 3 of the Readwise series, the author explains how to use advanced workflows for two types of reading: practical and theoretical. Practical reading aims for action, while theoretical reading focuses on gaining knowledge, and Readwise helps users capture and review key insights for both. By utilizing features like Inline Tagging and spaced repetition, readers can turn their reading into meaningful actions and lasting insights.
|
||||
|
||||
## Highlights
|
||||
"Theoretical books teach you that something is the case. Practical books teach you how to do something you want to do or think you should do." [View Highlight](https://read.readwise.io/read/01j6mxk0qxsc1ge4ebcrabg7n8))
|
||||
|
||||
When you read something practical, you are seeking some sort of action — to *do*. When you read something theoretical, you are seeking some sort of knowledge — to *know*. [View Highlight](https://read.readwise.io/read/01j6mxkgms2x7rkwt6qqaaq144))
|
||||
|
||||
serendipitous [View Highlight](https://read.readwise.io/read/01j6mxnpq872bx9q40h1ez0hp3))
|
||||
> [!note]
|
||||
> serendipitous (adjective): occurring by chance in a happy or beneficial way; unexpected and fortunate 🌟🍀
|
||||
|
||||
For example, we might make it so highlights tagged `.i` for inbox, like above, are accelerated into your daily reviews until you do something about them. [View Highlight](https://read.readwise.io/read/01j6my11vve93ecp1hwdrd5n9n))
|
||||
> [!note]
|
||||
> tags highlights for actionability, something that I can filter later to search stuff I want to do or apply
|
||||
|
||||
to meaningfully understand a new concept, you need to ponder it repeatedly — in different moods and in different contexts, and from different perspectives. [View Highlight](https://read.readwise.io/read/01j6my5fjqcss9a8zb68vqerw4))
|
||||
|
||||
[spaced repetition](https://en.wikipedia.org/wiki/Spaced_repetition), [View Highlight](https://read.readwise.io/read/01j6my96k3avt6s37knqkehh9s))
|
||||
> [!note]
|
||||
> Spaced repetition: A learning technique that involves increasing intervals of review for information to enhance long-term retention and mastery. By leveraging the psychological spacing effect, spaced repetition optimizes the timing of study sessions based on how well the learner knows the material, promoting efficient memory consolidation and reducing the forgetting curve. This method is commonly used in educational software and flashcard systems to facilitate language learning, exam preparation, and skill acquisition.
|
||||
|
||||
[active recall](https://en.wikipedia.org/wiki/Active_recall), [View Highlight](https://read.readwise.io/read/01j6my8p2zekrx849jj5c4yj06))
|
||||
> [!note]
|
||||
> Active recall: A learning technique that involves actively stimulating memory during the learning process, typically by testing oneself on the material to be remembered. This method contrasts with passive review strategies, such as rereading or highlighting, by emphasizing retrieval practice, which has been shown to enhance long-term retention and understanding. Active recall can take various forms, including flashcards, quizzes, and self-questioning, and is widely used in educational settings to improve learning outcomes.
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
# How to Actually Use What You Read With Readwise
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Daniel Doyon]]
|
||||
- Full Title: How to Actually Use What You Read With Readwise
|
||||
- Category: #articles
|
||||
- Document Tags: [[notetaking]]
|
||||
- URL: https://blog.readwise.io/reading-workflow-part-1/
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=How%20to%20Actually%20Use%20What%20You%20Read%20With%20Readwise
|
||||
> [!tldr]
|
||||
> Readwise is a tool that helps you remember and use the important ideas you find while reading. It offers a simple workflow with three steps: Capture your highlights, Review them regularly, and Integrate those insights into your life. By using Readwise, you can turn your reading into meaningful actions and lasting knowledge.
|
||||
|
||||
## Highlights
|
||||
We read in order to learn how to do something or we read to understand some new concept. For example, we might read a book to learn how to negotiate or we might read a book to understand behavioral economics. We call these motives meaningful action and lasting insight, respectively, and a reading workflow will help you get more of both.[](https://blog.readwise.io/reading-workflow-part-1#fn1) [View Highlight](https://read.readwise.io/read/01j58ez9vkh68ptwbnt951wkg9))
|
||||
|
||||
*capture* any and all the things that might be meaningful to you — today or tomorrow, small or large — in a reliable system outside your mind so you can make use of those things later [View Highlight](https://read.readwise.io/read/01j58f1740ca5k7akyjp7enmkx))
|
||||
|
||||
Now that you're capturing all the things that might be meaningful to you, the next step is to actually go back and *review* those things. Otherwise, what was the point of capturing in the first place? [View Highlight](https://read.readwise.io/read/01j58f3zcas4ewpxjf861kzfy6)) [[favorite]]
|
||||
|
||||
Integrate might mean **improved retention** (or compression) of new concepts thanks to a lightweight form of [spaced repetition](https://en.wikipedia.org/wiki/Spaced_repetition). [View Highlight](https://read.readwise.io/read/01j58f5aqe8f69a4rvvypb3r1n))
|
||||
|
||||
Integrate might also mean **enhanced creativity** resulting from the serendipitous juxtaposition of seemingly unrelated ideas. [View Highlight](https://read.readwise.io/read/01j58f679pcp1vtd3ne64cxke9))
|
||||
> [!note]
|
||||
> This relates to BASB
|
||||
|
||||
Integrate might also mean **sudden inspiration** to act on something you've read due to a well-timed reminder in a daily review. [View Highlight](https://read.readwise.io/read/01j58f8fa57a88b7647bwyaxp4))
|
||||
|
||||
28
_master_wiki/Readwise/How to Not Write Like an Asshole.md
Normal file
28
_master_wiki/Readwise/How to Not Write Like an Asshole.md
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# How to Not Write Like an Asshole
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[The Hustle]]
|
||||
- Full Title: How to Not Write Like an Asshole
|
||||
- Category: #articles
|
||||
- Document Tags: [[notetaking]]
|
||||
- URL: https://thehustle.co/how-to-not-write-like-an-asshole
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=How%20to%20Not%20Write%20Like%20an%20Asshole
|
||||
> [!tldr]
|
||||
> Most people write poorly, using confusing sentences and unnecessary words. A simple way to improve writing is through copywork, where you hand-copy great writing to learn from it. By practicing this method for just a few minutes each day, anyone can become a better writer.
|
||||
|
||||
## Highlights
|
||||
The easiest way to become a better writer is to copy great writers. It’s that simple. [View Highlight](https://read.readwise.io/read/01j6py7hp221k6fzx7mza6b3k1))
|
||||
|
||||
When I say you should copy great writers, I mean you should literally copy their best work, word-for-word, and preferably by hand.
|
||||
This process is called copywork and it’s mind-numbingly simple. You barely have to think. All you have to do is sit down with your favorite book, article, or blog post and copy it. [View Highlight](https://read.readwise.io/read/01j6py9pbrq5epw3sxgy5a9wv2))
|
||||
|
||||
**Step 1: Pick a writer who you want to be like** ... To start with copywork, pick an author you love. Copywork is hard work, and you’ll spend a lot of time with whomever you decide to copy, so you need to love their work.
|
||||
|
||||
**Step 2: Buy a ton of legal notebooks**
|
||||
[Studies have shown](https://lifehacker.com/5738093/why-you-learn-more-effectively-by-writing-than-typing) that people learn better when they write by hand versus typing. So, for copywork it’s best to do all the copying by hand. I prefer using yellow legal notepads as they’re easy to read and cheap. [View Highlight](https://read.readwise.io/read/01j6pzrch7rq9ct4xr5f58nxhc))
|
||||
|
||||
**Step 3: Start writing**
|
||||
I suggest copying your favorite author for 10 minutes each day. It’s that simple. [View Highlight](https://read.readwise.io/read/01j6pzs8wpx24wawjxq7fypj7f))
|
||||
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
# I've built my first successful side project, and I hate it
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[switowski]]
|
||||
- Full Title: I've built my first successful side project, and I hate it
|
||||
- Category: #articles
|
||||
- URL: https://switowski.com/blog/i-have-built-my-first-successful-side-project-and-i-hate-it/
|
||||
> [!tldr]
|
||||
> Sebastian Witowski created a stock trading script that initially excited him, but he soon faced challenges with customer support and feature requests. Despite some sales, he experienced burnout from managing the project while juggling a full-time job. Ultimately, he learned that selling a product is just the beginning, and it requires ongoing effort and support.
|
||||
|
||||
## Highlights
|
||||
I'm an engineer, goddamit! We're not meant to click buttons in the browser or send the same email over and over again! - [[favorite]] - ([View Highlight](https://read.readwise.io/read/01j5y28d3ftfhss7wegbnkdwea))
|
||||
|
||||
Did disconnecting from my project affect my sanity? Oh, hell yes! The project went on autopilot, and it no longer felt like a dreaded chore when I was checking my emails or logging in to my TradingView account. It lost a lot of traction because I stopped updating it, so people think it's not useful anymore (even though it does its job as well as it did a few years ago). Its revenue declined in the past years. But I don't care. I'm happy again. - ([View Highlight](https://read.readwise.io/read/01j5y2yn2enf1aqz6y9akfmpxa))
|
||||
|
||||
The dreaded truth that most programmers learn the hard way is that releasing a product is just the beginning. Once it's out there, you have to maintain it: fix bugs, implement new features, deal with disputes or frauds, and answer a LOT of emails (often from curious window shoppers who never convert to paying customers). - ([View Highlight](https://read.readwise.io/read/01j5y2gg4qd0p65b97g6xjgxy1))
|
||||
|
||||
If your side project is not a source of genuine joy and you have other priorities, it's important to set some boundaries. - ([View Highlight](https://read.readwise.io/read/01j5y323gv3dwa4y15qzwpycg3))
|
||||
|
||||
If you're planning to sell products globally, consider using a "merchant of record" like Gumroad or Paddle. This way, you won't have to figure out how much tax to charge for each country (basically, you only sell to Gumroad, and they resell your product to the final customer). - ([View Highlight](https://read.readwise.io/read/01j5y32rm97xwbjg1tv9hr65g6))
|
||||
|
||||
55
_master_wiki/Readwise/In Search of Code Purity.md
Normal file
55
_master_wiki/Readwise/In Search of Code Purity.md
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
# In Search of Code Purity
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[No Boilerplate]]
|
||||
- Full Title: In Search of Code Purity
|
||||
- Category: #articles
|
||||
- Document Tags: [[dev]] [[dev/rust]]
|
||||
- URL: https://www.youtube.com/watch?v=voRBS0r4EyI
|
||||
|
||||
> [!note]
|
||||
> Goal: The intention is to leverage the principles of functional programming purity in a project, utilizing Rust or other programming languages, to enhance code readability, maintainability, and reliability. This to-do list will help achieve that by outlining actionable steps for implementation.
|
||||
> - [ ] 🦀 **Familiarize with Rust's const functions** to understand how they execute at both compile time and runtime, ensuring the utilization of pure functions.
|
||||
> - [ ] ⚙️ **Implement pure functions** in the codebase, ensuring they do not produce side effects and maintain referential transparency for predictable behavior.
|
||||
> - [ ] 🔍 **Establish a system for tagging functions** as pure in the codebase, allowing both developers and the compiler to reason about function behavior effectively.
|
||||
> - [ ] 📜 **Utilize Rust macros wisely** to enable compile-time evaluations effectively, while understanding their limitations compared to const functions.
|
||||
> - [ ] 📝 **Incorporate error handling** strategies focused on return types and assertions for better debugging of const functions.
|
||||
> - [ ] 🧪 **Experiment with caching techniques** that leverage the predictability of pure functions to optimize performance in the application.
|
||||
> [!tldr]
|
||||
> Alternate title: Rust's Hidden Purity System
|
||||
I was taught formal methods at university but these ultra-safe development techniques are expensive, require using unusual external verification languages, and most damning for web and application developers, they slow down iteration.
|
||||
After graduating and getting a webdev job, I despaired that the safety and guarantees of the formal systems that I had been introduced to weren't available to me as a web developer.
|
||||
I was going to have to act if I wanted to live in a different world.
|
||||
|
||||
❤️ If you would like to support what I do, I have set up a Patreon here: https://www.patreon.com/noboilerplate - Thank you!
|
||||
|
||||
📄 All my videos are built in compile-checked markdown, transcript source code available here https://github.com/0atman/noboilerplate this is also where you'll find links to everything mentioned.
|
||||
|
||||
🖊️ Corrections are in the pinned ERRATA comment.
|
||||
|
||||
🦀 Start your Rust journey here: https://www.youtube.com/watch?v=2hXNd6x9sZs
|
||||
|
||||
👕 Bad shirts available here https://www.teepub...
|
||||
|
||||
## Highlights
|
||||
first function here factorial is a pure function a function that doesn't cause or rely upon side effects we know this without reading the function body because it doesn't have IO in the signature the second function main prints to the screen and so must have I/O this is a fantastic way to keep side effects managed and covers half of the nightmare errors I've seen throughout my career [View Highlight](https://read.readwise.io/read/01j6ez3db15q2wagxxh4fxpagw))
|
||||
|
||||
if your language has a way of separating or tagging functions that are pure and then can hold you to that contract both you and the compiler can reason about your code in useful new ways [View Highlight](https://read.readwise.io/read/01j6ezg1548mj8f5ntkwrhxh86))
|
||||
|
||||
If a pure function is called twice with the same inputs the result is guaranteed to be the same every time this is called referential transparency or idance or determinism this enables perfect predictable caching of return values which your compiler might automatically and easier debugging [View Highlight](https://read.readwise.io/read/01j6ezh53e7hcszmxxd91aze3r))
|
||||
|
||||
const functions are functions that can be executed at compile time as well as runtime they differ from rust macros which can only run at compile time and can do anything by being much more limited [View Highlight](https://read.readwise.io/read/01j6ezpb7jgqybcmhz38r5sdxk))
|
||||
|
||||
when debugging the only way to get information out of a const function is by its return type or Hal in compilation
|
||||
with a panic or a failed assertion [View Highlight](https://read.readwise.io/read/01j6f15drv4ypknhpcqz8jh9dc))
|
||||
|
||||
macros execute arbitrary code at compile time and then can insert the
|
||||
results of that processing as potentially const values [View Highlight](https://read.readwise.io/read/01j6f1arc85y5twtf781mgy5tz))
|
||||
|
||||
rust's const functions are only pure once you get to runtime [View Highlight](https://read.readwise.io/read/01j6f1a5g0yddv78empzwmh1xp))
|
||||
|
||||
rust
|
||||
is as pure as possible but no purer [View Highlight](https://read.readwise.io/read/01j6f1env98rtskyvf5sp1eygp)) [[dev/rust]] [[dev]]
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
# Learn vLANs, Subnets, and NAT to Improve Your Network Security
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Jim's Garage]]
|
||||
- Full Title: Learn vLANs, Subnets, and NAT to Improve Your Network Security
|
||||
- Category: #articles
|
||||
- Document Tags: [[homelab]]
|
||||
- URL: https://www.youtube.com/watch?v=gk_kHgNhJVo
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=Learn%20vLANs%2C%20Subnets%2C%20and%20NAT%20to%20Improve%20Your%20Network%20Security
|
||||
> [!tldr]
|
||||
> This text explains how to set up a static IP address, configure subnets, and use VLANs and NAT for better network security. It emphasizes the importance of organizing your network into different subnets and assigning VLAN tags for improved traffic management. The author also highlights the role of firewalls in controlling access to various devices on the network.
|
||||
|
||||
## Highlights
|
||||
that's pretty much how op works it would know that your tablet is making an internet request even though it's coming from that same ISP IP address therefore we're able to break down One external IP address into multiple
|
||||
internal addresses [View Highlight](https://read.readwise.io/read/01j54cajqj3xyfj1eemhcmsvqw))
|
||||
> [!note]
|
||||
> NAT in a nutshell
|
||||
|
||||
what it does is it takes a single wire and it splits it up into lots of little wires now if you do that right through proper subnetting and VLAN tagging you can introduce security but it's dependent on making sure that you put the right devices in the right subnets and you control or access those protocols those IP addresses with strict firewall rules [View Highlight](https://read.readwise.io/read/01j54hz2c5z7kpt964rxs33095))
|
||||
|
||||
83
_master_wiki/Readwise/Looking After Your Autistic Self.md
Normal file
83
_master_wiki/Readwise/Looking After Your Autistic Self.md
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
# Looking After Your Autistic Self
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Niamh Garvey]]
|
||||
- Full Title: Looking After Your Autistic Self
|
||||
- Category: #books
|
||||
> [!tldr]
|
||||
> Autistic people often feel overwhelmed by sensory stress and emotional changes in their daily lives. Recognizing their triggers can help them manage these feelings and create a sense of safety. Using sensory tools and strategies allows them to participate in activities without becoming overwhelmed.
|
||||
|
||||
## Highlights
|
||||
In my experience, there is a misconception that autistic children grow into ‘less autistic’ adults. I believe this stems from our ability, as autistic adults, to adapt our behaviour to ‘stand out’ less, and to ‘fit in’ more. We learn how to hide our differences and hide our overwhelm. But this takes its toll on us, and can actually increase our levels of stress. [View Highlight](https://read.readwise.io/read/01j6ta5tywrynbek3nwrk4ztpf))
|
||||
|
||||
Autistic people can react differently to stress than non-autistic people. Research has found that autistic children release higher amounts of the stress hormone cortisol than non-autistic children. Additionally, the levels of cortisol last longer in their bodies, even after the thing that caused the stress has gone (Spratt et al. 2012). [View Highlight](https://read.readwise.io/read/01j6tb32z54r5n39rmednd9p0d))
|
||||
|
||||
What Skills Are Involved in Executive Function?
|
||||
• Planning: Recognising that a task needs to be done, and planning how to do it.
|
||||
• Organising: Getting ready for a task: Recognising what tools or skills you will need.
|
||||
• Initiation: Starting a task.
|
||||
• Flexible thinking: Seeing a task through and not giving up when faced with problems.
|
||||
• Time management: Being able to divide your time appropriately to complete all the steps of a task.
|
||||
• Finishing a task: Not giving up on a task, keeping focused and motivated until the end.
|
||||
• Evaluation: Looking back at how you did a task, evaluating how you did it, and learning from it.
|
||||
• Emotional regulation: Managing emotions throughout a task so that the task can be completed. [View Highlight](https://read.readwise.io/read/01j6tbdfg6e1wfrs92988vk3mb))
|
||||
|
||||
A study published in 2015 (Bishop-Fitzpatrick et al. 2015) found that autistic adults without intellectual disability experienced substantially higher levels of stress than non-autistic adults. Not only that, but when stress levels increased, autistic adults’ social functioning went down significantly. [View Highlight](https://read.readwise.io/read/01j6tb2h8a03x46nqxsatrwcs2))
|
||||
|
||||
Research has found that autistic adults have significantly more challenges with executive function skills than non-autistic adults, with one study finding that 20–30% of autistic adults had difficulty with planning, while 20% had difficulty with flexible thinking (Johnston et al. 2019). This study also found that having a higher IQ did not equate to having better executive function skills. Only 35% of autistic adults were found to have no impairment in executive function skills. [View Highlight](https://read.readwise.io/read/01j6tbg0wvc6rrxs57pnpbqpqn))
|
||||
|
||||
A trigger is something that sets off your stress response. There are endless types of things that may trigger your stress response. For autistic people, a trigger could be a type of environment (e.g. a busy crowded room), a social difficulty, a sensory experience (e.g. a loud noise), a communication challenge, a demand on your organisation skills, a change in routine etc. [View Highlight](https://read.readwise.io/read/01j6tb3tpnc9cs5f76gkkm8b8b))
|
||||
|
||||
There might be no real danger, but our brains and bodies acts like there is. When we are stressed, our bodies experience changes that may include dizziness, a racing heartbeat, high blood pressure, breathing fast, and sweating (World Health Organization 2008). [View Highlight](https://read.readwise.io/read/01j6tb4xc2qpbh3z0gvpt8958g))
|
||||
|
||||
Triggers can cause you to feel anxious or overwhelmed, angry or frightened, unsafe or under attack. Sometimes individual triggers may not cause an immediate stress response, but a build-up of triggers, or too many triggers at once, can lead to fight, flight, or freeze mode, and you might experience anxiety, overwhelm, shutdown, or meltdown (see [Chapter 11](private://read/01j68en5pg3ysg1jcbwjsjmy61/#chap_11) for information on meltdowns and shutdowns). [View Highlight](https://read.readwise.io/read/01j6tb631tgjc6dyzvs1yw22kp))
|
||||
|
||||
Learning what triggers your stress response is not just important to reduce the psychological impact of stress, but it also improves the physical health of your body. Putting strategies in place to deal with your triggers will help reduce the damaging effect of chronic stress on your body. Over-exposure to the stress hormone cortisol from chronic stress can increase the risk of anxiety, depression, headaches, muscle pain, problems with digestion, heart disease, sleep disturbance, difficulty maintaining a healthy weight, and impaired memory and concentration (Mayo Clinic 2021). [View Highlight](https://read.readwise.io/read/01j6tb9cyhtard039hqes709t7))
|
||||
|
||||
The Five Steps to Managing Triggers
|
||||
1. The Detective Habit: Identifying your triggers.
|
||||
2. Coping Strategies: Learn to manage your triggers.
|
||||
3. Rationing: Spread out your triggers.
|
||||
4. Recovery: Plan your recovery time between triggers, and after triggers.
|
||||
5. Quick Calm Strategies: These are strategies to help you calm down quickly. As developing immediate calming strategies is a huge topic, this will be dealt with in the next chapter. [View Highlight](https://read.readwise.io/read/01j6tbn89zmyj8vdd2tvcqq327))
|
||||
|
||||
Executive function is the ability to get things done. It is the ability to organise yourself, and carry tasks through from beginning to end. Our daily lives are full of tasks, and thus we rely on our executive function skills to do everything from getting dressed to leaving the house on time, from working to preparing meals etc. [View Highlight](https://read.readwise.io/read/01j6tbar3qva0233pbzz8xpgv2))
|
||||
|
||||
In order to start identifying what my triggers are, I began to develop my ‘detective habit’. This is a habit of reflecting on how I felt and behaved in a scenario, so I could learn to identify my triggers. [View Highlight](https://read.readwise.io/read/01j6tbp0fjq1fvf5hxd3z6p5g1))
|
||||
|
||||
The detective habit is about looking back at a scenario that I found hard, analysing it with non-judgemental eyes, and giving thought and consideration to what could have caused the stress. Once I identify the triggers, I then make plans to support myself when exposed to the identified triggers. [View Highlight](https://read.readwise.io/read/01j6tbq246p82d1yr80dj96dwx))
|
||||
|
||||
How to Use the Detective Habit ... What happened?
|
||||
• What did I feel? Did I feel stressed, scared, out of control, angry etc.?
|
||||
• Was there anything in the environment that could have been a trigger? Was there a sensory stressor? ... Did the environment mean there was too much information to take in at once? Did the environment create challenges for any of my executive function skills? ... • At what point did I start to feel a stress response? Was it when someone started talking to me? Was it when someone tried to get eye contact? Was it when I walked into a shop? Was it when the environment changed? Was it at the point of transitioning from one task to another? ... Were my basic needs met before I encountered the trigger? By basic needs, I mean hunger, thirst, sleep, body temperature, and physical comfort. ... • What were my strengths in the situation, i.e. what did I manage well? Which of my strengths could I use in similar scenarios in future?
|
||||
• What would have helped me to feel more comfortable, or avoid becoming stressed and/or overwhelmed?
|
||||
• What coping strategies could I use if that situation happens again, or if I’m exposed to the same trigger or triggers?
|
||||
|
||||
The DSM-5 (Diagnostic and Statistical Manual, 5th edition) is the American Psychiatric Association’s guide to mental illness and disorders, including diagnosing autistic people. It suggests that autistic people have rigid thinking, insist on sameness, are inflexible, and are overly ritualised. ... What the DSM-5 doesn’t explain properly, in my opinion, is that many of these diagnostic traits come out when we are stressed, but may improve when we are calm and happy.
|
||||
|
||||
Every time I came up with a coping strategy, I asked myself what strength I was using to develop that strategy. [View Highlight](https://read.readwise.io/read/01j6tca09mxawkj3xcah30yy47))
|
||||
|
||||
Interestingly, an autistic friend of mine lately told me about her strategy for getting the staff to turn down the music in restaurants. She taps her ear and says to the staff, ‘My hearing aid is buzzing from the music being so loud, could you please turn it down?’ It works every time. I expressed my discomfort with this as it’s a blatant lie (she has no hearing aid), and she said, ‘No, it’s not a lie, my ear is a hearing aid, in a way, and my ear hears the loud music as a horrible buzzing’. [View Highlight](https://read.readwise.io/read/01j6tcjsnfvnr1kz1906cpz5mz))
|
||||
|
||||
Sometimes I’m not aware of my own triggers, or autistic differences, until someone else points them out to me. ... Validating the feelings of an autistic person is one of the best things someone else can do to support that autistic person, especially in times of stress. ... if you plan to ask others about your own triggers and traits, be prepared for some surprises, and be aware that you may find some observations upsetting.
|
||||
|
||||
When I first began to identify my triggers, my first thought was ‘Now I know what to avoid’. But I soon realised that I would become agoraphobic if I tried to live a life avoiding all my triggers. I also wouldn’t be able to experience so many things that bring me joy. [View Highlight](https://read.readwise.io/read/01j6wyjkm7shc41zxzk5c6xzev))
|
||||
|
||||
I therefore realised that I cannot shut all triggers out of my life; instead I need to learn to deal with them. Taking control of my triggers means taking care of myself while still living a full life. This involves planning and preparing myself to cope with triggers. [View Highlight](https://read.readwise.io/read/01j6wyprn8vttk71kp619rt10n))
|
||||
|
||||
One of the ways I take control of my triggers is by rationing them out. This means being careful that I don’t plan too many triggering events or activities close together. By spreading triggers out, I give myself time to recover after each one, and time to prepare and plan for the next one. [View Highlight](https://read.readwise.io/read/01j6wyr4pg3m4n08ysqth3tgz7))
|
||||
|
||||
The world is full of triggers, and dealing with them takes energy, mental planning, and work. I don’t have infinite energy to cope with triggers; I need time to rest and refuel my energy levels. I therefore pre-emptively plan time for myself to rest or decompress during and after social situations, or any situation that I know will require a lot of my coping strategies. [View Highlight](https://read.readwise.io/read/01j6wz0zc2hkz1z4417922tkks))
|
||||
|
||||
KEY POINTS
|
||||
◊ Triggers are things that set off a stress response in our brains, and make our body feel the need to fight, flight, or freeze.
|
||||
◊ Autistic people can get overwhelmed or stressed from exposure to their triggers.
|
||||
◊ Every autistic person has different triggers, so it’s important to get to know your own.
|
||||
◊ The detective habit is a method of reflection that can help identify one’s triggers, and then create strength-based coping strategies.
|
||||
◊ Other people can be helpful in identifying your triggers, but take caution that the person you ask is sensitive and uncritical.
|
||||
◊ Autistic people can react differently to triggers at different times. If your basic needs are not met, or if you are stressed, you are more likely to react strongly to a trigger.
|
||||
◊ Rationing out your triggers helps avoid triggers building up and becoming overwhelming.
|
||||
◊ Planning time to rest after a build-up of triggers is really important, as is having a few techniques to calm yourself when out and about. [View Highlight](https://read.readwise.io/read/01j6wz69za3httx5ksj1zz0hnq))
|
||||
|
||||
15
_master_wiki/Readwise/Making a Blog With Rust.md
Normal file
15
_master_wiki/Readwise/Making a Blog With Rust.md
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# Making a Blog With Rust
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[mckayla.blog]]
|
||||
- Full Title: Making a Blog With Rust
|
||||
- Category: #articles
|
||||
- URL: https://mckayla.blog/posts/making-a-blog-with-rust.html
|
||||
> [!tldr]
|
||||
> The author created a personal blog using Rust, aiming for an easy writing experience and control over the site’s generation. They chose Rust for its simplicity and productivity, despite its reputation for being complex. The blog's framework, called Pocky, allows publishing posts easily through Markdown and Git without extra fuss.
|
||||
|
||||
## Highlights
|
||||
I'm a hacker to my core. I love to poke at things, tear things apart, and shuffle around the parts as I put them back together. - ([View Highlight](https://read.readwise.io/read/01j6ax5r2tem9q9dx3ctw86mj1))
|
||||
|
||||
34
_master_wiki/Readwise/On finishing things.md
Normal file
34
_master_wiki/Readwise/On finishing things.md
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# On finishing things
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[alexreichert.com]]
|
||||
- Full Title: On finishing things
|
||||
- Category: #articles
|
||||
- URL: https://www.alexreichert.com/blog/finishing
|
||||
|
||||
> [!note]
|
||||
> **Background:** I aim to enhance my efficiency in project management to better organize, execute, and share my personal projects, ensuring that I can bring them to completion while maintaining accountability and clarity in my goals.
|
||||
> ### Key Takeaways:
|
||||
> 🚀 **Establish Clear Project Specifications:**
|
||||
> Create detailed project specifications upfront, outlining goals, requirements, and expectations. This will help clarify the end goal and provide a roadmap to follow, reducing the likelihood of getting sidetracked by perfectionism or indecision.
|
||||
> ⏰ **Implement Timeboxing:**
|
||||
> Set specific deadlines for each project to instill a sense of urgency and accountability. This strategy helps combat procrastination and promotes discipline, ensuring that projects are completed in a timely manner.
|
||||
> 🌍 **Share Work Publicly:**
|
||||
> Regularly share your projects and progress with a wider audience. This not only fosters accountability but also encourages you to reflect on your work more rigorously. Sharing can provide valuable feedback and boost motivation, knowing that others are invested in your progress.
|
||||
> [!tldr]
|
||||
> Finishing projects can be really challenging, as it's often unclear when something is truly complete. Sharing work publicly can help overcome this difficulty and offer personal growth, accountability, and potential connections. To improve, setting clear goals and deadlines can make it easier to push through to the finish line.
|
||||
|
||||
## Highlights
|
||||
This begs the question: why is it important to share your work with the world?
|
||||
First, because there's practically no downside, and very, very high potential upside. - [[favorite]] - ([View Highlight](https://read.readwise.io/read/01j68aj6hyksvsfzm62xr7y5k7))
|
||||
|
||||
because it's weirdly therapeutic. In the same way that journaling can alleviate anxiety by externalizing it, writing publicly encourages you to process your thoughts more rigorously, and launching an app forces you to find out if your idea has legs or not. - [[productivity]] - ([View Highlight](https://read.readwise.io/read/01j68akfqnw95egtaczyadh2z8))
|
||||
|
||||
First of all, more often than not, the end goal is neither clear nor concrete. It's not obvious where the "finish line" even is. When this is the case, it's easy to procrastinate by nitpicking the design, adding little flourishes, or using "perfectionism" as an excuse. - [[favorite]] [[productivity]] - ([View Highlight](https://read.readwise.io/read/01j68anqkv399fr50q8qhehvgm))
|
||||
|
||||
I think there are two strategies that would help a lot: 1) writing a spec (i.e. a plan) upfront, and 2) timeboxing the project by giving myself a deadline. - [[productivity]] [[favorite]] - ([View Highlight](https://read.readwise.io/read/01j68aq1fbhqx79hp9mnvn39n1))
|
||||
|
||||
I've started setting up a [projects page](https://www.alexreichert.com/projects), where I plan to share the specs, demos, and retrospectives of my personal projects. Even for the "unfinished" ones, sharing them here gives me a small sense of closure. - ([View Highlight](https://read.readwise.io/read/01j68ath2r2az2v2hwzc6y7jxt))
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
# Own Your Content on Social Media Using the IndieWeb
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Jamstack TV]]
|
||||
- Full Title: Own Your Content on Social Media Using the IndieWeb
|
||||
- Category: #articles
|
||||
- Document Tags: [[dev]] [[indie-web]] [[selfhosted]]
|
||||
- URL: https://www.youtube.com/watch?v=X3SrZuH00GQ
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=Own%20Your%20Content%20on%20Social%20Media%20Using%20the%20IndieWeb
|
||||
> [!tldr]
|
||||
> The video discusses how to take control of your content on social media by using your own website. It emphasizes the importance of owning your data so you can manage it on your own terms, rather than relying solely on social media platforms. By creating personal sites, you can archive and share your content while maintaining ownership and creative control.
|
||||
|
||||
## Highlights
|
||||
here a couple of my favorite ones that include some indie web stuff max bulk Mattias OTT Jeremy Keith Charlie Owen Erin Pirozhki and Paul Paul Robert Lloyd I've really done a nice job with their sites [View Highlight](https://read.readwise.io/read/01j55sdfykg3xfaj3ehnwj2rf4)) [[design]]
|
||||
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
# PARA Method and Zettelkasten: What’s The Difference?
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[mattgiaro]]
|
||||
- Full Title: PARA Method and Zettelkasten: What’s The Difference?
|
||||
- Category: #articles
|
||||
- Document Tags: [[notetaking]] [[productivity]]
|
||||
- URL: https://mattgiaro.com/para-method-and-zettelkasten/
|
||||
> [!tldr]
|
||||
> The PARA method organizes digital information into Projects, Areas, Resources, and Archive, focusing on actionability. In contrast, Zettelkasten is a note-taking method that emphasizes linking ideas without a strict structure to foster new insights. While both methods can be used together, they serve different purposes and should not be confused.
|
||||
|
||||
## Highlights
|
||||
PARA is an acronym for Projects, Areas, Resources, and Archive.
|
||||
It’s a way of organizing all digital information.
|
||||
Re-read this sentence again. [View Highlight](https://read.readwise.io/read/01j6mjrgpc2gnjjwzpzyr7ndgc))
|
||||
|
||||
the Zettelkasten is a note-taking method. it focuses on links between notes and how to think in associations.
|
||||
When dissecting and studying the Zettelkasten method, you see that all notes are contained within ONE slip box, and are linked between them.
|
||||
There is absolutely no structure. [View Highlight](https://read.readwise.io/read/01j6mjs40nymdj2zsnjk4rwm42))
|
||||
|
||||
**Zettelkasten is a note-taking method designed to spart new insights. PARA is not. It’s a way of organizing files and information for a specific project.** [View Highlight](https://read.readwise.io/read/01j6mjsp1f97yprmm81h7c6nn7))
|
||||
|
||||
So people who look to implement the zettelkasten methodology using PARA didn’t get the point of both methodologies. [View Highlight](https://read.readwise.io/read/01j6mjxkq0a5z7m3w967zj3xxz))
|
||||
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
# Project People vs. Area People: Are You Running a Sprint Or a Marathon?
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Tiago Forte]]
|
||||
- Full Title: Project People vs. Area People: Are You Running a Sprint Or a Marathon?
|
||||
- Category: #articles
|
||||
- Document Tags: [[productivity]]
|
||||
- URL: https://fortelabs.com/blog/project-people-vs-area-people-are-you-running-a-sprint-or-a-marathon/
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=Project%20People%20vs.%20Area%20People%3A%20Are%20You%20Running%20a%20Sprint%20Or%20a%20Marathon%3F
|
||||
|
||||
> [!note]
|
||||
> Goal: The intent is to enhance productivity by effectively organizing tasks into projects and areas of responsibility, enabling better focus and balance in work and life.
|
||||
> - [ ] 🗓️ **Establish a daily routine** to create structure and consistency in work and personal life.
|
||||
> - [ ] 🎯 **Set specific deadlines** for tasks to promote urgency and focus on achieving desired outcomes.
|
||||
> - [ ] 🌳 Take regular breaks and engage in nature to recharge and maintain mental clarity.
|
||||
> - [ ] 📝 **Maintain a journal** to reflect on thoughts and anxieties, aiding in self-awareness and emotional balance.
|
||||
> - [ ] 🌟 **Evaluate the balance** between project-focused work and ongoing areas of responsibility to ensure sustainable productivity.
|
||||
> - [ ] 🚀 **Break larger projects into smaller tasks** with milestones to track progress and maintain motivation.
|
||||
> - [ ] 🧘♂️ Integrate a mindful practice, such as meditation, to cultivate awareness and reduce stress.
|
||||
> [!tldr]
|
||||
> The author, Tiago Forte, suggests organizing work into two categories: projects, which are short-term tasks with specific outcomes, and areas of responsibility, which are ongoing aspects of life that require maintenance. He emphasizes the importance of balancing both, as projects provide excitement and achievement, while areas foster peace and fulfillment. By understanding and managing these categories effectively, individuals can improve their productivity and well-being.
|
||||
|
||||
## Highlights
|
||||
A **project** is any endeavor that has:
|
||||
1) A desired *outcome* that will enable you to mark it “complete”
|
||||
2) A *deadline* or timeframe by which you’d like it done. [View Highlight](https://read.readwise.io/read/01j5p8akz4t1csffcf6ps9rj56))
|
||||
|
||||
An **area of responsibility** has 1) a *standard* to be maintained that 2) is continuous over time. [View Highlight](https://read.readwise.io/read/01j5p8aqhhnkykx9aw3f5jk4an))
|
||||
|
||||
Areas are crucial to your wellbeing, security, fulfillment, and peace of mind. Whereas projects have outcomes, areas have *standards* *of performance* that you want to maintain. [View Highlight](https://read.readwise.io/read/01j5p8ex5f82m4zjkzte47n5f1))
|
||||
|
||||
Once you view your life through the lens of discrete projects and continuous areas, it becomes clear that both of these structures are essential. Projects bring you excitement, achievement, and recognition, whereas areas bring you balance, peace, and meaning. [View Highlight](https://read.readwise.io/read/01j5p8h36864xvfwed8kx1wbv3))
|
||||
|
||||
Every project requires a “heavy lift” to some degree, but those heavy lifts are far more powerful and effective (and brief) when you’ve already been collecting material in a “slow burn.” __It is only when heavy lifts become a chronic, default way of approaching everything that they lead to burnout and exhaustion__. [View Highlight](https://read.readwise.io/read/01j5p8mmxvbt84hm0zh4ecky0p))
|
||||
|
||||
“Project people” are good at sprints. Give them a clear goal and a path to get there, and they will ferociously chase after it with everything they have. [View Highlight](https://read.readwise.io/read/01j5p8nq7mx2gcg1bkbebk7jb7))
|
||||
|
||||
But the weakness of sprinters is that once they’ve reached their goal, they will often have trouble keeping it going. They will often change direction and run after the next goal, leaving their past achievements to wither. Sprinters are prone to starting many things and getting obsessed for a short time, before moving abruptly to something else. [View Highlight](https://read.readwise.io/read/01j5p8ph0pee8fazkr6jcn9e52))
|
||||
|
||||
“Area people” excel at marathons. Send them on a long journey with some supplies and they will doggedly keep at it for as long as it takes. [View Highlight](https://read.readwise.io/read/01j5p8pnmq54457hb2a9fwkyby))
|
||||
|
||||
The weakness of marathoners is that they often have trouble generating a lot of power on short notice. When an opportunity opens up that requires quick, decisive action, they’ll have difficulty changing direction and drawing down their reserves to chase it down [View Highlight](https://read.readwise.io/read/01j5p8q8wmf4j78vppmcst8fe4))
|
||||
|
||||
Projects require you to be **laser-focused,** to ferociously drive toward an outcome, **to overcome or circumvent obstacles**, and to **ignore distractions along the way**. Areas, on the other hand, require **mindfulness, balance, and reflection**. This is the realm of **habits, rituals, and intentional communities**. Whereas projects tend to be more black and white, areas require more introspection and self-awareness because it takes more nuance to decide if you are meeting your standard in a given area. [View Highlight](https://read.readwise.io/read/01j5p8zgbrdb2x0dc8v9aba3pc))
|
||||
|
||||
If you are a “Project person” and want to improve your ability to sustain your areas, here are some techniques you can try:
|
||||
• Adopt a morning or evening routine
|
||||
• Set limits to your working hours
|
||||
• Take regular breaks and walks in nature
|
||||
• Journal and write out your internal anxieties and thoughts
|
||||
• Create a meditation habit (or other mindful habit)
|
||||
• Set your intentions each day, week, month, or year
|
||||
• Evaluate your schedule for a balance of intense work and healthy, mindful activities [View Highlight](https://read.readwise.io/read/01j5p94wamdw1k24avskcd8vd2)) [[review/plan]] [[favorite]]
|
||||
> [!note]
|
||||
> Implement
|
||||
|
||||
We all know the importance of work-life balance and healthy boundaries, but once in a while we have to let all that go and focus every ounce of energy we have on a singular outcome. This is, by definition, unsustainable. But that is why it’s so important to move fast and break through barriers as quickly as possible: __the faster you reach your objective, the sooner you can stop to rest and recover__. [View Highlight](https://read.readwise.io/read/01j5p9bh2gd06bbgmgyp9tn7ef))
|
||||
|
||||
Some seasons of our lives are all about the journey, but others are more like sprints.
|
||||
*Source: [The Universe Will Now Explode for Your Pleasure](https://us1.campaign-archive.com/?u=78cbbb7f2882629a5157fa593&id=c4f01c7ab5) by Venkatesh Rao* [View Highlight](https://read.readwise.io/read/01j5p9fyk6bjw8gg0v5n09q5yx))
|
||||
|
||||
16
_master_wiki/Readwise/Reader Frequently Asked Questions.md
Normal file
16
_master_wiki/Readwise/Reader Frequently Asked Questions.md
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# Reader: Frequently Asked Questions
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Daniel Doyon]]
|
||||
- Full Title: Reader: Frequently Asked Questions
|
||||
- Category: #articles
|
||||
- URL: https://blog.readwise.io/p/f8c0f71c-fe5f-4025-af57-f9f65c53fed7/
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=Reader%3A%20Frequently%20Asked%20Questions
|
||||
> [!tldr]
|
||||
> You can save articles to Reader using the browser extension or the mobile app, and highlights sync with Readwise. Reader allows you to highlight text and images while reading on the web, and all highlights are accessible in the app and synced to your note-taking apps. To manage your articles, you can move them to your Library and create custom views based on your preferences.
|
||||
|
||||
## Highlights
|
||||
 [View Highlight](https://read.readwise.io/read/01j53426gkd6xdb1bkxftyezfd))
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
# SIMPLIFY Your Python Code With the Facade Pattern
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Isaac Harris-Holt]]
|
||||
- Full Title: SIMPLIFY Your Python Code With the Facade Pattern
|
||||
- Category: #articles
|
||||
- Document Tags: [[dev]] [[dev/design-patterns]]
|
||||
- URL: https://www.youtube.com/watch?v=tCzmda1VCUQ
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=SIMPLIFY%20Your%20Python%20Code%20With%20the%20Facade%20Pattern
|
||||
> [!tldr]
|
||||
> The facade pattern is a design approach that simplifies complex code by providing a user-friendly interface. It helps developers hide underlying complexities, making it easier to work with libraries and frameworks. By using this pattern, you can create cleaner and more efficient Python code.
|
||||
|
||||
## Highlights
|
||||
You could think of the facade pattern almost like a wrapper around one or many complex subsystems making them **easier to interact with**. [View Highlight](https://read.readwise.io/read/01j5qry2jq70c28ebz4zdeqe8z)) [[dev]]
|
||||
|
||||
61
_master_wiki/Readwise/SQLite is not a toy database.md
Normal file
61
_master_wiki/Readwise/SQLite is not a toy database.md
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
# SQLite is not a toy database
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Anton Zhiyanov]]
|
||||
- Full Title: SQLite is not a toy database
|
||||
- Category: #articles
|
||||
- Document Tags: [[dev]] [[dev/sql]]
|
||||
- URL: https://antonz.org/sqlite-is-not-a-toy-database/
|
||||
|
||||
> [!note]
|
||||
> **Background:** Utilize SQLite for a wider array of applications beyond merely functioning as a basic data storage solution.
|
||||
> ### Key Takeaways:
|
||||
> 📊 **Leverage Advanced Indexing Capabilities:**
|
||||
> SQLite supports partial indexes and indexes on expressions, enabling the creation of efficient indexes on generated columns. This functionality allows users to transform SQLite into a document database by storing raw JSON and indexing on extracted JSON fields.
|
||||
> 📝 **Utilize Built-in Statistical Functions:**
|
||||
> SQLite makes it easy to perform descriptive statistics, such as calculating mean, median, and percentiles, with minimal setup. By loading the sqlite3-stats extension, users can execute complex statistical queries in a straightforward manner, enhancing data analysis capabilities.
|
||||
> 📁 **Seamless JSON Data Handling:**
|
||||
> SQLite excels at analyzing and transforming JSON data, allowing users to directly query JSON files as if they were regular tables. This feature simplifies data manipulation, making it convenient for users to extract and analyze JSON information efficiently.
|
||||
> [!tldr]
|
||||
> SQLite is highlighted as a versatile tool suitable for developers, data analysts, and various professionals due to its widespread use, serverless nature, and ease of integration. The database console feature is particularly praised for its data analysis capabilities and simplicity, offering powerful functions like CSV import, SQL query support, and various export options. Additionally, SQLite's compatibility with data exploration tools and its efficiency in processing large datasets make it a robust choice for those working with JSON, Common Table Expressions, set operations, generated columns, and mathematical statistics. The document also touches on SQLite's performance capabilities, handling hundreds of millions of records efficiently, with insert speeds improving when connecting CSV files as virtual tables.
|
||||
|
||||
## Highlights
|
||||
The console is a killer SQLite feature for data analysis: more powerful than Excel and more simple than `pandas`. One can import CSV data with a single command, the table is created automatically:
|
||||
> .import --csv city.csv city
|
||||
> select count(*) from city;
|
||||
1117 [View Highlight](https://read.readwise.io/read/01j6hehc1ap6yxya4135j8z7d1))
|
||||
|
||||
Data could be exported as SQL, CSV, JSON, even Markdown and HTML. Takes just a couple of commands:
|
||||
.mode json
|
||||
.output city.json
|
||||
select city, foundation_year, timezone from city limit 10;
|
||||
.shell cat city.json [View Highlight](https://read.readwise.io/read/01j6hekgzt1yg4dse4xt6kqec4))
|
||||
|
||||
There is nothing more convenient than SQLite for analyzing and transforming JSON. You can select data directly from a file as if it were a regular table. Or import data into the table and select from there.
|
||||
select
|
||||
json_extract(value, '$.iso.code') as code,
|
||||
json_extract(value, '$.iso.number') as num,
|
||||
json_extract(value, '$.name') as name,
|
||||
json_extract(value, '$.units.major.name') as unit
|
||||
from
|
||||
json_each(readfile('currency.sample.json'))
|
||||
; [View Highlight](https://read.readwise.io/read/01j6henb91d2vd1d43x4yj6e5w))
|
||||
|
||||
Descriptive statistics? Easy: mean, median, percentiles, standard deviation, you name it. You’ll have to load an extension, but it’s also a single command (and a single file).
|
||||
.load sqlite3-stats
|
||||
select
|
||||
count(*) as book_count,
|
||||
cast(avg(num_pages) as integer) as mean,
|
||||
cast(median(num_pages) as integer) as median,
|
||||
mode(num_pages) as mode,
|
||||
percentile_90(num_pages) as p90,
|
||||
percentile_95(num_pages) as p95,
|
||||
percentile_99(num_pages) as p99
|
||||
from books; [View Highlight](https://read.readwise.io/read/01j6hev7qj7qyszxhwft53r1w9))
|
||||
|
||||
There is a popular opinion among developers that SQLite is not suitable for the web, because it doesn’t support concurrent access. ... the write-ahead log mode ... there can be as many concurrent readers as you want. There can be only one concurrent writer, but often one is enough.
|
||||
|
||||
SQLite supports partial indexes and indexes on expressions, as ‘big’ DBMSs do. You can build indexes on generated columns and even turn SQLite into a document database. Just store raw JSON and build indexes on `json_extract()`-ed columns [View Highlight](https://read.readwise.io/read/01j6hf4c5250yyf6871sphxenm))
|
||||
|
||||
35
_master_wiki/Readwise/Site Design Standards.md
Normal file
35
_master_wiki/Readwise/Site Design Standards.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# Site Design Standards
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Rohan Kumar]]
|
||||
- Full Title: Site Design Standards
|
||||
- Category: #articles
|
||||
- Document Tags: [[dev]] [[indie-web]]
|
||||
- URL: https://seirdy.one/meta/site-design/#static-indieweb
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=Site%20Design%20Standards
|
||||
> [!tldr]
|
||||
> The website seirdy.one focuses on high accessibility standards, adhering to most Web Content Accessibility Guidelines (WCAG) while continuously improving link purpose clarity. It is compatible with various browsers, including older ones, and uses semantic, well-structured markup to enhance content accessibility. The site also incorporates IndieWeb features, allowing interactions like Webmentions, while planning future enhancements.
|
||||
|
||||
## Highlights
|
||||
I only set custom colors in response to the `prefers-color-scheme: dark` media query. These custom colors have an Advanced Perceptual Contrast Algorithm (APCA) lightness contrast close to the ideal value of 90. I use autism- and overstimulation-friendly colors: the yellow links have low saturation to reduce harshness. [View Highlight](https://read.readwise.io/read/01j6q0y08pr5az55kbqx1za16z)) [[design]]
|
||||
> [!note]
|
||||
> Be carefull with over stimulation design
|
||||
|
||||
I run axe-core, the IBM Equal Access Accessibility Checker, the Nu HTML Checker (local build, latest commit), and webhint on every page in my sitemap. After filtering out false-positives (and reporting them upstream), I receive no errors. I repeat this run with every change to my Hugo templates and stylesheets. [View Highlight](https://read.readwise.io/read/01j6q1k4ha86p96pnhz2m9szcp)) [[dev/accesibility]]
|
||||
|
||||
This website conforms to Web standards. Each build runs `xmllint` to catch syntax errors. Every few commits, I run a local build of [the Nu HTML Checker](https://github.com/validator/validator) and [html proofer](https://github.com/gjtorikian/html-proofer), and see no errors. I do [filter out false Nu positives](https://git.sr.ht/~seirdy/seirdy.one/tree/master/item/linter-configs/vnu_filter.jq), and I [report and fix false-positives](https://github.com/w3c/css-validator/issues?q=author%3ASeirdy) when possible. [View Highlight](https://read.readwise.io/read/01j6q1vgnhs9b2rqh77xxw9y5v)) [[dev/web-dev]]
|
||||
|
||||
[The IndieMark page](https://indieweb.org/IndieMark) lists all the ways you can “IndieWeb-ify” your site. [View Highlight](https://read.readwise.io/read/01j6q2cs5dpg7dc3qb130600n8)) [[indie-web]]
|
||||
|
||||
IndieWeb features implemented
|
||||
I’ve implemented several features from IndieMark:
|
||||
• IndieAuth compatibility, using the external [IndieLogin.com service](https://indielogin.com/).
|
||||
• Microformats: representative `h-card`, in-text `h-card` and `h-cite` when referencing works, `h-feed`.
|
||||
• Sending and receiving Webmentions. I receive Webmentions with [webmentiond](https://github.com/zerok/webmentiond), and send them from my own computer using [Pushl](https://github.com/PlaidWeb/Pushl/).
|
||||
• Displaying Webmentions: I render backlinks, IndieWeb “likes” (not silo likes), and comments below posts. I model their appearance after Tumblr’s display of interactions.
|
||||
• Backfeeding content from silos: I’m only interested in backfilled content containing discussion, not “reactions” or “likes”. Powered by [Bridgy](https://brid.gy/). [View Highlight](https://read.readwise.io/read/01j6q2a4dcrmq9eegvrsgz1hja)) [[indie-web]]
|
||||
|
||||
IndieWeb sites need not implement *every* IndieWeb standard. Progressive enhancement and graceful degradation let me implement interesting features, and skip less interesting ones. Skipped features include: [View Highlight](https://read.readwise.io/read/01j6q2j1gyftbdbr59hsggy34t))
|
||||
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
# Software Deployment Models – Explained for Beginners
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[freeCodeCamp.org]]
|
||||
- Full Title: Software Deployment Models – Explained for Beginners
|
||||
- Category: #articles
|
||||
- Document Tags: [[dev]]
|
||||
- URL: https://www.freecodecamp.org/news/software-deployment-models/
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=Software%20Deployment%20Models%20%E2%80%93%20Explained%20for%20Beginners
|
||||
> [!tldr]
|
||||
> Software deployment models refer to the different ways in which software code can be deployed. This article explores various deployment models, including client/server computing, thin and fat client architectures, microservices, and Application Programming Interfaces (APIs). Client/server computing involves splitting computing tasks between clients and servers, with clients making requests and servers providing services or resources. Thin client architectures place most of the processing on the server side, while fat client architectures handle both the presentation layer and application logic on the client machine. Microservices involve dividing applications into smaller, independent services that communicate over a network, while APIs enable communication and integration between different software applications. The article also briefly touches on web applications, single page applications (SPAs), and different types of APIs, such as open APIs and REST APIs.
|
||||
|
||||
## Highlights
|
||||
Client/server computing architectures are a type of distributed computing architecture in which computing tasks are split between two types of machines: clients and servers. [View Highlight](https://read.readwise.io/read/01j59dqe78wf56va1yz6gb3df0))
|
||||
|
||||
The client/server architecture provides several advantages, including:
|
||||
• Scalability, meaning that servers can be added or removed from the network as demand changes. This allows the system to scale up or down as needed without having to make changes on the clients.
|
||||
• Centralization, which means that by centralizing resources on servers, it is easier to manage and control access to those resources, and to enforce security policies. [View Highlight](https://read.readwise.io/read/01j59dqwmj1saw3r59nt5qy2v8))
|
||||
|
||||
In a *thin* client architecture, the client machine is responsible for only the presentation layer, while the application logic and data processing are handled on the server side. __Thin clients typically have limited processing power and memory, and rely heavily on network connectivity to function__. [View Highlight](https://read.readwise.io/read/01j59drt66pd1rvgzhqdk6jvae))
|
||||
|
||||
On the other hand, in a *fat* client architecture, the client machine is responsible for both the presentation layer and the application logic. The client machine typically has more processing power and memory, and can execute code and process data locally. [View Highlight](https://read.readwise.io/read/01j59dtzv6kms42sp02x7p6rz6))
|
||||
|
||||
Now, should you design your software as a microservices or monolith architecture? In a *monolith* architecture, the entire application is built as a single, self-contained unit. All functionality, from data access to user interface, is bundled together in one codebase and deployed as a single unit. [View Highlight](https://read.readwise.io/read/01j59dx0jgkzhxpcsrbvhmb8p5))
|
||||
|
||||
Web applications are software applications that are accessed through a web browser over a network such as the Internet. The purpose of web applications is to provide users with a convenient and accessible way to perform various tasks and access services over the web. [View Highlight](https://read.readwise.io/read/01j59dzd3j41bgbampr7rqjsxd))
|
||||
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
# THE ZETTELKASTEN MANIFESTO | What is a Zettelkasten?
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Zettlr]]
|
||||
- Full Title: THE ZETTELKASTEN MANIFESTO | What is a Zettelkasten?
|
||||
- Category: #articles
|
||||
- Document Tags: [[notetaking]]
|
||||
- URL: https://www.zettlr.com/post/what-is-a-zettelkasten
|
||||
|
||||
> [!note]
|
||||
> This is the definitive explanation of a Zettlelkasten
|
||||
> [!tldr]
|
||||
> Website traffic analytics show high interest in the Zettelkasten method, which is a knowledge management system. Users seek simple answers to complex problems of managing knowledge effectively. Structuring notes and self-reflection are key components of creating a personalized Zettelkasten system.
|
||||
|
||||
## Highlights
|
||||
We live in a society that likes a dead-simple approach to problems; one solution each. But a Zettelkasten evades this 21st-century mindset. A Zettelkasten is a multitude of different approaches to a common problem — the problem of knowledge management. - ([View Highlight](https://read.readwise.io/read/01j60nacy93812ptm2c0fh226q))
|
||||
|
||||
there is not *the* Zettelkasten approach — but one for every human being living on this planet. - [[notetaking]] - ([View Highlight](https://read.readwise.io/read/01j62awnqp75y0p29mgp8werra))
|
||||
|
||||
It does not help to copy a workflow by a different person, because a Zettelkasten must at all costs reflect the working habits of the person using it. - ([View Highlight](https://read.readwise.io/read/01j62b22nehaew7g0y0g2cw3fg))
|
||||
|
||||
The first thing you must respect when beginning to structure your knowledge is exactly that: a certain structure. This is what people like us can explain to you and help you with. But the second thing is where you are completely on your own: self reflection. __To manage your knowledge, you have to know how you work__. - [[favorite]] - ([View Highlight](https://read.readwise.io/read/01j62b418gmqzv0j2ng9wg4pw6))
|
||||
|
||||
The structure of a Zettelkasten is fairly easy described: It's a database. It is simply a place where you file your knowledge in a semi-structured way. - ([View Highlight](https://read.readwise.io/read/01j62hpbfbv82tkf6kq9b3ddef))
|
||||
|
||||
The more important part of a Zettelkasten therefore is self reflection. You need to be constantly on the watch for how *you* work. - ([View Highlight](https://read.readwise.io/read/01j62hsdeyxwtxf429t43ve5rb))
|
||||
|
||||
Do not listen too much to too specific advises on how to start a Zettelkasten. Just start and use the structure *you* need. And stop reading tutorials on Zettelkästen. - ([View Highlight](https://read.readwise.io/read/01j62hvprnrb55xhvd525v03ww))
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
# The Definitive Guide to Docker Swarm
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Gabriel Tanner]]
|
||||
- Full Title: The Definitive Guide to Docker Swarm
|
||||
- Category: #articles
|
||||
- URL: https://gabrieltanner.org/blog/docker-swarm/
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=The%20Definitive%20Guide%20to%20Docker%20Swarm
|
||||
> [!tldr]
|
||||
> This text is a guide to Docker Swarm, a tool to scale and manage Docker projects easily. Docker Swarm helps in load balancing, cluster management, and service deployment within a cluster of Docker hosts. It provides features like replicated and global services, scaling, and rolling updates for efficient container management.
|
||||
|
||||
## Highlights
|
||||
After the registry is running we can continue with pushing the local image to the registry using the **push** command.
|
||||
docker-compose push [View Highlight](https://read.readwise.io/read/01j5js3hxamp3s08ebhf5ka502))
|
||||
> [!note]
|
||||
> Se puede subir una imagen desde un compose.yml file
|
||||
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
# The Strategy Pattern Will Make Your Python Code CLEANER
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Isaac Harris-Holt]]
|
||||
- Full Title: The Strategy Pattern Will Make Your Python Code CLEANER
|
||||
- Category: #articles
|
||||
- Document Tags: [[dev]] [[dev/design-patterns]]
|
||||
- URL: https://www.youtube.com/watch?v=hVLb3-OE3pM
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=The%20Strategy%20Pattern%20Will%20Make%20Your%20Python%20Code%20CLEANER
|
||||
> [!tldr]
|
||||
> The strategy pattern is a design method that helps organize code by separating different algorithms into distinct classes. This makes code cleaner, more modular, and easier to maintain, allowing for easy changes at runtime without extensive conditional statements. By using this pattern, developers can enhance their code's flexibility while keeping it readable and manageable.
|
||||
|
||||
## Highlights
|
||||
the strategy pattern is a design pattern that allows you to cleanly separate different algorithms and behaviors into separate classes.
|
||||
__Each algorithm implements a common interface__ so you can easily switch between them at runtime without having to modify your core code. [View Highlight](https://read.readwise.io/read/01j5qs5ace2bghpggy8trfaz6r))
|
||||
> [!note]
|
||||
> Is this kinda the same as the factory class?
|
||||
|
||||
we're going to use Python's protocol typeint protocol is like an interface in other languages it allows you to define the methods an object
|
||||
should have without knowing the implementation details up front [View Highlight](https://read.readwise.io/read/01j5qsbjkgnknchvq55mj1eec6))
|
||||
|
||||
you may be wondering why you might pick Python's protocol over using an abstract base
|
||||
class or ABC unlike ABC's Protocols are duct typed meaning you don't have to explicitly inherit from them in order to implement them [View Highlight](https://read.readwise.io/read/01j5qsjaf9qdk5a5d46drkv43e))
|
||||
|
||||
Protocols are duct typed [View Highlight](https://read.readwise.io/read/01j5qsr9779888tpa2mp6w0438))
|
||||
> [!note]
|
||||
> In "The Strategy Pattern Will Make Your Python Code CLEANER," Isaac Harris-Holt uses the term "Protocols are duct typed" to describe how Python's protocol mechanism allows objects to be used interchangeably based solely on their method signatures, rather than requiring explicit inheritance from a protocol. This flexibility enables developers to integrate external libraries or new classes into their code without needing to modify existing structures, as long as the new objects conform to the expected method definitions. Essentially, duct typing promotes a more modular and adaptable coding style, where compliance with an interface is determined by the presence of specified methods rather than formal inheritance.
|
||||
|
||||
the power of the single method interface it allows you to write modular extensible and
|
||||
flexible code it's easily testable and very readable [View Highlight](https://read.readwise.io/read/01j5qsr0gh3pvf1w3j0jtqm0ez))
|
||||
|
||||
you'll see this pattern used a lot particularly in languages like go where the standard library has single method interfaces like io.writer and io.reader the truly powerful thing here is that these interfaces are used by the standard Library so if you implement a read method on your struct you can use it in standard Library functions without having to do any manual type conversions [View Highlight](https://read.readwise.io/read/01j5qswey6zs8mdgxjnv71v4gy))
|
||||
> [!note]
|
||||
> Usages
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
# The Waiting Time Paradox, or, Why Is My Bus Always Late?
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[jakevdp.github.io]]
|
||||
- Full Title: The Waiting Time Paradox, or, Why Is My Bus Always Late?
|
||||
- Category: #articles
|
||||
- URL: https://jakevdp.github.io/blog/2018/09/13/waiting-time-paradox/
|
||||
> [!tldr]
|
||||
> The text discusses the waiting time paradox in the context of bus arrivals. It explains that while one might expect the average wait time for a bus that arrives every 10 minutes to be 5 minutes, under certain assumptions, the average waiting time can actually be 10 minutes. The text explores this paradox through simulations and probabilistic arguments, showing that the average waiting time aligns with the average interval between bus arrivals. It also discusses the use of Poisson processes to model bus arrival times and concludes that the waiting time paradox assumption may not hold true in real-world scenarios where bus arrival intervals are not exponentially distributed.
|
||||
|
||||
## Highlights
|
||||
Briefly, the inspection paradox arises whenever the probability of observing a quantity is related to the quantity being observed. Allen gives one example of surveying university students about the average size of their classes. Though the school may truthfully advertise an average of 30 students per class, the average class size *as experienced by students* can be (and generally will be) much larger. The reason is that there are (of course) more students in the larger classes, and so you oversample large classes when computing the average experience of students. - ([View Highlight](https://read.readwise.io/read/01j5vf1r4qjgrnqa3dq94f19e5))
|
||||
|
||||
16
_master_wiki/Readwise/This Week in Self-Hosted.md
Normal file
16
_master_wiki/Readwise/This Week in Self-Hosted.md
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# This Week in Self-Hosted
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Ethan Sholly]]
|
||||
- Full Title: This Week in Self-Hosted
|
||||
- Category: #articles
|
||||
- URL: https://selfh.st/newsletter/2024-08-23/
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=This%20Week%20in%20Self-Hosted
|
||||
> [!tldr]
|
||||
> Self-hosted news, updates, launches, and a spotlight on Pocket ID - a self-hosted OIDC authentication provider
|
||||
|
||||
## Highlights
|
||||
 [View Highlight](https://read.readwise.io/read/01j6vrq67ew0b2bq6vy9efws1q))
|
||||
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
# What Is a Monad? - The Last Monad Intro You'll Ever Need
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[走歪的工程師James]]
|
||||
- Full Title: What Is a Monad? - The Last Monad Intro You'll Ever Need
|
||||
- Category: #articles
|
||||
- Document Tags: [[dev]] [[dev/design-patterns]]
|
||||
- URL: https://youtube.com/watch?v=HIBTu-y-Jwk&si=-FZ-FHMBTJpAp2rx
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=What%20Is%20a%20Monad%3F%20-%20The%20Last%20Monad%20Intro%20You%27ll%20Ever%20Need
|
||||
> [!tldr]
|
||||
> Monads are a programming concept that helps manage and chain operations in functional programming. They consist of two main operations: `flatMap`, which allows for combining results, and `unit`, which wraps a value in the monad's context. Overall, monads simplify handling complex data flows and operations.
|
||||
|
||||
## Highlights
|
||||
what actually is a monad? As we discussed in the last episode, a functor is a type that
|
||||
supports the map operation and also satisfies certain mathematical properties. Similarly, a monad is just the type that implements flatMap, which is an operation of this type. In addition to flatMap, a monad also needs to implement another operation called unit, which encapsulates a value within the monad's context. [View Highlight](https://read.readwise.io/read/01jaczd48m97ra9dses5j54b7t))
|
||||
|
||||
What is the relation between monads and functors? Previously, we learned that flatMap is a more powerful operation than map in that we can do everything map can do with flatMap. So basically, every monad is also a functor because it supports the map operation but not every functor is a monad [View Highlight](https://read.readwise.io/read/01jaczhyqxbgyhz38wt0jv4aca))
|
||||
|
||||
In functional languages, we have this thing called do notation, which is very similar to async await. The only difference is that do notation is applicable to all monads, not just promises. [View Highlight](https://read.readwise.io/read/01jaczksr7myw4y2dcy3srh8a8))
|
||||
> [!note]
|
||||
> Q: What "do notation" is in functional programming?
|
||||
> A: Do notation is a syntactic sugar used in functional programming languages to simplify the chaining of monadic operations, making it easier to read and write code that involves monads. It allows developers to sequence operations without the boilerplate of explicitly calling flatMap or bind for each step, similar to how async/await works with promises in JavaScript.
|
||||
|
||||
We're going to introduce this function called tell, which creates a WithLogs instance with an arbitrary log entry, but no value. This function will allow us to insert
|
||||
any random log message at any point, almost as though we have a global state, yet the entire function remains pure. If you're somewhat puzzled by how this seemingly works like magic, try converting it back to using flat map. And you'll see how it all works under the hood. [View Highlight](https://read.readwise.io/read/01jad02te3gcntke37t3x5fb1e))
|
||||
> [!note]
|
||||
> Q: Is this the power and why monads are used in functional programming to maintain a function pure?
|
||||
> A: Monads provide a way to chain operations while explicitly managing side effects, allowing functions to remain pure by encapsulating effects in types. This ensures that all side effects are controlled and expressed, promoting functional purity and making reasoning about code easier. Thus, monads facilitate the composition of functions without compromising their purity.
|
||||
|
||||
Let's do a recap of what we've learned throughout this video. Initially, we wanted to define all side effects in the type system. But we realized that we couldn't chain effects together. That is, unless we use flat map, flat map allows us to chain effectul operations together. And the types that implement flat map are
|
||||
called monads. So that's basically it. [View Highlight](https://read.readwise.io/read/01jad08vb06vn6mxf0a7ban7g7))
|
||||
|
||||
monads allow us to chain operations together under the restriction that all effects must be expressed in the types. [View Highlight](https://read.readwise.io/read/01jad09672gsxmwapnqzfh0d30))
|
||||
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
# Writing Is Magic. It Can Change Your Life
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[omerxx@gmail.com]]
|
||||
- Full Title: Writing Is Magic. It Can Change Your Life
|
||||
- Category: #articles
|
||||
- Document Tags: [[star]]
|
||||
- URL: https://omnivore.app/aleidk/writing-is-magic-it-can-change-your-life-18dfa8bdd0b
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=Writing%20Is%20Magic.%20It%20Can%20Change%20Your%20Life
|
||||
> [!tldr]
|
||||
> Today, I want to share a powerful skill with you. If you choose to embrace it—and there are countless ways to do so—you’ll see growth in every aspect of your life. Yes, it’s that impactful.
|
||||
|
||||
## Highlights
|
||||
“Begin with the end in mind”: Effective writing evokes emotion. Consider the feeling you want to create - excitement, amazement, or anger - and aim to engage your readers.
|
||||
[View Highlight](https://read.readwise.io/read/01j547jfjajaa9k41dtnpxsxge)) [[blog]]
|
||||
|
||||
Good stories have an **intention** and an **obstacle**. That’s it. You want something; there’s a problem; what do you do? (shock, frustration, deep thinking). Find a solution! Let’s fix the issue.
|
||||
[View Highlight](https://read.readwise.io/read/01j547jwm5swdx523nhy2n0w2z)) [[notetaking]]
|
||||
|
||||
Use “low-level” writing. Studies show that The New York Times uses 12th-grade level language.
|
||||
Warren Buffett changed his writing style over 40 years.
|
||||
He simplified it from a 16th-grade to a 10th-grade level. Now, he explains things more clearly.
|
||||
If they can, you should too. Use simple language, AI tools like GPT, and apps like [Hemingway](https://click.convertkit-mail2.com/4zu4mx47q9ieh5lx3lguxh3drwv77/7qh7h8hoz8kxolfz/aHR0cHM6Ly9oZW1pbmd3YXlhcHAuY29tLw==) to help.
|
||||
[View Highlight](https://read.readwise.io/read/01j547kb2be2txj046yrh9a3pg))
|
||||
|
||||
[Rhythm in writing](https://click.convertkit-mail2.com/4zu4mx47q9ieh5lx3lguxh3drwv77/owhkhqhronk0rduv/aHR0cHM6Ly93d3cuYmJjbWFlc3Ryby5jb20vYmxvZy9yaHl0aG0taW4td3JpdGluZw==). Words can be music. Sentences can have a flow.
|
||||
Replace commas with periods. Control the tone.
|
||||
Make the readers feel their heart beats, their emotion, their... soul.
|
||||
Did it work? **Make them** ***listen*** **while they read**.
|
||||
[View Highlight](https://read.readwise.io/read/01j547m5raqmgazwydfrwfpef9)) [[blog]] [[favorite]]
|
||||
|
||||
Start by warming up. Yes, really. Take 10 minutes, pick a piece you like, and write it down, **word by word**.
|
||||
Warm up your brain and body for writing!
|
||||
[View Highlight](https://read.readwise.io/read/01j547mrzvshcwd1jmdh92gg28))
|
||||
|
||||
**Don’t perfect it**. Start with a ROUGH first draft. Then take a break. Then hard edit.
|
||||
[View Highlight](https://read.readwise.io/read/01j547n5d9btvs9q9xrzz1xvva))
|
||||
|
||||
**Publish**! Whether it’s once a week or once a month, it doesn’t matter.
|
||||
The more you practice, the better you become; the more you publish, the better you get at sharing ideas.
|
||||
Practice storytelling. [View Highlight](https://read.readwise.io/read/01j547nethjk4bbf0prnncdsk4))
|
||||
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
# Writing Over Infinite Scrolling | Journal Like a Scientist
|
||||
|
||||

|
||||
|
||||
## Metadata
|
||||
- Author: [[Charlotte Fraza]]
|
||||
- Full Title: Writing Over Infinite Scrolling | Journal Like a Scientist
|
||||
- Category: #articles
|
||||
- Document Tags: [[Education]] [[notetaking]]
|
||||
- URL: https://www.youtube.com/watch?v=0LhmdYa5vvA
|
||||
- Archive: https://web-archive.alecodes.page/bookmarks?bf=1&search=&title=Writing%20Over%20Infinite%20Scrolling%20%7C%20Journal%20Like%20a%20Scientist
|
||||
|
||||
> [!note]
|
||||
> **Background:** I want to start journaling about my projects, focusing primarily on software development but also incorporating any other interests or activities I engage in.
|
||||
> ---
|
||||
> ### Key Takeaways and To-Dos:
|
||||
> 📝 **Experiment Logging:** For each project or experiment, document the hypothesis, methods, results, and conclusions. This structured approach will help in tracking progress and learning outcomes effectively.
|
||||
> 🔍 **Continuous Logging:** Maintain a habit of continuously logging thoughts and observations throughout the project. This ongoing documentation can capture insights as they arise and provide clarity during the development process.
|
||||
> 🤝 **Weekly Reflection:** Set aside time for weekly reflections to review all notes taken throughout the week. This will help consolidate ideas, identify valuable insights, and create a coherent framework for understanding your progress.
|
||||
> [!tldr]
|
||||
> Charlotte Fraza discusses the importance of note-taking and journaling in the scientific process. She emphasizes that logging experiments and reflecting on failures can enhance learning and problem-solving skills. By capturing ideas and documenting resources, individuals can improve their understanding and share knowledge with others.
|
||||
|
||||
## Highlights
|
||||
experiment logging So within science what you do is
|
||||
you record all your experiments successful or not and all the questions that you pose and the answers that you seek and then you note down what you learned from each of these experiments [View Highlight](https://read.readwise.io/read/01j536cg9k591ndzmjdyn3acx0))
|
||||
|
||||
experiment logging the idea what you do is for each experiment that you make is you write down these sections so you write down the hypothesis methods results and conclusions [View Highlight](https://read.readwise.io/read/01j536ety7c80mnxr62zpjdxzp))
|
||||
|
||||
he second part of experiment logging is the brain dump so this is also something that I really learned to do during my PhD and this is whenever you sit down for a full work day or at the end of a work day you kind of dump all the information that you have in your brain about the experiment [View Highlight](https://read.readwise.io/read/01j536hwghwa7h71cfjs4mhw3f))
|
||||
|
||||
the idea of resource documentation or research logging is that throughout any learning process you __log or take a record of all the resources that you use__, and this is mainly because at the end of learning something you usually forget what you've used to get there. [View Highlight](https://read.readwise.io/read/01j536q30j8nqkpcd7dqgrh2ar)) [[favorite]] [[notetaking]]
|
||||
|
||||
the idea of continuous logging is that you keep writing down the thoughts you have about that experiment as you are conducting it. [View Highlight](https://read.readwise.io/read/01j536tb8h218sb5f4jzbh4c4e)) [[notetaking]]
|
||||
|
||||
having reflection moments or weekly reflection in my case and that's really to come back to all the notes you've taken throughout the week and to combine them into one coherent framework and also to pick out the ideas that you really like [View Highlight](https://read.readwise.io/read/01j5373tkcxah1j67yk861wjpp))
|
||||
|
||||
don't cross out any of the previous ideas that you have that you currently don't like cuz I find often that as you change yourself throughout time if you go back to some really old notebooks it's actually really nice to see some of the thoughts you were having and sometimes these thoughts are actually more valuable at this moment than you estimated them to be at the previous moments [View Highlight](https://read.readwise.io/read/01j5377gqcfcwfzmwe0mtb9w32))
|
||||
|
||||
sharing and reflecting together with another person is actually really nice [View Highlight](https://read.readwise.io/read/01j537948pfqmqcdrfpj1dth6v))
|
||||
|
||||
you would write down your hypothesis to how you think this would go what you think you would learn what you think you would gain from this skill acis
|
||||
you would write down your methods how you think you're going to learn as much as possible about the brain in 30 days and you would write down your results but then in the end you would also write down your conclusions [View Highlight](https://read.readwise.io/read/01j6s8wm539b8fne7spch2qqnp))
|
||||
|
||||
these are usually to-dos that I think I need to do doubts I have about the experiment that I'm going to do what I think throughout that day I will learn or kind of what I have to consider and also a lot of times I write down what I think can go wrong [View Highlight](https://read.readwise.io/read/01j6s90vvygxh31fm58cp5xj11))
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue