Site uses cookies to provide basic functionality.
Javascript rendering is set to off by default when visiting the site via .onion and .i2p domains. It can be enabled back again in user's settings section. Javascript rendering set to off means, that you can disable javascript in your browser now and the site will remain functional.
There is also IRC server now available via native IRC clients or non javascript web based one.
Fonts can be adjusted in user's settings section as well.
Check FAQ for more.

OK

Dave Rupert, reasoning on why he likes books: Books are strange objects. Chapters and chapters of coherent research and lived experiences assembled by people who wanted to put it all down in one place. Edited by actual editors who like editing. Designed— down to the weight of the paper, the typography, and the illustration on the cover— to make the experience of reading it enjoyable. Books are uncanny and impractical objects. A terribly..

Just Do It - martinrue.com - 2 years ago - eng
13 years ago I wrote my first ever article, “Do”. It tells the story of how my mother became really good at Counter Strike. But less about her… I want to talk about a murderer.

Here’s my talk from eBPF Summit 2024 . Video (10 minutes) The 0x.tools Extended Task State Sampling approach provides a new observability signal - wall-clock time of all active threads’ activity in your system. You can see both total workload demand of your apps and also drill down deep into individual threads’ activity when needed. This method and toolset give you a single data source with many directly linked fields of informat..

Here’s my talk from eBPF Summit 2024 . Video (10 minutes) The 0x.tools Extended Task State Sampling approach provides a new observability signal - wall-clock time of all active threads’ activity in your system. You can see both total workload demand of your apps and also drill down deep into individual threads’ activity when needed. This method and toolset give you a single data source with many directly linked fields of informat..

In opsec, duress (“rubber-hose”) attacks are famously hard to address . Cryptographic keys that cannot be lost have poor protections against duress. Travelers can leave key fobs at home should they be accosted. A victim of a break-in can conveniently “lose” or smash a hardware key, erasing any encrypted data. Yes, I know about cold-boot attacks; I don’t recommend at-risk people to leave things decrypted for long durations. I like the ide..

The Internet is a dangerous place. In this post, I’ll cover five basic Cybersafety tips that anyone (including those who aren’t tech-savvy) can use to stay safe online. 1. Protect against viruses and malware Most computer viruses are small sections of code that are embedded into files such as PowerPoint presentations and PDFs. When these files are opened in a software app (e.g., Microsoft PowerPoint or Adobe Reader), the app inadverte..

The Internet is a dangerous place. In this post, I’ll cover five basic Cybersafety tips that anyone (including those who aren’t tech-savvy) can use to stay safe online. 1. Protect against viruses and malware Most computer viruses are small sections of code that are embedded into files such as PowerPoint presentations and PDFs. When these files are opened in a software app (e.g., Microsoft PowerPoint or Adobe Reader), the app inadverte..

This is part 5 from series “Tiny Great Languages”. Final code is on Github. Part 1: Assembly. Part 2: BASIC. Part 3: Forth/MOUSE. Part 4: Lisp. Part 5: APL/K. Part 6: PL/0. This would be a controversial language, but it fits perfectly into the 50-lines-of-less code category. Let’s talk about APL family, and specifically – K. Created by Arthur Whitney the language is known for its terse and cryptic syntax.



Intro Here’s a quick update on the PiArtFrame. I already posted an update in the old post, so to keep things organized, I decided to write a new one. As reference you can read the old post Basically, GitHub user kevlol has ported the Python code by runezor (the original PiArtFrame ) to C++. This is awesome because: The system is more stable. You can choose the exact refresh time. You can adjust the “black level” of the generat..

Intro Here’s a quick update on the PiArtFrame. I already posted an update in the old post, so to keep things organized, I decided to write a new one. As reference you can read the old post Basically, GitHub user kevlol has ported the Python code by runezor (the original PiArtFrame ) to C++. This is awesome because: The system is more stable. You can choose the exact refresh time. You can adjust the “black level” of the generat..

This is part 5 from series “Tiny Great Languages”. Final code is on Github. Part 1: Assembly. Part 2: BASIC. Part 3: Forth/MOUSE. Part 4: Lisp. Part 5: APL/K. Part 6: PL/0. This would be a controversial language, but it fits perfectly into the 50-lines-of-less code category. Let’s talk about APL family, and specifically – K. Created by Arthur Whitney the language is known for its terse and cryptic syntax.

A/B tests are theoretically simple but sometimes offer challenges when insufficient data or events are tracked. In e-commerce, conversion rates are often highlighted as a key metric but what causes it and why. By leveraging additional tools that enable event tracking and session replays such as FullStory we can attach context and understand what users are actually doing, allowing us to make data-driven decisions which is crucial in modern b....

This is a story about a failure to apply dynamic programming to a woodworking project. I’ve been building a shed in my backyard, and for one section I decided to build the floor by laying 2x4 planks side by side. I didn’t feel the need to join them with tongue-and-groove, but I did notice that using 2x4s alone wouldn’t fit the width they were supposed to fill. I also had some 2x6 boards left over from a different part of the shed, and I rea..

This is a story about a failure to apply dynamic programming to a woodworking project. I’ve been building a shed in my backyard, and for one section I decided to build the floor by laying 2x4 planks side by side. I didn’t feel the need to join them with tongue-and-groove, but I did notice that using 2x4s alone wouldn’t fit the width they were supposed to fill. I also had some 2x6 boards left over from a different part of the shed, and I rea..

