HNHacker News
TopNewBestAskShowJobs

rrampage

4,882 karma · joined June 6, 2013

submissionscomments
rrampage··on Linux from Scratch
Interesting project. Why does it use LLVM toolchain when it already builds gcc in an earlier stage?
rrampage··on Assembly Hall of Shame
Isn't that rdtscp ( https://www.felixcloutier.com/x86/rdtscp )?
rrampage··on Building a Shell
Fun read! I built a minimal Linux shell [0] in c and Zig last year which does not depend on libc. It was a great way to learn about execve, the new-ish clone3 syscall and how Linux starts a process. Parsing strings is the least fun part of the building the shell.

[0] https://gist.github.com/rrampage/5046b60ca2d040bcffb49ee38e8...

rrampage··on Ghostty is now non-profit
Recurse center is awesome! The community is curious, kind and supportive. I did 2 batches there and each one expanded my horizons as a programmer.
rrampage··on Ask HN: What Are You Working On? (June 2025)
I've been building small programs in Zig, C and ARM64 assembly without relying on libc and only using Linux syscalls directly.

Some examples:

- A minimal C shell with built-ins like cd, pwd, type: https://gist.github.com/rrampage/5046b60ca2d040bcffb49ee38e8...

- Terminal Snake game which fits in a QR code using Linux syscalls for drawing: https://gist.github.com/rrampage/2a781662645dc2fcba45784eb58...

- HTTP server with sendfile support in ARM64 assembly: https://gist.github.com/rrampage/d31e75647a77badb3586ebae1e4...

I learned to handcraft a static ELF binary using just GNU assembler (no linker): https://gist.github.com/rrampage/74586d0a0a451f43b546b169d46... . Trying to see if I can craft a small assembler in ARM64

rrampage··on Protecting your code from other people's bugs
The paper title is "Sandboxing: Foolproof Boundaries vs. Unbounded Foolishness"
rrampage··on SAT Solver Etudes I
Yurichev's SAT/SMT by Example [0] is a great (free!) resource for learning how to model problems to SAT/SMT

[0] - https://smt.st/

