The two versions of Parquet
The adoption of Parquet version 2 is limited due to the lack of support in the ecosystem, which affects its evolution despite its improvements in compression and performance.
Topics /
The most popular blog posts about software engineering on Hacker News. 14,537 posts.
The adoption of Parquet version 2 is limited due to the lack of support in the ecosystem, which affects its evolution despite its improvements in compression and performance.
When I got started using the Datomic database, I remember someone describing it to me as 'Event Sourcing without the hassle'. Having built Event Sourcing systems both with and without Datomic, I think this is very well put, although it might not be obvious, especially if you don't have much experience with Datomic.
Class website here: https://kmicinski.com/cis531-f25
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
In my last post, we explored how to build WASM modules, both with and without WASI support, using Clang. In a comment on Reddit, it was mentioned that much of the setup I walked through in that post could be avoided by just leveraging Zig’s WASI supprt. This is a great point, and I would recommend doing the same. The…
Update 26 Sep 2020: A followup to this post is Towards principled reactive UI.
;; Done Twice as a "Dojo" at Villiers Park on Thursday 19th March 2015 ;; To groups of about 15 ultra-clever teenagers who were thi...
Growing procedural trees through competition for light: buds, resource allocation, shoot direction, and branch shedding.
Taking over Pokemon Yellow from the inside.
Language models assign probability values to sequences of words. Those three words that appear right above your keyboard on your phone that try to predict the next word you’ll type are one of the uses of language modeling. In the case shown below, the language model is predicting that “from”, “on” and “it” have a high…
A review after using Rust on embedded in production for over a year
People misuse queues all the time. The most egregious case being to fix issues with slow apps, and consequently, with overload. But to say why, I'll need to take bits of talks and texts I have around the place, and content that I have written in more details about in Erlang in Anger .
A collection of posts by Joe Magerramov
People say “Comments should explain why, not what.” I feel like starting a flame war today so I’m going to argue that comments should explain ‘what’ too. Please don’t use this as justification to write bad code, okay? Okay. First of all, why shouldn’t comments explain ‘what’? If you need comments to explain what’s…
Since Python 3.5 was released in 2015 including PEP 484 and the typing module type hints have grown from a nice-to-have to an expectation for popular packages. To fulfill this expectation our team...
Lisp is the language of loveliness. With it a great programmer can make a beautiful, operating thing, a thing organically created and formed through the interaction of a programmer/artist and a medium of expression that happens to execute on a computer.
PHP 7.4 adds typed properties to classes
Big O notation is a great tool. It allows one to quickly make smart choices among various data structures and algorithms. But sometimes a casualBig O analy...
I’ve been thinking about cross platform GUIs, and one question led to the next and eventually I was asking: how do pixels end up on the monitor? A pretty neat stack overflow response answers:
An introduction to the TCC course “Formalising Mathematics”
Lessons learning Haskell It's often claimed that learning Haskell will make you a better programmer in other languages. I like the idea ...
Building distributed databases is very difficult. There are lots of clever ideas you can put into a distributed database, but making the ideas work well together in a real system can be very challenging because different decompositions of the same problem can massively affect how difficult it is to solve, and bugs are…
I want to tell the story of one of my favourite diffs I’ve ever committed. It’s probably not the “best” by any objective measure, but it’s a personal favourite and makes for a good story to boot.
It has been five months since my last general update on the Rust compiler’s performance. Let’s see what has happened in that time.
A long time ago, the Rust language was a language with typestate. Officially, typestates were dropped long before Rust 1.0. In this entry, I’ll get you in on the worst kept secret of the Rust community: Rust still has typestates.
This is the first part of an ongoing series on mastering jq. jq is a valuable tool that every fast coder has in their tool chest. It contains depths of immense power. In part 1, we'll start off with the basics.