Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 2,307 posts.
Black Hole Tech?
In celebration of the detection of gravitational waves, Stephen Wolfram looks forward and discusses what technology black holes could make possible.
Analyzing Last.fm Listening History
Last.fm is a web site that tracks your music listening history across devices (computer, phone, iPod, etc) and services (Spotify, iTunes, Google Play, etc). I’ve been using Last.fm for nearly 10 years now, and my tracked listening history goes back even further when you consider all my pre-existing iTunes play counts…
Dissecting a spammer's spam script
Let's dissect a PHP spam script and find out how spammers send spam messages and how they have tried to obfuscate the actual code they use.
Fixing JSON
I’ve edited a couple of the JSON RFCs, and am working on the design of a fairly complex DSL, so I think I can claim to have dug deeper in the JSON mines than most. We can easily agree on what’s wrong with JSON, and I can’t help wondering if it’d be worth fixing it.
Laws of Performant Software
Learning how to write performant code is hard. Here are a few simple laws that I hope will convey the core of the matter. I’m calling them…
Before brogramming, table flipping, and beyond
Technowoman, one woman and her travels through a career in technology
Why Ruby is an acceptable Lisp (2005)
Random code snippets, projects and musings about software from Eric Kidd, a developer and occasional entrepreneur.
Controlling vehicle features of Nissan LEAFs remotely via vulnerable APIs
Last month I was over in Norway doing training for ProgramUtvikling, [http://programutvikling.no/] the good folks who run the NDC conferences I've become so attached to. I was running my usual “Hack Yourself First” workshop [https://www.troyhunt.com/2016/02/more-europe-even-more-again-and-more.
“Screw it, I'll make my own” – The story of a new programming language
The story of a new programming language
Sierra Gets Creative
Coming out of Sierra On-Line’s 1984 near-death experience , Ken Williams made a prognostication from which he would never waver: that the real future of home as well as business computing lay with the open, widely cloned hardware architecture of IBM’s computers, running Microsoft’s operating systems. He therefore…
Shut Up, Paul Graham: The Simplified Version
As often happens when you say something controversial, there have been some very adventurous interpretations of the essay I just wrote about economic inequality. I thought it might help clarify matters for the undecided if I tried to write a version so simple that it leaves no room for misinterpretation. “I wrote <a…
Programming Has Changed My Life
The story of how programming has made me a better person than I was.
Configuring a High Interactivity SSH HoneyPot
Due to continued visitation resulting in 404s to this article it has been restored from an older, and lost, version of this blog from content at – https://web.archive.org/web/20170811222717/https://www.robertputt.co.uk/2016/11/28/learn-from-your-attackers-ssh-honeypot/ , it may be incomplete, for example images being…
A Simple Content-Based Recommendation Engine in Python
Let's pretend we need to build a recommendation engine for an eCommerce web site. There are basically two approaches you can take: content-based and collaborative-filtering. We'll look at some...
Learning Exploitation with Offensive Computer Security 2.0
Own this domain today. We make your shopping experience easy. Friendly and quick customer service.
JavaScript web apps considered valuable
Recalling best practices for web applications that make heavy use of client-side JavaScript.
GitHub lock-in?
There has been a lot of noise recently on how GitHub is bad, and how developers should stop using it.
It's Going to Be Okay
Let's pause and discuss this for a minute.
FreeBSD Jails the hard way
There are many great options for managing FreeBSD Jails. iocage, warden and ez-jail aim to streamline the process and make it quick an easy to get going. But sometimes the tools built right into the OS are overlooked.
The SQL filter clause: selective aggregates
The FILTER clause extends aggregate functions (SUM, AVG, COUNT, etc.) with an additional WHERE clause. Databases not supporting FILTER can use CASE within the aggregate function instead.
Zero Knowledge Proofs: An illustrated primer (2014)
One of the best things about modern cryptography is the beautiful terminology. You could start any number of punk bands (or Tumblrs) named after cryptography terms like ‘hard-core predicate&#…
Analyzing the Patterns of Numbers in 10M Passwords (2015)
There are many patterns for numbers in passwords, which involve surprising yet intuitive logic.
A visual exploration of the spatial patterns in endings of German town names
A visual exploration of the spatial patterns in the endings of German town and village names.