The Curious Engineer

All blogs / Rust

Graham King

darkcoding.net

Solvitas perambulum

RustPerformance / optimizationLinux / UnixAssemblyEngineering blogs

Posts
256 from 20 Oct 2005 to 23 Aug 2025
Posting
now and then
Kind
personal blog
Feed
https://darkcoding.net/index.xml

2025 6

  1. Evaluating LLMs for my personal use case
  2. Underrust: What is the cost of Mutex, RwLock and AtomicPtr?
  3. Underrust: How does u128 work on a 64-bit processor?
  4. Rust HashMap notes
  5. CPU Performance Optimization notes
  6. Transparent Software

2024 4

  1. Travels with ChatGPT
  2. AI Hallucinations Are Often Reasonable Suggestions
  3. Underrust: What does vec![0u8; 1024] really do?
  4. The memory remains: Permanent memory with systemd and a Rust allocator

2022 12

  1. Linux: What can you epoll?
  2. Underrust: Multiple Return Values
  3. Overthinking Leetcode's Two Sum with SIMD
  4. Underrust: What is the cost of sync::Once?
  5. Underrust: Does it matter what type (u8, u32, ...) I use?
  6. The Underrust: Rust's assembly output
  7. A very small Rust binary indeed
  8. A random number you already have: The stack address
  9. Return Value Optimization in Rust
  10. Rust atomics on x86: How and why
  11. Rust is also C
  12. epoll: The API that powers the modern internet

2021 4

  1. Scripting Minecraft server with Python
  2. Rust Performance 101 in 5 Minutes
  3. CPU silently disappointed with your choice of instruction ordering
  4. Traits: Rust's unifying concept

2020 5

  1. A day in the life of a professional software engineer
  2. Three things I wish I’d known learning Rust
  3. Quote of the day: A stirring speech
  4. The simplest CLI that could possibly work
  5. Collect and handle multiple errors in Go

2019 1

  1. A developer goes to a DevOps conference

2018 3

  1. Reading MediaRecorder’s webm/opus output
  2. Javascript’s async/await and Promise in a few words
  3. Growing software, in two tweets

2017 2

  1. What Made Maddy Run
  2. Learn Better – book notes

2016 2

  1. systemd socket activation in Go
  2. The Joy of systemd

2015 17

  1. How Ada Lovelace solved problems
  2. Facebook’s code quality problem
  3. Decrypt your HTTPS traffic with mitmproxy
  4. OSCON 2015: Impressions
  5. GopherCon 2015: Favorite talks
  6. We are Equality
  7. Building shared libraries in Go: Part 2
  8. Building shared libraries in Go: Part 1
  9. How memory is allocated
  10. Go: Slice search vs map lookup
  11. Software engineering practices
  12. How I read job postings
  13. Go: The price of interface{}
  14. Science fiction: Ancillary Sword
  15. Quotes from veteran software engineers
  16. Raw sockets in Go: Link layer
  17. Continuous Delivery: my notes

2014 8

  1. Release It: Write software for production
  2. What a visit from Reddit looks like
  3. Learning assembler on Linux
  4. Dump Go Abstract Syntax Tree
  5. Sync, a Unix way
  6. GopherCon 2014 favorite talks, notes
  7. Raw sockets in Go: IP layer
  8. Three best programming books

2013 18

  1. Go: How slices grow
  2. My setup: Hardware
  3. Kinesis Advantage after four months
  4. Realtime Conf 2013: Favorite talks
  5. WordPress Black Hat SEO dissected
  6. Quote: Look well to each step
  7. What if everyone worked remotely?
  8. How GPG works: Encrypt
  9. Online upgrades in Go
  10. Quote of the day: Bruce Schneier
  11. SSH and OpenPGP keys
  12. Co-located teams are a business risk
  13. We are all polyglots
  14. Rust: What I learnt so far
  15. PyCon 2013: My two favorite talks
  16. Chapter books for a three / four year old
  17. Google World
  18. Keyword arguments in C

2012 21

  1. How will you measure your life? – book notes
  2. Why I prefer Android to iOS
  3. Tools for Change, Social Change Conference 1995 notes
  4. David Suzuki on television
  5. Resident and Virtual memory on Linux: A short example
  6. What is WebRTC? Post on LincolnLoop’s blog
  7. John Cleese – Take micro creativity retreats
  8. Does success at high school predict success in life?
  9. Democracy at work
  10. What is SPDY? Post on Lincoln Loop’s blog
  11. Optimize for motivation: Post on Lincoln Loop’s blog
  12. Go: Targeting a different architecture #golang
  13. Finally understanding Unicode and UTF-8
  14. Go @ Vancouver Polyglot Unconference
  15. Ward Cunningham quotes
  16. Code coverage in django with ‘coverage’ and ‘django-jenkins’
  17. In-memory key-value store in C, Go and Python
  18. Go after four months #golang
  19. Who we are. Why we do it.
  20. Miami Vice: Off-duty
  21. In Go, is your terminal a console or a pipe? isatty golang

2011 20

  1. Proxy socket.io and nginx on the same port, over SSL
  2. Pretty command line / console output on Unix in Python and Go Lang
  3. On why hackers don't work on large teams
  4. Machiavelli on Occupy Wall Street
  5. Ad-blocking your iPad
  6. Finding memory leaks in Python with objgraph
  7. DjangoCon 2011: Psychology for your webapp
  8. Hostage Negotiation 101
  9. Cleaning up old git branches
  10. Profiling Django for CPU bound apps
  11. Unicode in Python 2: Decode in, encode out
  12. git: Resolving 'git gc' error: cannot lock ref
  13. The death of Sean Hoare, whistleblower
  14. Contributing to Django: quickstart
  15. Kobo eReader Touch on Ubuntu Linux
  16. Django class-based views are easy
  17. My experience with django-mptt
  18. Improved Ubuntu notifications: gnome-stracciatella-session
  19. Elizabeth Yin: You don't need a programmer, you need a market survey
  20. Running a Tor relay / node / server on Ubuntu

