The Go Programming Language turns two
Happy 2nd birthday, Go!
Topics /
The most popular blog posts about software engineering on Hacker News. 21,844 posts.
Happy 2nd birthday, Go!
A common perspective is that types are restrictions . Static types restrict the set of values a variable may contain, capturing some subset of the space of “all possible values.” Under this worldview, a typechecker is sort of like an oracle, predicting which values will end up where when the program runs and making…
Technical articles by Kevin Menard. Topics include Ruby, Java, machine learning, and general computing.
Applying photo geolocation estimation to the game of GeoGuessr.
This blog post highlights some of the recent efforts to make Node.js better supported in V8 and Chrome DevTools.
Kernel modules are code components that can be loaded and unloaded by the kernel when required. They are used to extend the functionality…
As we announced in the inaugural blog post in our Inside FastBoot series, we have begun working on giving Ember.js developers the ability to run their apps in Node.js. Once complete,...
Access technologies that use data for modern code, machine learning, big data, analytics, networking, storage, servers, cloud, and more.
In my work I’ve developed a mental framework related to data modeling, which has helped greatly both when coming up with a model and when making decisions down the road about how to use that model. Here I will establish three different categories of data in software: Constants, State, and Cached Values. By “data” I…
<p> Running live demos can be stressful. You know what you want to say and show. You prepare the CLI commands you want to run to best showcase what you...
Algebraic Effects are a useful abstraction for reasoning about effectful programs by letting us leave the interpretation of these effects to callers. However, most existing literature discusses these in the context of a pure functional language with pervasive sharing of values. What restrictions would we need to…
Update from the author, over a decade later: Go has improved and so have my own skills. The conclusion of this article was that Go isn't the right language for the task I gave it, and that's no longer true today, but also wasn't true when I wrote the article. This article is user error, not a language issue.
Discussion on notions of software complexity as defined by Rich Hickey, John Ousterhout and Zach Tellman.
Create DWARF debug information with the LIEF Extended DWARF editor and share reverse-engineered types and functions between Binary Ninja and Ghidra plugins.
Ruby can work asynchronously with just a Fiber Scheduler and a couple built-in methods - no frameworks are required! It's easy to use, scales well, and has amazing performance benefits.
The August 2016 Lisp Game Jam just wrapped up at the end of last week. I had some free time so I decided to take part, but I did something a bit different. Instead of making a new game I ported an existing one ( Silt ) to Common Lisp.
It's been a while since I've last rewritten my favorite lexical analyzer :-) That post is the last in a series implementing a lexer for the TableGen language in a variety of programming languages, using multiple techniques. The last lexer written, in Go, was very fast indeed - processing 1 MiB of source in about 20…
Joe Bertolami's portfolio and blog covering artificial intelligence, game development, computer graphics, data compression, and more.