Recent submissions

Comment · 3 months ago
Hi everyone, as a software engineer, I wanted to know more about networking and BGP. So I started implementing BGP about two years ago. But it stalled at a message parser, because I had too much knowledge gap. I stopped. But late last year, I started again, this time with AI. I studied up the RFCs, designed the architecture and Claude did most of typing. I read every RFC and every code, which is where learning happened.

7 months later, it's live and I'm running AS4242423930 on dn42, carrying the full routing table (~2k prefixes) with two eBGP peers. I'm also running two "POPs" in US east and west coast, running iBGP. It doesn't actually program routes to kernel yet (it's just a speaker). I figured it's enough for route servers or software controllers that don't actually forward packets.

As for the project, what I wanted to focus on was observability. This natively emits operational metrics as CloudWatch EMF (for AWS), JSON (for other Cloud), and also Prometheus. Memory-safety and efficiency were also the goal (Rust). And the project is actually not just BGP, but a routing stack. Because I'm also curious about protocols other than BGP.. So I'll implement more routing protocols as I continue learning more. I named it Rogg ("Routing, gg") which consists of bgpgg ("BGP, gg") and ggsh ("gg shell"). I grew up a gamer and couldn't resist. Thanks for checking it out.

Comment · 5 years ago
Hi everyone, I wanted to share a language I made that only uses a series of bracket characters. All operations are prefix-free, meaning one can follow another without ambiguity.

The following program prints "Hello, world!"

  (0)(10)(33)(100)(108)(114)(111)(119)(32)(44)(111)(108)(108)(101)(72)>><<[<><>><<>><<]>>><<
The following prints 25th Fibonacci number:

  (1)(25)(1)><>(1)(0)><>(1)>>>>>><<[(0)><>(1)>>>>>><<[>><>(1)><>>><<(0)><>>>><>(1)><><<<>><>>>><>(0)><>>><>(1)>>>>>><<](0)](1)><><><>><>>>><<
Comment · 6 years ago
Same. Having finished the course years ago, I remember most vividly the following: never implement your own crypto. Not many details survived the time but it was intellectually rewarding.
Comment · 6 years ago
Interesting point. While I sympathize with the cause, I personally wouldn't find it the best money spent, had I donated, because it is impossible to measure the impact of the money spent.
Comment · 6 years ago
Thanks for the compliment. It is possible to use any other methods to synchronize notes because Dnote stores everything in a single SQLite file. The dedicated server becomes useful for providing a web interface and API access to the notes.
Comment · 6 years ago
For me, Spotify's personalized recommendations (e.g. discover weekly, release radar) have been quite consistent in quality.
Comment · 6 years ago
Adding lines such as "topic:..." sounds like a very useful and low key solution. I might start trying that. Thanks.

You can use Dnote web app on the phone to do full text search and list notes by book. You can also install the website as a progressive web app for usability.

On the downside, using this web interface subjects users to a third party system (albeit open source) and forces them to give up the autonomy that they enjoy by simply using plaintext files.

Comment · 6 years ago
> I tag each text file with topic, date and context keywords.

Nice idea. How are you doing that? Also, do you version control your notes?

> What does not work great is on the phone

I maintain an open source project called Dnote (https://github.com/dnote/dnote) which solves this problem for you. It's basically a command line notebook using SQLite + a mobile friendly web interface to which you can sync your notes.

Agree with you that we should avoid being locked into a proprietary formats or platforms. Businesses and platforms come and go, but our notes should stay as readily accessible as possible.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton