Ilya Grigorik
Distinguished Engineer and Technical Advisor to the CEO at Shopify, on a mission to make commerce better for everyone.
- Popular posts
- 12
- Total points
- 2,438
- HN comments
- 531
- Rank
- #649 personal
Visit igvita.com → RSS feedOn Hacker News Feb 2009 – May 2014
Web & Frontend 8Systems & Performance 4Software Engineering 4Networking & Internet 3Databases & Data 3Tools & Productivity 1
Minimum Viable Block Chain
Block chain is agnostic of any 'currency' and it can (and will) be adapted to power many other use cases. This is a ground up explanation of why the particular pieces (digital signatures, proof-of-work, transaction blocks) are needed, and how they all come together to form the minimum viable block chain with all of…
Script-injected "async scripts" considered harmful
Script-injected scripts block on CSS and delay script execution. Their era has passed, and we now have a much better, cleaner, and faster solution: add an async attribute to your script tags.
High Performance Networking in Google Chrome
Chrome gets faster as you use it. Chrome learns the topology of the web, browsing patterns, and critical resources on every page to optimize your browsing! A look under the hood of how it all comes together...
Your Chrome browser might not be using HTTP anymore
Tim Berners-Lee rightfully deserves all the credit for his early work around URI, HTTP and HTML. His efforts ultimately led to the official HTTP 1.0 ( RFC 1945 ) specification in 1996, the HTTP 1.1 proposal (RFC 2068) in 1997 and consequently the official HTTP 1.1 spec ( RFC 2616 ) in 1999. The web as we know it…
Building a Modern Web Stack for the Real-time Web
WebSockets, SPDY, SSL, and persistent connections are in, except that our infrastructure can't support most of these use cases. To enable the modern, real-time web, we need to drag our 'back office' architectures into this century.
Goliath: Non-blocking, Ruby 1.9 Web Server
There are easily half a dozen of factors you need to consider when picking an app server: the choice of the VM, implementation model, performance and memory usage, driver and library availability, community support, and so forth. In other words, it is a complex set of requirements, and no one solution is likely to…
Protocol Buffers, Avro, Thrift & MessagePack
Perhaps one of the first inescapable observations that a new Google developer ( Noogler ) makes once they dive into the code is that Protocol Buffers (PB) is the "language of data" at Google. Put simply, Protocol Buffers are used for serialization, RPC, and about everything in between .
Tokyo Cabinet DB: Beyond Key-Value Store
It took Ruby some time to go from an infant research project by Matz to a language we've all come to know so well. Now, another Japanese developer ( Mikio Hirabayashi ) has all the potential to repeat this cycle with his new database project: Tokyo Cabinet . Developed and sponsored by Mixi Inc . (Japanese Facebook)…
Optimizing Nginx TLS Time To First Byte
TLS is not slow, it's unoptimized. A hands-on tour of optimizing nginx to deliver one-RTT Time To First Byte (TTFB) with TLS.
ZeroMQ: Modern & Fast Networking Stack
Berkeley Sockets (BSD) are the de facto API for all network communication. With roots from the early 1980's, it is the original implementation of the TCP/IP suite, and arguably one of the most widely supported and critical components of any operating system today. BSD sockets that most of us are familiar with are…
Collaborative Map-Reduce in the browser
After immersing yourself into the field of distributed computing and large data sets you inevitably come to appreciate the elegance of Google's Map-Reduce framework . Both the generality and the simplicity of its map , emit , and reduce phases is what makes it such a powerful tool. However, while Google has made the…