2010 21

  1. No managers, no meetings: Why working from home is so much more productive
  2. lintswitch: Automatically run pylint / jslint on your code
  3. GNU Screen basics quick reference
  4. Psychology for your webapp at BarCamp 2010
  5. Quote: We want Freedom, not Ping-Pong tables
  6. Question: Income Distribution
  7. Research Papers Archive
  8. Quote of the day: Materialism
  9. Behaviour Change Toolkit
  10. Kathy Sierra: Give your users super-powers
  11. A quote from Richard Stallman
  12. Notes from O'Reilly's Website Optimization
  13. You'd be happier without your television. Sell it on Craigslist.
  14. Scientific proof: You need to get rid of that TV
  15. Television and your brain maps
  16. Open up your WiFi
  17. Setting up Monit on Ubuntu
  18. Setting up Munin on Ubuntu
  19. Restarting MySQL master-master replication
  20. Treating the common cold
  21. Predictably Irrational, by Dan Ariely

2009 29

  1. Influence, by Robert Cialdini
  2. How we know what isn’t so, by Thomas Gilovich
  3. Memcached: List all keys
  4. Guy Kawasaki's 10-20-30 presentation rule
  5. I'm on identi.ca and Twitter
  6. Social psychology in sales copy: Good copy writing
  7. Choosing a message queue for Python on Ubuntu on a VPS
  8. Quote of the day – monkeys
  9. On cellphone use in cars
  10. Django dynamic forms and formsets
  11. How and Why to extend Firefox in Javascript
  12. Unix shared directory permissions: GUID and umask
  13. Legal 1 Usability 0
  14. OpenTTD: Trains and signals for beginners – a tutorial
  15. Quote of the day: Why racists have bad graphic design
  16. Speaking at Open Web Vancouver 2009 in June
  17. Micro-Zooids: A story
  18. Turn on debug output in SVN
  19. Migrating from Picasa to GIMP
  20. What is the point of LinkedIn?
  21. Foxden – your life on one page
  22. Quote of the day: Congressman Mike Honda
  23. Eddit: Reddit without the Rrrr!
  24. Flex internals: Setting a button label
  25. Choosing the best Flex book – Flex book reviews
  26. Math Dodger: A Flash game
  27. Javascript objects: And what is this?
  28. Easy object-oriented Javascript the Python way
  29. This is me

2008 18

  1. Linux on a potato
  2. On the American automobile industry
  3. Dan Gardner on fear
  4. Plebis.Net. Speak your mind.
  5. Internet Explorer not sending NTLM authentication
  6. Keithnote
  7. MySQL quick reference
  8. Using Ekiga softphone on Ubuntu Linux on a Thinkpad
  9. Passenger airlines will charge by volume and weight
  10. A quote from Seth Godin
  11. Host your own Internet
  12. Clay Shirky at Web 2.0 Expo – just watch it
  13. Finally an explanation to mod_python: (Re)importing module 'django.core.handlers.modpython'
  14. The fine line between populism and racism
  15. Wine grapes from least to most tannins
  16. Quote of the day
  17. AJAX, IE6 and System error: -1072896658
  18. Technologies for better web based applications: XMPP, Flex, and more

2007 10

  1. Migrate from Gallery 2 to Flickr
  2. Keep your unit testing lazy
  3. Non blocking console input in Python and Java
  4. XMPP in your browser: Flex 2 with XIFF
  5. Quote of the day
  6. On the road
  7. What really kills people like you ?
  8. BarCampLondon2 wrapup
  9. Jimbo – Monitor your server with Jabber
  10. A week in the woods

2006 24

  1. Factual entertainment
  2. Printing Word And PDF files from Python
  3. Wine grapes
  4. Wine notes
  5. 10 ways to kill a pig
  6. carriagereturn.org
  7. Halliburton solves global warming
  8. Markdown quick reference
  9. Why your company needs a feed reader on every desktop
  10. Timestream: Where does the time go ?
  11. Amazon cuts negative reviews
  12. Firefox Sage extension – beginning development
  13. Sage – the graham patch
  14. Shaun Inman – "10 reasons why you need to build an API"
  15. Tom Coates – Native to a Web of Data
  16. Javascript credit card generator fix
  17. Types of question
  18. Cal Henderson – Building Flickr
  19. Joshua Schacter – del.icio.us – Things we've learned
  20. Why you need a cluster
  21. Goodbye mod_jk hello mod_proxy
  22. Javascript and PHP credit card generator
  23. Fire
  24. Fatigue

2005 31

  1. Juse
  2. Creativity
  3. Free credit cards
  4. JavaWorld unit testing article
  5. When thieves fall out
  6. CVV numbers
  7. Luhn formula
  8. Irregular warfare
  9. Sea power
  10. Land warfare
  11. International law and the use of force
  12. What is strategy
  13. Financial Glossary
  14. Derivatives
  15. Finance basics
  16. GUI design
  17. Get It Done
  18. Decider Protocol
  19. Advice
  20. A short history of Christianity
  21. Michael Jackson
  22. Credit card numbers
  23. Credit card generator
  24. Laws should expire
  25. Prawn / Shrimp garden
  26. Pedestrian crossing
  27. Anti-gravity platform
  28. Cat stroker
  29. Dog Rentals
  30. Office Mum
  31. Amusing feedback