Archive
2025
2021
2019
2018
- Dec 8 OverTheWire Advent writeup — Boxy
- Sep 18 CSAW CTF writeup — A Tour of x86
- Aug 25 The design of lock_sock() in Linux kernel
- Jul 14 How to pave a way to fascism legally?
- Apr 29 BlazeCTF writeup — shellcodeme_hard
- Apr 26 BlazeCTF writeup — shellcodeme
- Feb 9 记忆中的兰州拉面
- Jan 16 Hi, Mark
- Jan 9 Defending Spectre/Meltdown attacks
- Jan 6 Understanding Spectre/Meltdown attacks
2017
- Nov 29 Debugging PIE binaries
- Oct 29 Pwnable.kr writeup — asm
- Oct 23 Pwnable.kr writeup — unlink
- Oct 19 Pwnable.kr writeup — uaf
- Oct 16 Pwnable.kr writeup — cmd2
- Oct 8 Square CTF writeup — 6yte
- Sep 1 The art of exploiting heap overflow, part 7
- Aug 21 The art of exploiting heap overflow, part 6
- Aug 16 The art of exploiting heap overflow, part 5
- Aug 8 SHA2017 CTF writeup — Malware Testrun
- Aug 8 SHA2017 CTF writeup — Vod Kanockers
- Aug 3 The art of exploiting heap overflow, part 4
- Aug 2 The art of exploiting heap overflow, part 3
- Jul 31 The art of exploiting heap overflow, part 2
- Jul 29 The art of exploiting heap overflow, part 1
2014
- Aug 1 Ottawa Linux Symposium
2013
- Oct 22 Ingress traffic control
2012
- Dec 18 What every programmer should know...
- Oct 20 An overview of Openvswitch implementation
- Sep 3 C binary literals
- Aug 9 撤销 git 操作
- Jul 17 Parallelism != Concurrency
- Jul 12 Linux kernel memory model
- Jul 6 treap
- Jun 5 Python memoize decorator
- May 29 Dracut: Introduction and Overview
- May 25 Floyd's cycle-finding algorithm
- May 16 A poem about division
- May 9 SEASIDE CANON
- May 5 A Programmer's Poem
- Jan 19 抵制 SOPA
2011
- Dec 17 Polyglot
- Jun 17 Sleep sort
- Jun 2 Kernel Crash Logging and Core Dump
- Mar 16 That is love
- Jan 31 LINUX_REBOOT_MAGIC
2010
- Sep 28 Gcc Trampoline
- Sep 24 Jump Label
- Apr 25 Kimian Self Reproduction
- Apr 23 ELF Extended Numbering
- Feb 24 Integer format conversion
- Feb 23 dogtail
- Jan 25 Coders at Work (一)
2009
- Dec 22 Christmas gifts from Portugal!
- Apr 10 Got a new job
- Mar 21 Serenity
- Mar 9 emacs PK vi
- Mar 4 Linux kernel ASCII art
- Feb 14 Happy Birthday, UNIX!
- Feb 3 C++ string literals
- Jan 31 Returning void
- Jan 17 Linux PID namespace
2008
- Dec 26 When I was in Portugal ...
- Dec 9 Thank you, Ana!!
- Nov 10 Make pthread suck less
- Oct 14 fakeroot vs sudo
- Sep 30 Lapa do Lobo
- Jul 20 Figueira da Foz
- Jun 8 Programming and Sex
- Apr 1 Happy Joking!
- Mar 11 SUID, SGID and sticky bit
- Feb 23 Programming Competitions are Considered Harmful
- Feb 18 Because I wanted to live deliberately
- Jan 20 splice(2) considered useful?
2007
- Nov 25 TCP Closure
- Nov 23 shebang
- Nov 13 Static -- A Pain From Past
- Nov 8 Benchmarking big number operations: C vs Python
- Nov 5 Geek & Joke
- Nov 3 No newline at end of file!
- Oct 27 Plan For Next
- Oct 23 Been there, done that...
- Oct 16 Reverse Mapping in Linux kernel
- Sep 29 I Try
- Sep 1 Happy Blog Day!
- Aug 30 Think Different
- Aug 25 Learn English speaking
- Aug 18 Slab, Slob, Slub
- Aug 15 Masters of Science Fiction
- Aug 11 Brackets, too
- Aug 10 Brackets
- Jun 23 Exam Day
- Jun 7 Quilt
- Jun 3 Sleep
- May 20 Enjoy the life together
- May 19 git
- May 15 Schedule
- May 14 Debugging Day
- May 13 Java!!!
- May 3 Something to mention…
- Apr 30 JDB
- Apr 28 Nerd Tests
- Apr 2 mutt+fetchmail+procmail
- Mar 19 To Live Is To Function
- Mar 10 My answers on yahoo!
- Mar 10 Google hacks
- Mar 10 JFK (film)
- Mar 10 The Da Vinci Code
- Jan 7 All about vi