Hello!
I am Steinar, although online, many will know me as Sesse.
After moving back and forth for a while, I now live in Oslo,
in my home country of Norway. I currently work for Google,
on the Chrome web browser, but during my previous Google employment,
I also worked on projects such as
IPv6,
Snappy,
Search by Image,
Offline Maps,
TensorFlow,
and many more I cannot talk about.
I've also worked in the MySQL optimizer team for Oracle,
where I wrote the new executor in MySQL 8.0 as well as the upcoming new join optimizer.
I sometimes take pictures, and I play
ultimate.
Contact
You can reach me by:
Software
NOTE: To send a patch to any of these projects, just do “git push”,
and I will receive an email with your patch. Remember to set the committer email appropriately!
I happen to be quite good at changing
patterns of lights, so I do that a lot. A lot of the code I write is made available,
even the projects that are not very useful, or even completely unfinished.
Most of them are just Git repositories,
but some have things that look like web pages dedicated to them.
The list of projects includes:
Video tech
Other popular
Misc.
- audiosync, a few
quick programs to keep the recording from multiple sound cards in
sync (using one channel per card for a sync pulse).
- BetaFTPD, a single-threaded,
minimalistic FTP server.
- bursty, software to
test packet loss behavior over the Internet.
- c64tapwav, a
high-quality .wav generator from a C64 TAP file.
- ccbs, a tournament
system for Dance Dance Revolution
tournaments.
- fat-rescue,
some snippets for rescuing files from a FAT file system with
a broken FAT.
- fp-downconvert,
C code for converting 64-bit IEEE 754 floating-point numbers to
16-bit floating-point numbers, including correct handling of rounding,
infinities, denormals and NaN.
- greasemonkey-scripts,
a few Greasemonkey
scripts I find useful.
- GPUwave, an implementation of
the split-step Fourier method (simulating underwater acoustics) for the GPU.
- hamming,
a simple but relatively fast implementation of (16,11) and (32,26) extended Hamming codes in C.
- ITKACL, a simple
but generic authorization system with bindings to many languages
and systems.
- keycount,
a daemon that counts your keystrokes in the background.
- mbd,
a daemon for relaying broadcast packets for popular games across multiple
network segments, (ab)using directed multicast and helper functionality usually
meant for DHCP.
- pitch,
my FFT-based guitar tuning program.
- qmfsplit,
a moderate-complexity (O(n log n) in number of subbands, but higher
constant factor than straight FFT), small-size (<2kB code with plenty
of opportunity for optimization), low-latency, simplistic splitting
filter based on quadrature mirror filters (QMF).
- qscale,
a high-quality, high-speed image scaling library.
- rdpsrv,
what was once supposed to be a server for Microsoft's Remote Desktop Protocol
(or: how far you can get with a copy of rdesktop and a few days of frantic hacking).
- sigmoidsmooth,
a simple program to fit a sigmoid curve to a set of data points,
using the Ceres library.
- sproing,
a very primitive but fun-to-watch solver for (possibly overconstrained)
trilateration, triangulation and hybrid problems.
- stupid,
a chess AI that lives up to its name.
- sudoku,
a lightning-fast Sudoku solver.
- tcxmerge,
software for finding the most likely route you took given a GPS track,
pedometer/footpod data, and road information from OpenStreetMap,
using the Ceres library.
- ts-ipv6,
a binary patch adding IPv6 support to Tiberian Sun.
- tsp, a program for solving
(possibly sparse) travelling salesman problems using memoization
(good for up to about twenty cities).
- ttk-gettext,
an interface between Template Toolkit and
GNU Gettext, allowing for simple translation of web templates.
- webpdf, the
source code for pdf.sesse.net.
- wloh, the
source code for my Wordfeud
rating system (wloh.sesse.net).
- xml-template, a
completely logic-free, cross-language, well-formed-XML-outputting templating
system.
Also, when I don't write software on my own, I tend to find things that is wrong
in others'. I've lost track of all the patches a long time ago, but I have
code in at least
Android,
autofs,
bcachefs-tools,
binutils,
BusyBox,
c-ares,
CasparCG,
cdpd,
Cura,
debian-installer,
difftastic,
dpkg,
FFmpeg,
Frei0r,
GIMP,
glibc,
gpsd,
grip,
grpc,
GStreamer,
Hitch,
Kdenlive,
libusb,
Linux,
make,
MediaWiki,
Mesa,
MLT,
MPlayer,
MuMuDVB,
Net::RawIP,
NeoMutt,
nfs-utils,
perf,
Request Tracker,
rtorrent,
Slashcode,
StepMania,
Stockfish,
TLSe,
VLC,
typespeed,
webalizer,
wee-slack,
WINE,
and probably a lot of others that I forgot.
Publications
In reverse chronological order.
- Henrik Stewénius, Steinar H. Gunderson, Julien Pilet:
Size
Matters: Exhaustive Geometric Verification for Image Retrieval
,
European Conference on Computer Vision, 2012.
-
Lorenzo Colitti, Steinar H. Gunderson, Erik Kline, Tiziana Refice:
Evaluating
IPv6 adoption in the Internet
, Passive and Active Measurement Conference, 2010.
-
Steinar H. Gunderson:
Musical descriptors:
An assessment of psychoacoustical models in the presence of lossy compression
,
master thesis, 2007.
Last update
This page was last updated July 2024.