This is a story about a failure to apply dynamic programming to a woodworking project. I’ve been building a shed in my backyard, and for one section I decided to build the floor by laying 2x4 planks side by side. I didn’t feel the need to join them with tongue-and-groove, but I did notice that using 2x4s alone wouldn’t fit the width they were supposed to fill. I also had some 2x6 boards left over from a different part of the shed, and I rea..

I am playing Marvel’s Midnight Suns. Like any big modern game, it is a sloppy mess of systems, for which the balance and neatness of design doesn’t matter as the point is the joy of the complex systems smooshing together. Many characters can take actions to add the “Lifesteal” modifier to attacks. Traditionally, Lifesteal (or […]

2024-09-12-001 - srijan.ch - 2 years ago - bod

Today, I learned the hard way that NGINX has default buffer sizes, which can cause trouble in specific scenarios like mine.

A developer’s journey through LLM-powered development tools. Shares favorite tools, reasons for skipping others, and 8 battle-tested tips for LLM coding.

A developer’s journey through LLM-powered development tools. Shares favorite tools, reasons for skipping others, and 8 battle-tested tips for LLM coding.

Introduction Web scraping typically refers to an automated process of collecting data from websites. On a high level, you're essentially making a bot that visits a website, detects the data you're interested in, and then stores it into some appropriate data structure, so you can easily analyze and access it

I admit, like many of my compatriots in this last year and a half, I follow a lot more tennis than usual, and it is all the fault (or merit) of Jannick Sinner. The top-level pro tennis field appears distant, privileged, brilliant and rewarding. We appreciate the immense talent of these players and sympathize with the struggle and stress they undergo. We praise their character, determination, and mental strength. They make a lot of money, so..


Introduction: In Episode 1 of the Fearless Concurrency in Rust series, Herbert Wolverson introduces the foundational concept of threads in programming, tracing their origins and evolution while demonstrating how Rust handles concurrency in a safer, more manageable way. He explores the history of threads and their role in enabling programs to perform multiple tasks simultaneously, comparing Rust’s threading model with traditional approach..

This is part 4 from series “Tiny Great Languages”. Final code is on Github. Part 1: Assembly. Part 2: BASIC. Part 3: Forth/MOUSE. Part 4: Lisp. Part 5: APL/K. Part 6: PL/0. Done with the concatenative language MOUSE, we can now turn our attention to another small and elegant language from way back: Lisp. Lisp is famous for its minimalist syntax (similar to Forth, the parser is almost nonexistent) and its clear, logical evaluation rules.



This is part 4 from series “Tiny Great Languages”. Final code is on Github. Part 1: Assembly. Part 2: BASIC. Part 3: Forth/MOUSE. Part 4: Lisp. Part 5: APL/K. Part 6: PL/0. Done with the concatenative language MOUSE, we can now turn our attention to another small and elegant language from way back: Lisp. Lisp is famous for its minimalist syntax (similar to Forth, the parser is almost nonexistent) and its clear, logical evaluation rules.

Reflecting on my journey with computers, from the C64 and Amiga 500 to the present day, I've found a renewed excitement in software development. New tools like repl.it and websim.ai empower rapid creation of full-stack, disposable web apps – software built for personal use and easily discarded. This ease of creation removes the barrier to starting projects, making the web an ideal platform for even single-user applications. It's a shift fr..

Reflecting on my journey with computers, from the C64 and Amiga 500 to the present day, I've found a renewed excitement in software development. New tools like repl.it and websim.ai empower rapid creation of full-stack, disposable web apps – software built for personal use and easily discarded. This ease of creation removes the barrier to starting projects, making the web an ideal platform for even single-user applications. It's a shift fr..

Geysir - sam.hooke.me - 2 years ago - eng
Strokkur The main attraction at Geysir is Strokkur, a geyser that supposedly erupts about every 10 minutes. While we were there, it seemed to erupt about every 5 minutes! We saw more than half a dozen eruptions, and the height varied a lot. Geysir The namesake of Geysir, this geyser is a stone’s throw from Strokkur, but nowadays is dormant...

Geysir - sam.hooke.me - 2 years ago - eng
Strokkur The main attraction at Geysir is Strokkur, a geyser that supposedly erupts about every 10 minutes. While we were there, it seemed to erupt about every 5 minutes! We saw more than half a dozen eruptions, and the height varied a lot. Geysir The namesake of Geysir, this geyser is a stone’s throw from Strokkur, but nowadays is dormant...

We’re excited to announce a new Snyk AppRisk integration with Orca Security that brings together application security from Snyk and leading cloud security from Orca.

Caching can be super complicated in MediaWiki because there are many different types of cache. This article goes over what to do for each kind.

Caching can be super complicated in MediaWiki because there are many different types of cache. This article goes over what to do for each kind.

Caching can be super complicated in MediaWiki because there are many different types of cache. This article goes over what to do for each kind.

Caching can be super complicated in MediaWiki because there are many different types of cache. This article goes over what to do for each kind.

Caching can be super complicated in MediaWiki because there are many different types of cache. This article goes over what to do for each kind.

caching - river.me - 2 years ago - dan

css - river.me - 2 years ago - dan

javascript - river.me - 2 years ago - dan

Caching can be super complicated in MediaWiki because there are many different types of cache. This article goes over what to do for each kind.

23 visitors online