Skip to content

Commit 1d23c19

Browse files
committed
update bookmarks
1 parent fbcacda commit 1d23c19

File tree

1 file changed

+238
-3
lines changed

1 file changed

+238
-3
lines changed

src/pages/bookmarks/_bookmarks.json

Lines changed: 238 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,240 @@
11
{
2-
"lastUpdate": "2025-04-06T14:30:03.714Z",
2+
"lastUpdate": "2025-04-13T21:59:28.716Z",
33
"data": [
4+
{
5+
"id": "01jrrjgwjgwdk6qvgebhqemvcw",
6+
"title": "Creating 256 Bytes of RAM (in a simulation)",
7+
"url": "https://www.youtube.com/watch?v=HGkuRp5HfH8",
8+
"savedAt": "2025-04-13T21:57:36.464000+00:00",
9+
"description": "Sebastian Lague explains how to create a simple simulation of 256 bytes of RAM using registers and memory cells. He describes the process of building a grid of memory cells that can store and retrieve data efficiently. The final result is a functioning random access memory (RAM) system that can be used in a simulated computer.",
10+
"tags": [
11+
"hardware",
12+
"type/video"
13+
]
14+
},
15+
{
16+
"id": "01jrregxnxvkyt5ze6dkmfqzpf",
17+
"title": "Async from scratch 1: What's in a Future, anyway?",
18+
"url": "https://natkr.com/2025-04-10-async-from-scratch-1/",
19+
"savedAt": "2025-04-13T20:47:43.293000+00:00",
20+
"description": "This article introduces a series on building an async Rust environment, explaining the concept of a Future, which allows functions to pause while waiting for something. It simplifies the idea of polling for results through an example of a simple dice roll and demonstrates how to manage states with enums. The post also touches on creating timeouts and handling multiple await points, setting the stage for more complex async operations in Rust.",
21+
"tags": [
22+
"cs/programming-languages/rust"
23+
]
24+
},
25+
{
26+
"id": "01jrrbsjg1rh1gv18e6pbwac1a",
27+
"title": "Refactoring won't save you from a layoff",
28+
"url": "https://www.seangoedecke.com/where-the-money-comes-from/",
29+
"savedAt": "2025-04-13T20:00:01.025000+00:00",
30+
"description": "Many software engineers may not realize their work needs to connect to company profits to maintain job stability. If their contributions don't directly generate revenue, they risk being overlooked or laid off. To secure their positions, engineers should understand their company's business model and align their work with profit-generating efforts.",
31+
"tags": [
32+
"career"
33+
]
34+
},
35+
{
36+
"id": "01jrr4s64ytyab6bse9vrthhqy",
37+
"title": "My favorite technical blogs",
38+
"url": "https://eatonphil.com/blogs.html",
39+
"savedAt": "2025-04-13T17:57:28.426000+00:00",
40+
"description": "The text lists various technical blogs that focus on different topics like systems programming, formal methods, compilers, databases, and distributed systems. Each blog is associated with its author, along with their social media platforms. It highlights the diverse range of voices and insights available in the technical blogging community.",
41+
"tags": [
42+
"cs",
43+
"blog",
44+
"resource/list"
45+
]
46+
},
47+
{
48+
"id": "01jrr4rbz3fn5pmahjjgw8zvt7",
49+
"title": "The Computer Backup Rule of Three",
50+
"url": "https://www.hanselman.com/blog/the-computer-backup-rule-of-three",
51+
"savedAt": "2025-04-13T17:57:01.539000+00:00",
52+
"description": "Always back up your important data in multiple ways. Use at least two physical backups and a cloud service for extra safety. Remember, backups are only useful if you can restore the data when needed.",
53+
"tags": [
54+
"cs",
55+
"favorites"
56+
]
57+
},
58+
{
59+
"id": "01jrr41f6m95bd1r7qr5k7kpgq",
60+
"title": "The Best Programmers I Know",
61+
"url": "https://endler.dev/2025/best-programmers/",
62+
"savedAt": "2025-04-13T17:44:31.188000+00:00",
63+
"description": "The author shares key traits of the best programmers based on his observations. He emphasizes the importance of understanding tools deeply, continuously learning, and helping others. Great engineers simplify problems, write clearly, and maintain patience while solving challenges.",
64+
"tags": [
65+
"career"
66+
]
67+
},
68+
{
69+
"id": "01jrn440n496hv59ghb9p4ktfe",
70+
"title": "Build your own SQLite, Part 1: Listing tables",
71+
"url": "https://blog.sylver.dev/build-your-own-sqlite-part-1-listing-tables?source=more_series_bottom_blogs",
72+
"savedAt": "2025-04-12T13:48:11.300000+00:00",
73+
"description": "This blog post explains how to read the header of an SQLite database and parse table B-tree leaf pages. It details the structure of the database header, including the magic string and page size, and discusses functions for reading page content and cell pointers. The ultimate goal is to create a simple REPL that can list tables within the database.",
74+
"tags": [
75+
"cs/database"
76+
]
77+
},
78+
{
79+
"id": "01jrm92m0mrsqr80h9aend79bb",
80+
"title": "There is No Automatic Reset for Engineering",
81+
"url": "http://agileotter.blogspot.com/2025/03/there-is-no-automatic-reset-in.html",
82+
"savedAt": "2025-04-12T05:55:34.035000+00:00",
83+
"description": "Engineering decisions are permanent and cannot be automatically reset, meaning that rushed changes create lasting issues in the codebase. While it's important to act quickly at times, cutting corners can lead to ongoing problems that hinder future development. A balanced approach, focusing on advancing features, sustaining quality, and accelerating progress, can help manage these challenges effectively.",
84+
"tags": [
85+
"engineering"
86+
]
87+
},
88+
{
89+
"id": "01jrm8wtyzv4r1kx5nytarhcek",
90+
"title": "A Quick Journey Into the Linux Kernel",
91+
"url": "https://www.lucavall.in/blog/a-quick-journey-into-the-linux-kernel",
92+
"savedAt": "2025-04-12T05:52:24.543000+00:00",
93+
"description": "The Linux kernel, even in its older 2.6 version, offers valuable insights into operating system fundamentals like process scheduling and memory management. It handles concurrency and interrupts uniquely, using mechanisms like tasklets and workqueues to maintain system responsiveness. Understanding kernel development can deepen knowledge of performance and system design, making it a helpful area for engineers to explore.",
94+
"tags": [
95+
"os/linux"
96+
]
97+
},
98+
{
99+
"id": "01jrm7wj93kmrb6dmy2qg6e2k0",
100+
"title": "🦀 Building a search engine from scratch, in Rust: part 1",
101+
"url": "https://jdrouet.github.io/posts/202503170800-search-engine-part-1/",
102+
"savedAt": "2025-04-12T05:34:47.075000+00:00",
103+
"description": "In the first part of building a search engine, the author explores using the File System API for cross-platform storage with encryption. This approach allows for intuitive file handling and efficient performance while maintaining security. The goal is to create a reliable storage layer that works well across desktop, mobile, and browser platforms.",
104+
"tags": [
105+
"cs/database"
106+
]
107+
},
108+
{
109+
"id": "01jrm73xhasf7c4epkf30xn653",
110+
"title": "Apple’s Darwin OS and XNU Kernel Deep Dive",
111+
"url": "https://tansanrao.com/blog/2025/04/xnu-kernel-and-darwin-evolution-and-architecture/",
112+
"savedAt": "2025-04-12T05:21:19.402000+00:00",
113+
"description": "The article explores the evolution of Apple's Darwin OS and its XNU kernel, highlighting its hybrid design that combines Mach microkernel and BSD elements for performance and adaptability. It details how XNU has evolved to support various architectures and devices while improving system stability and security. Overall, XNU's design allows for seamless integration across Apple's product lineup, from Macs to iPhones.",
114+
"tags": [
115+
"os/osx"
116+
]
117+
},
118+
{
119+
"id": "01jrm73h2pjd0v2djczsd5sx57",
120+
"title": "BTrees, Inverted Indices, and a Model for Full Text Search",
121+
"url": "https://ohadravid.github.io/posts/2025-04-08-btrees-and-mental-models/#a-primer-on-text-analysis",
122+
"savedAt": "2025-04-12T05:21:06.646000+00:00",
123+
"description": "This article explains how full text search engines work by using techniques like tokenization and inverted indexing to efficiently find and rank documents based on user queries. It discusses the importance of storing tokens with their document IDs and positions to improve search performance and support features like prefix queries. The author also compares this efficient approach to a slower, naive search method that scans every document for each term.",
124+
"tags": [
125+
"cs/database"
126+
]
127+
},
128+
{
129+
"id": "01jrbrfya2mw8n0pac71crz9pp",
130+
"title": "Catalog of Patterns of Distributed Systems",
131+
"url": "https://martinfowler.com/articles/patterns-of-distributed-systems/",
132+
"savedAt": "2025-04-08T22:31:49.314000+00:00",
133+
"description": "The \"Catalog of Patterns of Distributed Systems\" by Unmesh Joshi offers solutions for common challenges in distributed systems, such as data synchronization and handling network delays. In 2020, the author began compiling these solutions into patterns, which were later published in a book in 2023. The website provides summaries of each pattern with links to detailed chapters in the eBook, helping organizations improve their distributed software systems.",
134+
"tags": [
135+
"cs/distsys"
136+
]
137+
},
138+
{
139+
"id": "01jr6ytyym5egdfca7ta0a15sm",
140+
"title": "It's Time to Stop Building KV Databases",
141+
"url": "https://buttondown.com/jaffray/archive/its-time-to-stop-building-kv-databases/",
142+
"savedAt": "2025-04-07T01:46:29.716000+00:00",
143+
"description": "The author argues against using Key-Value (KV) databases, claiming they lack flexibility and force users to create their own data models from scratch. Instead, they propose a new type of embedded database that maintains a clear distinction between logical and physical schemas, allowing for easier querying and better schema management. This new database would avoid the complexity of query planners while still offering essential features like type systems and asynchronous schema changes.",
144+
"tags": [
145+
"cs/database"
146+
]
147+
},
148+
{
149+
"id": "01jr6q75eecmy21ner5ex945hr",
150+
"title": "How far neuroscience is from understanding brains",
151+
"url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC10585277/",
152+
"savedAt": "2025-04-06T23:33:20.974000+00:00",
153+
"description": "Neuroscience is still far from fully understanding how brains work. Recent studies show new insights into brain dynamics and functions, particularly in visual processing. Ongoing research is needed to better connect brain activity with behavior.",
154+
"tags": [
155+
"for-later",
156+
"neuroscience"
157+
]
158+
},
159+
{
160+
"id": "01jr6q3cegyv053xt0g3d7wgk5",
161+
"title": "A Brief, Incomplete, and Mostly Wrong History of Programming Languages",
162+
"url": "https://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html",
163+
"savedAt": "2025-04-06T23:31:17.072000+00:00",
164+
"description": "The text humorously recounts the history of programming languages, starting from early inventions like punch cards and Ada Lovelace's first program. It highlights notable developments, such as the creation of FORTRAN, LISP, and Java, while playfully critiquing their shortcomings. Overall, the article showcases the evolution of programming languages with a mix of factual details and witty commentary.",
165+
"tags": [
166+
"programming-languages"
167+
]
168+
},
169+
{
170+
"id": "01jr6ngc1hq8sdjwyqm5p0mh0r",
171+
"title": "Don't Be Afraid Of Types",
172+
"url": "https://lmika.org/2025/03/18/dont-be-afraid-of-types.html",
173+
"savedAt": "2025-04-06T23:03:25.489000+00:00",
174+
"description": "The author discusses a common hesitation among developers to create new types in their code, often due to fears of disrupting the existing structure. They argue that creating new types, even for simple cases, can simplify code and improve clarity. The piece encourages developers to embrace the creation of types, as it can lead to easier data handling and better organization.",
175+
"tags": []
176+
},
177+
{
178+
"id": "01jr63zqqv68z4tmp5a6gssh4z",
179+
"title": "Your Network, Your Rules: Take Charge With Own DNS",
180+
"url": "https://dzone.com/articles/private-dns-nameserver",
181+
"savedAt": "2025-04-06T17:57:14.619000+00:00",
182+
"description": "This article explains how to set up your own DNS nameserver for better privacy and control over your online presence. It discusses using tools like BIND, Unbound, and dnsdist to manage DNS queries effectively. By self-hosting a DNS nameserver, you can enhance your security and reduce reliance on public services.",
183+
"tags": [
184+
"cs/networking"
185+
]
186+
},
187+
{
188+
"id": "01jr63xyxf5btmjvs4nzy89g4z",
189+
"title": "How browsers REALLY load Web pages",
190+
"url": "https://fosdem.org/2025/schedule/event/fosdem-2025-4852-how-browsers-really-load-web-pages/",
191+
"savedAt": "2025-04-06T17:56:16.430000+00:00",
192+
"description": "When browsers load web pages, they consider many factors to decide which resources to load first. This talk explains how these decisions are made and how you can influence them for better performance. You will learn about the complexities of resource loading and how to avoid common mistakes.",
193+
"tags": [
194+
"cs/browsers"
195+
]
196+
},
197+
{
198+
"id": "01jr63vrzf04tpmap33scwsq8p",
199+
"title": "2024's hottest topics in databases (a bibliometric approach)",
200+
"url": "https://rmarcus.info/blog/2025/03/28/hottest-db-topics.html",
201+
"savedAt": "2025-04-06T17:55:04.814000+00:00",
202+
"description": "The article reviews the latest trends in database research using citation data to identify popular topics. Key areas of focus include learned indexes, query optimization using machine learning, and improvements in database management systems. The author highlights the importance of data cleaning and matching tools, which are becoming more effective through the integration of machine learning techniques.",
203+
"tags": [
204+
"cs/database"
205+
]
206+
},
207+
{
208+
"id": "01jr63afaw8te2rk8wzt6ypy0m",
209+
"title": "to do nothing",
210+
"url": "https://shilin.ca/to-do-nothing/",
211+
"savedAt": "2025-04-06T17:45:37.884000+00:00",
212+
"description": "It's a rainy Saturday in Montreal, and the author reflects on the challenge of doing nothing in a busy mind. They describe their thoughts as an annoying friend named Becky, who constantly suggests tasks and distractions. Ultimately, the author decides to embrace silence and do nothing for a while before their date.",
213+
"tags": [
214+
"philosophy"
215+
]
216+
},
217+
{
218+
"id": "01jr6200v2yhm9kkrzywanrmm3",
219+
"title": "The History of the Web",
220+
"url": "https://thehistoryoftheweb.com/timeline/",
221+
"savedAt": "2025-04-06T17:22:26.786000+00:00",
222+
"description": "Tim Berners-Lee created the first web browser and website, showcasing the web's potential. Early search engines like World Wide Web Worm and WebCrawler made it easier to find information online. Over time, browsers evolved with new features and tools, leading to the development of popular platforms like Firefox and JavaScript.",
223+
"tags": [
224+
"web",
225+
"engineering"
226+
]
227+
},
228+
{
229+
"id": "01jr5rvs3vy2ppk1t3wszn7hxn",
230+
"title": "Nix derivations by hand, without guessing",
231+
"url": "https://bernsteinbear.com/blog/nix-by-hand/",
232+
"savedAt": "2025-04-06T14:42:50.619000+00:00",
233+
"description": "Max Bernstein’s blog discusses how to manually create a simple Nix derivation that outputs a \"hello world\" file without using the Nix language. The author explains the process of generating necessary hashes and paths, highlighting the importance of understanding the low-level details involved. Ultimately, the tutorial leads to successfully building the desired output file using a well-defined recipe.",
234+
"tags": [
235+
"tools/nix"
236+
]
237+
},
4238
{
5239
"id": "01jr3kxv3taxwd7yfrnx99td61",
6240
"title": "Total functions and beyond",
@@ -3775,10 +4009,11 @@
37754009
"id": "01jbepaa1gkev1n9p0r0sb5k5y",
37764010
"title": "Salary Negotiation: Make More Money, Be More Valued | Kalzumeus Software",
37774011
"url": "https://www.kalzumeus.com/2012/01/23/salary-negotiation/",
3778-
"savedAt": "2024-03-01T15:19:57.034000+00:00",
4012+
"savedAt": "2025-04-13T18:35:12.812000+00:00",
37794013
"description": "Salary negotiation advice, mostly for engineers. Running total of raises negotiated due to this essay: $9M+.",
37804014
"tags": [
3781-
"career"
4015+
"career",
4016+
"favorites"
37824017
]
37834018
},
37844019
{

0 commit comments

Comments
 (0)