Prospecting for Hash Functions
Update 2022 : TheIronBorn has found even better permutations using a smarter technique. That thread completely eclipses my efforts in this article.
Topics /
The most popular blog posts about software engineering on Hacker News. 21,843 posts.
Update 2022 : TheIronBorn has found even better permutations using a smarter technique. That thread completely eclipses my efforts in this article.
How do you balance query time and relevance with Postgres text search? Stephen Gutekanst, an engineer working on Sourcegraph's API docs feature, shares tips for stirring code analysis with search indexing.
Buffered output typically comes in two flavors: fully buffered and line buffered. If output goes to a terminal then the implementation automatically selects line buffering, flushing its buffer when a line is completed so that it reaches the user immediately. Otherwise it fully buffers, holding output until the buffer…
We take pride in personally connecting with all interested partners, collaborators and potential clients. Please email us with a brief description of how you would like to be connected with Galois and we will do our best to respond within one business day.
Software Innovation Lab
Today I've been working with a piece of third-party software. I was having big problems getting it working and decided to delve into its ...
It’s often said that the Age of Information began on August 17, 1964 with the publication of Cooley and Tukey’s paper, “An Algorithm for the Machine Calculation of Complex Fourier…
I’ve always thought dynamic programming was a pretty crummy name for the practice of storing sub-calculations to be used later. Why not call it table-filling algorithms , because indeed, thinking of a dynamic programming algorithm as one that fills in a table is a quite good way of thinking about it.
‘Monadic Parsing in Haskell’ is a short paper that laid the groundwork for libraries like Parsec and Attoparsec. Although it was published in 1998 (almost 20 years ago!) it has aged gracefully and the code samples will run with almost no changes. However, the state of the art has advanced since then and I think the…
My Quines are sometimes specialized for Japanese. But to attend RubyConf, I should write "global" Quines. v=0000;eval$s=%q~d=%!^Lcf<LK8, ...
Today, I'm publishing a new book: Property-Based Testing with PropEr, Erlang, and Elixir . It's my third book, the second one that is not self-published.
I’m trying to build a jigsaw puzzle. I wish I could show you what it will be, but the picture isn’t on the box. But I can show you some of the pieces that snapped into place this year, and try to share a context for why they mattered so much to me.
Update (August 11th): A patch for this bug has been released by Microsoft. Here’s their update to the advisory: We released an updated version of RyuJIT tod...
In this blog post, we walk through how to use Matrix Cores in HIP kernels, with a focus on low-precision data types such as FP16, FP8, and FP4, as well as the new family of Matrix Core instructions with exponent block scaling introduced in the AMD CDNA™4 architecture. Through code examples and illustrations, we…
WebAssembly is an emerging standard whose goal is to define a safe, portable, size- and load-time efficient binary compiler target which offers near-native performance—a virtual CPU for the Web. WebAssembly ...
I regularly hear or read statements like this: “X is slow but this is to be expected because it needs to do a lot of work”. It can be said about an application or a component in a larger system, and can refer to other resources that aren’t time. I often find these profoundly unhelpful as they depend much more on the…
(this was originally given as a talk at AlterConf in Oakland)
Not doing anything with it is exactly the point.
Let's face it, it’s not very exciting to be a Django developer today.
In a previous role, I was an engineering manager for a well-known company for a particular tech stack. One way we sorted through all the applications was requiring coding tests for potential candidates. One truly stood out, and it taught me to think about what I am really looking for in these sorts of submissions.
A point-by-point rebuttal of Zed Shaw's Unicode and 2to3 complaints, with a trainer's view on which Python version to teach beginners in 2016.
I noticed that in the Ruby community “Java” is a synonym of pure evilness. It’s often used as an argument against some techniques. “It’s J...
Or four one liners every Java programmer should know
There are still many situations where it's not feasible to stop a process, attach the debugger, and start futzing with memory. We can argue over whether this is because the industry didn't learn enough from the Pharo folks later. For now, let's pretend that's axiomatic: a certain amount of debugging (and even testing)…
In computing, the terms big endian and little endian refer to the order in which a value's bytes are stored in memory: with the most significant (big) or least significant (little) part first.