Fixing bugs like it's 1988
I grew up in the 80's, the decade home computers went from curiosity to mainstream. In primary school we had several Philips P2000T home com...
Cross-Site Request Forgery is dead
After toiling with Cross-Site Request Forgery on the web for, well forever really, we finally have a proper solution, it's Same-Site Cookies.
How to read and understand a scientific paper: a guide for non-scientists
From vaccinations to climate change, getting science wrong has very real consequences. But journal articles, a primary way science is communicated in academia, are a different format to newspaper articles or blogs and require a level of skill and undoubtedly a greater amount of patience. Here Jennifer Raff has…
Lenovo ThinkPad T460 – A Good Linux Laptop for Development
After several years with my Dell Latitude E6400 I was searching for a new, more powerful Linux machine for my coding and performance tweaking tasks. And although the Dell XPS line sounded interesti…
My Hackintosh Hardware Spec
Some of you have asked about my exact Hackintosh spec, so here it is. I built my Hackintosh in March/April 2014, after finally deciding that the Mac Pro was too expensive and didn’t really fit my needs. The spec I was going to go for was an 8-core model, with 32 gigs of RAM, a 1 TB flash
ThoughtWorks has been sold to private equity
Thoughtworks is acquired by Apax Funds. The current management team will continue to run the company as before.
The lost art of 3D rendering without shaders
Learn how OpenGL and Metal work by writing your own 3D renderer from scratch
Anthony Bourdain on not having debt
Before he was the guy from Parts Unknown, he was 44, never had a savings account, hadn't filed taxes in 10 years, and was AWOL on his AmEx bill. That turned out to be a great financial education.
How you can contribute to Firefox 57 success
If you’ve been following Firefox development over the last year, you probably know that we’re hard at work on a major refactor of the browser, codenamed Quantum .
JSC loves ES6
Update: The previous version of this post showed performance data from ARES-6 version 1.0.
300M Freely Downloadable Pwned Passwords
Edit 1: The following day, I loaded another set of passwords which has brought this up to 320M. More on why later on. Edit 2: The API model described below has subsequently been discontinued [https://www.troyhunt.com/enhancing-pwned-passwords-privacy-by-exclusively-supporting-anonymity/] in favour of the
Effectively Using Android Without Google Play Services with Gplayweb in Docker
Mes dernières réalisations
How Unreal Renders a Frame
This is part 1 of the “How Unreal Renders a Frame” series, you can access part 2 and part 3 as well. I was looking around the Unreal source the other day and inspired by some excellent …
The Logic Behind Japanese Sentence Structure
In this article, I break down Japanese sentence structure and show you exactly how Japanese sentences work. A solid understanding of this will save you a huge amount of time trying to make sense of Japanese grammar.
Challenges you’re going to face when building a chatbot
Developing your own medical chatbot? Challenges and lessons learned from developing Symptomate.
1.1B Taxi Rides on Kdb+/q and 4 Xeon Phi CPUs
Benchmarks & Tips for Big Data, Hadoop, AWS, Google Cloud, PostgreSQL, Spark, Python & More...
Better Database Migrations in Postgres
As your database grows and scales there are some operations that you need to take more care of than you did when you were just starting. When working with your application in your dev environment you may not be fully aware of the cost of some operations until you run them against production. And at some point most of…
Writing a Fast JSON Parser
Several holidays ago, I got a bee in my bonnet and wrote a fast JSON parser whose parsed AST fits in a single contiguous block of memory. The code was small and simple and the performance was generally on-par with RapidJSON, so I stopped and moved on with my life.
Clojure Design Patterns
Disclaimer: Most patterns are easy to implement because we use dynamic typing, functional programming and, of course, Clojure. Some of them look wrong and ugly. It’s okay. All characters are fake, coincidences are accidental.
Facebook Shouldn’t Be Allowed to Buy Tbh
Facebook is acquiring tbh, another burgeoning social network; regulators erred in allowing the Instagram and WhatsApp acquisitions, but there is no better place to start enforcing the law than now.
Lessons we learned while bootstrapping
Check out the lessons we learned during our bootstrapping journey, and how we turned our startup into a 7-figure business. Nothing is impossible!