rrampage··on Amazon S3 now supports the ability to append data to an object
Storage cost is much higher. Express One Zone is $0.16 per GB while standard S3 is $0.023 per GB ( https://aws.amazon.com/s3/pricing/?nc=sn&loc=4 )
rrampage··on Snaplet is now open source
Repos:

Snapshot - Capture a snapshot (or subset) of your Postgres database whilst transforming the data ( Link: https://github.com/snaplet/snapshot )

Copycat - Generate deterministic fake values (e.g to anonymize sensitive data) ( Link: https://github.com/snaplet/copycat )

Seed - Automatically seed your database with production-like dummy data based on your schema for local development and testing ( Link: https://github.com/snaplet/seed )

rrampage··on Ask HN: Who wants to be hired? (April 2024)

  Location: Mumbai, India
  Remote: Preferred
  Willing to relocate: Yes, within India
  Technologies: Java, Golang, Python, WebAssembly, Linux, SQL, Kubernetes, AWS, GCP, Ruby on Rails
  Résumé/CV: https://www.linkedin.com/in/raunak1/
  Email: raunak1001 (at) outlook (dot) com
- Principal Software Engineer with 11 years experience.

- Have predominantly worked in scaling out backend services with a focus on building search, analytics and recommendation systems, refactoring monoliths, optimizing cloud costs.

- Have done minimal downtime migrations of infrastructure for AWS and GCP.

As a side project, I have been building a WebAssembly interpreter from scratch at https://github.com/rrampage/wart . It can run Doom and boot Linux!

rrampage··on Rive Renderer for real-time vector graphics is now open source
Repo: https://github.com/rive-app/rive-renderer
rrampage··on Show HN: TinyWasm – A tiny WebAssembly Runtime written in Rust
Super nice project! I also spent the last month writing a WASM interpreter ( https://github.com/rrampage/wart ) using Java 21. I started it as an excuse to try out the pattern matching in switch / sealed classes in Java. It kind of snowballed in scope and can now run Doom and Waforth ( https://github.com/remko/waforth )! Have not yet tried compiling it to WASM and running it as a meta-circular interpreter.
rrampage··on Ask HN: Who wants to be hired? (March 2024)

  Location: Mumbai, India
  Remote: Preferred
  Willing to relocate: Yes, within India
  Technologies: Java, Golang, Python, WebAssembly, Linux, SQL, Kubernetes, AWS, GCP, Ruby on Rails
  Résumé/CV: https://www.linkedin.com/in/raunak1/
  Email: raunak1001 (at) outlook (dot) com
- Principal Software Engineer with 11 years experience.

- Have predominantly worked in scaling out backend services with a focus on building search, analytics and recommendation systems, refactoring monoliths, optimizing cloud costs.

- Have done minimal downtime migrations of infrastructure for AWS and GCP.

As a side project, I have been building a WebAssembly interpreter from scratch at https://github.com/rrampage/wart . It can run Doom!

rrampage··on Picking the Widevine Locks: Acquiring and Using an L3 CDM
Archived: https://web.archive.org/web/20240109062934/https://www.ismai...
rrampage··on Building a Web Game in C
This is a simple Pong-like I've written in Raylib compiled to WASM - https://wasm-stuff.netlify.app/pong

Source code is here: https://github.com/rrampage/skitter/tree/master/pong-raylib

It is fairly straightforward to get Raylib running in the browser. I used @flohofwoe's HTML shell file ( https://github.com/floooh/sokol-samples/blob/master/webpage/... ).

Compilation is something like: emcc -o target/pong.html -Wall -Wextra -std=c99 pong-raylib/pong.c lib/libraylibweb.a -I ./include -sUSE_GLFW=3 -sSINGLE_FILE -Oz --closure 1 -sFILESYSTEM=0 --shell-file pong-raylib/shell.html

rrampage··on McKinsey Developer Productivity Review
PDF Link to paper being discussed: https://www.mckinsey.com/~/media/mckinsey/industries/technol...
rrampage··on Is Software Engineering Real Engineering? [video]
Slides and references: https://www.hillelwayne.com/talks/crossover-project/
rrampage··on Errors and Zig
Now that Go has generics (finally), this analogy seems a tad too harsh.
rrampage··on Ask HN: What's a good open-source alternative to Cloudflare?
Building your own DDOS protection and CDN will involve a lot of devops bandwidth in ensuring both low latency and high availability. You may need to negotiate good rates with your ISP/VPS/Cloud for network bandwidth. It will also involve keeping in sync with security fixes and the state of the art in terms of bot protection, etc. If this use case is not a core part of your business, it will be better to bite the bullet and go ahead with a 3rd party solution like Cloudflare / AWS Cloudfront + WAF + Route 53 / Google Cloud Armor / Fastly

Openresty with a few Nginx modules and Lua scripts can go a long way for many use-cases mentioned:

- ModSecurity for WAF: https://github.com/SpiderLabs/ModSecurity

- L7 Rate limiting: https://github.com/openresty/lua-resty-limit-traffic

- Cache: https://github.com/ledgetech/ledge . Or use varnish which gives you VCL for high configurability

- Load balancing: https://github.com/openresty/lua-resty-balancer

- CDN: https://github.com/taythebot/lightpath . This project seems to be a WIP which you can use as a starting point for your needs. You will also need to find good enough "edge" locations for your CDN.

Similarly, HAProxy does a lot of stuff with the correct config and is also extensible using Lua:

- Some basic DOS protection: https://www.sysbee.net/blog/haproxy-sysadmins-swiss-army-kni...

- L7 DDoS protection: https://github.com/mora9715/haproxy_ddos_protector

You can run your own authoritative DNS server using either djbdns or nsd. Or use AWS Route 53.

Ultimately, it will involve (a lot of) glue code/config depending on what solution you go ahead with.

rrampage··on A few billion lines of code later: using static analysis to find real world bugs
Slides (2008): https://www.usenix.org/legacy/event/sec08/tech/slides/engler...
rrampage··on Show HN: We built an open-source LaunchDarkly alternative for B2Bs
Unleash is open source (Apache 2.0 License). Repo: https://github.com/Unleash/unleash .

Growthbook (as mentioned in a sibling comment) is also open source (MIT License). Repo: https://github.com/growthbook/growthbook

Would be interested in knowing the feature differences between the three as they are all Node / Typescript projects

rrampage··on Show HN: I finished v5 of a JVM framework I've spent spent half a decade making
How does Javalin compare with Dropwizard which is also quite lightweight?
rrampage··on Why we moved from AWS RDS to Postgres in Kubernetes
It depends a lot on the backend architecture. Number of DB requests per web request can also be high due to the pathological cases in some ORMs which can result in N+1 query problems or eagerly fetching entire object hierarchies. Such problems in application code can get brushed under the carpet due to "magical" autoscaling (be it RDS or K8s). There can also be fanout to async services/job queues which will in turn run even more DB queries.
rrampage··on Ask HN: Which books do you consider real gems in your field of work/study?
If reading Data and Reality, please read the 2nd edition [1] (the 3rd edition has a co-author who replaced half the stuff with his own "notes"). The 2nd edition is out of print but you can get a PDF here [2]

[1] https://buttondown.email/hillelwayne/archive/why-you-should-... [2] https://github.com/jhulick/bookstuff/blob/master/Data%20and%...

rrampage··on Packed structs in Zig make bit/flag sets trivial
The rough C equivalent looks like https://godbolt.org/z/YqGPa7ecd , using _Static_assert ( available C11 on wards and as a GCC built-in from 4.6 ) with no default values for the struct members
rrampage··on PostgreSQL 14 Internals Book
Postgrespro's blog ( https://habr.com/en/company/postgrespro/blog/ ) and http://www.interdb.jp/pg/index.html are incredible resources to learn about Postgres internals in depth.

Are there resources of similar quality available for MySQL / MariaDB internals ?

rrampage··on Running GUI apps within Docker containers
It was in 2015. Mozilla's post: https://blog.mozilla.org/security/2015/08/06/firefox-exploit... and HN discussion at the time: https://news.ycombinator.com/item?id=10021376
rrampage··on State of the Web: Static Site Generators
The Missing Semester of CS education by MIT ( https://missing.csail.mit.edu/ ) has a lot of great materials and videos to get started with basics of command line, shell, and git.

It has been discussed previously on HN ( https://news.ycombinator.com/item?id=22226380 )

rrampage··on A Computer in the Game of Life (2020)
Sounds eerily familiar to Permutation city by Greg Egan :)
rrampage··on Book Review: A Philosophy of Software Design (2018)
Previously discussed at https://news.ycombinator.com/item?id=18331219 (51 comments)

Google document where the reviewer and Prof Ousterhout had many insightful discussions on abstraction, simplicity of specification vs simplicity of the interface : https://docs.google.com/document/d/1LLVzpncsDJREybjKxPmgllfX...

Google group with a longer thread between the two: https://groups.google.com/g/software-design-book/c/DvnQ1Bvqy...

Page 1 of 2Next →