HNHacker News
TopNewBestAskShowJobs

grep_it

1,959 karma · joined May 6, 2019

https://siemens.blog
submissionscomments
grep_it··on Compilers are hard
I agree with you. In fact I would say understanding compilers is really pretty easy. They are some of the most well researched and documented subjects (in CS) out there. Almost all compilers are going to follow a similar structure of lex -> parse -> pass0 -> passN -> generation.

The challenge these days seems to be in the passes which can become numerous and complex.

grep_it··on How to contact Google SRE by dropping a shell in Cloud SQL
Thanks for the share!
grep_it··on How to contact Google SRE by dropping a shell in Cloud SQL
I had never heard of a reverse shell before. That is a very neat and simple little trick!
grep_it··on Let's Build a 28-Core Raspberry Pi Cluster
I think Jeff Geerling answers this question succinctly in this video https://youtu.be/kgVz4-SEhbE?t=307 (starting at the 5min mark).

TL;DW - It's fun and you gain the added skills of managing bare metal with physical IO limitations.

grep_it··on The GitHub Availability Report
I could be wrong, but I thought UUIDs could cause some performance troubles for larger table when there is an index on it?

edit: This explains it a bit

> When you insert a new row with a random primary key value, InnoDB has to find the page where the row belongs, load it in the buffer pool if it is not already there, insert the row and then, eventually, flush the page back to disk. With purely random values and large tables, all b-tree leaf pages are susceptible to receive the new row, there are no hot pages. Rows inserted out of the primary key order cause page splits causing a low filling factor. For tables much larger than the buffer pool, an insert will very likely need to read a table page from disk. The page in the buffer pool where the new row has been inserted will then be dirty. The odds the page will receive a second row before it needs to be flushed to disk are very low. Most of the time, every insert will cause two IOPs – one read and one write. The first major impact is on the rate of IOPs and it is a major limiting factor for scalability. [1]

1: https://www.percona.com/blog/2019/11/22/uuids-are-popular-bu...

grep_it··on Show HN: Lite – A small, fast text editor
Really cool project! At what point in the development did you start to use lite as your editor to develop it? I'm sure that was a fun milestone to hit.
grep_it··on Ray Tracing with POV-Ray: 25 scenes in 25 days (2013)
Real Time Rendering maintains a list of high quality free resources including "Ray Tracing: In One Weekend" http://www.realtimerendering.com/#intro
grep_it··on Crafting Interpreters: Closures
Niklaus Wirth's, "Algorithms + Data Structures = Programs", is also a great read for the last chapter, "Language Structures and Compilers", which is a nice succinct read. It provides a little more formalism than Crafting Interpreters and it's introduction of representing grammar as a syntax diagram was especially helpful for me to visually understand the challenges of having more than 1 token of lookahead in LL(k) parsers.
← PreviousPage 2 of 2