Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 7,298 posts.
Why Discord is switching from Go to Rust (2020)
This post explains why Rust made sense for Discord to reimplement: how it was done, and the resulting performance improvements.
Building an HTML5 Drag & Drop File Uploader Using Sinatra and jQuery: Part 1
Upon setting out to build a Drag & Drop uploader, I first trawled the web for prior art. Blog posts, examples, any information that would lead me down
Django 1.2 final out on Monday
Posted by James Bennett on May 15, 2010
Strings, bytes, runes and characters in Go
How strings work in Go, and how to use them.
Introducing the Go Playground
Announcing the Go Playground, https://play.golang.org/.
NoSQL, Heroku, and You
Why NoSQL Matters “NoSQL” is a label which encompasses a wave of innovation now happening in the database space. The NoSQL movement has sparked a whirlwind
Clojure Protocols can extend final Java classes (like java.lang.String)
Clojure is written in terms of abstractions. There are abstractions for sequences, collections, callability, etc. In addition, Clojure supplies many implementations of these abstractions. The abstractions are specified by host interfaces, and the implementations by host classes. While this was sufficient for…
Google App Inventor uses Scheme under the hood
Posted by Bill Magnuson, Hal Abelson, and Mark FriedmanWe recently announced our App Inventor for Android project on the Google Research Blog. Tha...
Peritext: A CRDT for Rich-Text Collaboration
Collaboration on rich text is hard to model with plain-text approaches. We review the challenges and how to construct a CRDT for rich text.
Rifle-Oriented Programming with Clojure
Any comparison of hot JVM languages is likely to note that “Clojure is not object-oriented.” This is true, but it may lead you to the wrong concl...
Love for LuaJIT
The latest news from Google on open source releases, major projects, events, and outreach programs for early career developers.
Introduction to tmux (alternative to GNU screen)
tmux is similar to screen as it lets you run numerous TTY’s in the same terminal window. It supports some very cool and intuitive features natively as well as a much more readable configuration syntax (ever looked at a .screenrc file?). Why TMUX over Screen? Well according to the FAQ for tmux it has the following…
Phoenix.LiveView: Interactive, Real-Time Apps. No Need to Write JavaScript
Phoenix LiveView is an exciting new library which enables rich, real-time user experiences with server-rendered HTML.
Efficiently Generating a Number in a Range
The vast majority of my posts about random number generation have focused on looking at the properties of different generation schemes. But, perhaps surprisingly, the performance of your randomized a
How to write untestable code
by Miško Hevery , Jonathan Wolter , Russ Ruffer, Brad Cross, and lots of other test infected Googlers This guide lists principles that will ...
Why Rust for safe systems programming
In this series , we have explored the need for proactive measures to eliminate a class of vulnerabilities and walked through some examples of memory safety issues we’ve found in Microsoft code that could have been avoided with a different language. Now we’ll peek at why we think that Rust represents the best…
Critical Django security updates released (0day, exploit in the wild)
Posted by James Bennett on Oct. 9, 2009
Python + Hadoop = Dumbo
As a research intern here at Last.fm, dealing with huge datasets has become my daily bread. Having a herd of yellow elephants at my disposal makes this a lot easier, but the conventional way of writing Hadoop programs can be rather cumbersome. It generally involves lots of typing, compiling, building, and moving files…
Scheme Is Love
Access to this page requires authorization. You can try signing in or changing directories .
The Pragmatic Programmers release an online magazine
Plus: Welcome to PragPub, Up Front, Choice Bits, How Do We…?, Swaine’s World, The Quiz, Shady Illuminations, Calendar. See below for more.