41554 blogs · [ { "id": "01a087eb-c266-73fe-8d4e-fa45b2269e7d", "title": "Electronics Anthem", "url": "https://www.thanassis.space/indexer.html", "published_at": "2026-08-16T20:57:05+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45b23f3a78", "title": "Electronics Anthem", "url": "https://www.thanassis.space/anthem.html", "published_at": "2025-09-14T15:04:05+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45b2e64c25", "title": "Recovering my non-booting MBAir from 2012", "url": "https://www.thanassis.space/mbair.html", "published_at": "2024-07-28T09:34:05+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45b30de6ef", "title": "A WASM version of my MandelbrotSSE - runs in the browser!", "url": "https://www.thanassis.space/mandel.html", "published_at": "2022-12-03T18:44:05+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45b34b14c1", "title": "A circuit to charge a LiPo and drive a load at the same time", "url": "https://www.thanassis.space/loadsharing.html", "published_at": "2022-08-06T00:44:05+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45b3a39cee", "title": "AVX instructions and SDL2 in my real-time Mandelbrot zoomer", "url": "https://github.com/ttsiodras/MandelbrotSSE", "published_at": "2022-07-15T20:07:05+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45b47cc124", "title": "Repairing an SLS 2200 powerbank", "url": "https://www.thanassis.space/powerbank.html", "published_at": "2021-09-11T12:41:00+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45b551cb7f", "title": "The Monkey Island PC-Speaker music player", "url": "https://www.thanassis.space/monkeyisland.html", "published_at": "2021-07-27T12:01:00+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45b5f40d3e", "title": "Built in a week: A tiny FORTH for an Arduino UNO's 2K of RAM", "url": "https://www.thanassis.space/miniforth.html", "published_at": "2021-07-03T12:37:00+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45b687c5fa", "title": "A USB2.0 adapter and a 3D-printed enclosure for my AtomicPI", "url": "https://www.thanassis.space/atomicpi-usb2.html", "published_at": "2021-02-03T19:07:00+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45b6d3272c", "title": "Another year, another SBC (Firefly/Station M1)", "url": "https://www.thanassis.space/stationm1.html", "published_at": "2021-01-23T18:17:00+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45b75c52a2", "title": "Making Mandelbrot run in a 1.4$ microcontroller - and speeding up 100x with XaoS", "url": "https://github.com/ttsiodras/Blue_Pill_Mandelbrot", "published_at": "2020-10-30T21:00:00+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45b85bbf94", "title": "Backing up to SBC-based ZFS", "url": "https://www.thanassis.space/backupCOVID.html", "published_at": "2020-07-07T20:59:21+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45b9177442", "title": "Drained batteries, LEDs, and creative solitude", "url": "https://www.thanassis.space/chargepump.html", "published_at": "2020-04-04T16:16:12+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45b9a7c154", "title": "Playing with ROCK PI S - an RK3308 IoT device", "url": "https://www.thanassis.space/rockpis.html", "published_at": "2020-01-25T16:35:09+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45ba9e8554", "title": "Compiling a CPU, in a cheap FPGA board", "url": "https://www.thanassis.space/myowncpu.html", "published_at": "2019-10-20T12:35:09+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45bb82607d", "title": "Remote serial port via ESP8266", "url": "https://www.thanassis.space/remoteserial.html#remoteserial", "published_at": "2019-08-03T12:05:09+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45bc3d7931", "title": "Remote power control via ESP8266", "url": "https://www.thanassis.space/remotepower.html", "published_at": "2019-07-28T10:46:19+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45bcbe2f15", "title": "Atomic PI adventures", "url": "https://www.thanassis.space/atomicpi.html", "published_at": "2019-05-31T22:59:19+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45bdbb6569", "title": "I ported my own CPU in my FPGA board", "url": "https://github.com/ttsiodras/grlib-gpl/", "published_at": "2019-03-17T09:30:19+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45be3ca0c3", "title": "FPGA real-time Mandelbrot zoomer", "url": "https://github.com/ttsiodras/MandelbrotInVHDL/", "published_at": "2018-12-09T09:00:19+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45beb396b8", "title": "Tinkering with electronics", "url": "https://www.thanassis.space/thebeast.html", "published_at": "2017-08-05T19:00:19+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45bf0fe2ba", "title": "The Program of the Month (26 years ago)", "url": "https://www.thanassis.space/animator.html", "published_at": "2017-07-08T11:00:19+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45bf53f874", "title": "Freeing my tablet (Android hacking, SW and HW)", "url": "https://www.thanassis.space/android.html", "published_at": "2016-10-23T15:52:19+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45bf9cbf29", "title": "Code coverage analysis on embedded targets", "url": "https://www.thanassis.space/coverage.html", "published_at": "2016-04-27T17:52:19+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45bfd2e9f5", "title": "The long tail of Lisp", "url": "https://www.thanassis.space/longtail.html", "published_at": "2015-11-11T22:41:19+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c0a7c95d", "title": "Score4JS in React/TypeScript", "url": "https://www.thanassis.space/score4jsreact.html", "published_at": "2015-09-12T11:53:05+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c116f9ff", "title": "What is running inside my bash?", "url": "https://www.thanassis.space/bashheimer.html", "published_at": "2014-10-03T11:53:05+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c1f2e834", "title": "Python, the Ulam spiral and PyPy", "url": "https://www.thanassis.space/primes.html", "published_at": "2014-01-05T17:01:19+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c20e3340", "title": "Building a tiny ARM-based server", "url": "https://www.thanassis.space/arm.html", "published_at": "2013-12-15T20:51:49+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c2d58c2f", "title": "Simulating waves in Javascript", "url": "https://www.thanassis.space/physics.html", "published_at": "2013-12-01T08:01:48+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c32cf4d7", "title": "ASN.1, ASN1SCC - and a TASTE teaser", "url": "https://www.thanassis.space/asn1.html", "published_at": "2013-06-18T15:35:48+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c40f3345", "title": "Optimizing code for the European Space Agency (CUDA/SSE/etc)", "url": "https://www.thanassis.space/straylight.html", "published_at": "2013-06-03T11:30:51+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c492cacd", "title": "VIM, XML and regexp mysteries", "url": "https://www.thanassis.space/regexp.html", "published_at": "2013-03-09T16:18:09+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c502018d", "title": "Automatically solving the UnblockMe puzzle", "url": "https://www.thanassis.space/unblock.html", "published_at": "2012-10-21T09:03:06+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c5ec25f9", "title": "Python \"compile-time\" type checking", "url": "https://www.thanassis.space/pythonTypeChecking.html", "published_at": "2012-08-06T12:42:51+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c66af6a4", "title": "X macros", "url": "https://www.thanassis.space/xmacros.html", "published_at": "2012-04-14T09:13:52+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c723205a", "title": "Offline playback of Youtube videos with their annotations", "url": "https://www.thanassis.space/youtube.html", "published_at": "2012-03-27T20:18:56+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c72bc9b6", "title": "Functional-style Python", "url": "https://www.thanassis.space/pythonFlattenDictionaries.html", "published_at": "2012-03-23T14:56:20+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c7670137", "title": "Why I use VIM", "url": "https://www.thanassis.space/myvim.html", "published_at": "2012-03-10T13:44:44+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c7d53d4c", "title": "Euler 31 - Dynamic programming", "url": "https://www.thanassis.space/euler31.html", "published_at": "2011-12-29T13:27:27+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c7e85032", "title": "Yield differences amongst languages", "url": "https://www.thanassis.space/yieldDifferences.html", "published_at": "2011-11-30T09:05:41+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c84c3677", "title": "Stack-checking a program that will execute in orbit", "url": "https://www.thanassis.space/stackusage.html", "published_at": "2011-09-16T15:19:11+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c8bbfabf", "title": "Porting Score4 to Javascript", "url": "https://www.thanassis.space/score4js.html", "published_at": "2011-07-26T14:52:52+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45c92aaa76", "title": "Automatically playing the ConnectFour puzzle", "url": "https://www.thanassis.space/score4.html", "published_at": "2011-07-09T12:29:32+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45ca20f8b9", "title": "For C programmers that hate C++", "url": "https://www.thanassis.space/cpp.html", "published_at": "2011-03-08T17:29:11+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45cad1837d", "title": "Real-time raytracing with CUDA - a month later", "url": "https://www.thanassis.space/cudarenderer-BVH.html", "published_at": "2011-02-06T11:44:54+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45cb2f02b1", "title": "Real-time raytracing with CUDA", "url": "https://www.thanassis.space/cudarenderer.html", "published_at": "2011-01-02T12:57:59+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45cbfa64af", "title": "The sickness puzzle", "url": "https://www.thanassis.space/amIsick.html", "published_at": "2010-11-21T21:32:21+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45cbfc1063", "title": "100 prisoners - I want to break free", "url": "https://www.thanassis.space/100prisoners.html", "published_at": "2010-07-12T20:05:26+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45ccf608bf", "title": "Simulating gravity", "url": "https://www.thanassis.space/gravity.html", "published_at": "2010-06-17T21:04:43+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45cd606b39", "title": "A SW-only realtime 3D renderer", "url": "https://www.thanassis.space/renderer.html", "published_at": "2010-04-18T17:59:18+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45cd984ba9", "title": "SDL-based simulations of snow, waves, etc", "url": "https://www.thanassis.space/games.html", "published_at": "2009-07-29T08:39:02+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45cda63af2", "title": "Playing with an ATmega168", "url": "https://www.thanassis.space/atmega168.html", "published_at": "2009-06-21T21:03:19+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45ce40e70c", "title": "Windows backups", "url": "https://www.thanassis.space/win32backup.html", "published_at": "2009-04-15T12:16:29+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45cf0f6309", "title": "Automatically solving the Knight's Tour puzzle", "url": "https://www.thanassis.space/knightstour.html", "published_at": "2008-11-29T21:11:07+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45cf1e285a", "title": "Visualize real-time data streams with Gnuplot", "url": "https://www.thanassis.space/gnuplotStreaming.html", "published_at": "2008-09-20T21:21:34+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45d00c0b55", "title": "Shielding your files with Reed-Solomon codes", "url": "https://www.thanassis.space/rsbep.html", "published_at": "2008-07-30T22:21:39+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45d00e1d20", "title": "Playing mp3PRO files under Linux", "url": "https://www.thanassis.space/mp3pro.html", "published_at": "2008-04-26T11:59:43+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45d0d97e12", "title": "Offline rsync", "url": "https://www.thanassis.space/Offline-rsync.html", "published_at": "2008-03-16T17:58:18+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45d15dd014", "title": "Optimal remote backups with rsync over Samba", "url": "https://www.thanassis.space/backup.html", "published_at": "2007-10-27T07:51:11+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45d1943fa4", "title": "The power of Python's yield", "url": "https://www.thanassis.space/yield.html", "published_at": "2007-10-07T13:56:27+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45d1a78113", "title": "Building a (fast) Wikipedia offline reader", "url": "https://www.thanassis.space/buildWikipediaOffline.html", "published_at": "2007-08-13T11:59:08+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45d1d5a8e7", "title": "Playing with statistics and Python", "url": "https://www.thanassis.space/stats_nostalgia.html", "published_at": "2007-06-17T07:58:18+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45d2339462", "title": "Optimally filling-up storage with dynamic programming", "url": "https://www.thanassis.space/fillupDVD.html", "published_at": "2006-09-17T14:08:18+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45d28f5730", "title": "A Python puzzle for python newbies", "url": "https://www.thanassis.space/python.html", "published_at": "2006-08-20T16:21:18+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45d2ae9801", "title": "UNIX/Linux tricks", "url": "https://www.thanassis.space/tricks.html", "published_at": "2006-08-06T16:31:08+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45d36073ea", "title": "The crossing ladders puzzle (Python, Octave, SAGE, ...)", "url": "https://www.thanassis.space/ladders.html", "published_at": "2006-07-16T16:58:18+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45d45c3cbe", "title": "Writing Makefiles", "url": "https://www.thanassis.space/makefile.html", "published_at": "2006-07-02T10:48:08+00:00" }, { "id": "01a087eb-c266-73fe-8d4e-fa45d52f61a2", "title": "Mandelbrot zoomer in SSE (and CUDA)", "url": "https://www.thanassis.space/mandelSSE.html", "published_at": "2002-07-21T16:53:31+00:00" } ] posts Claim your blog
Back to thanassis.space
Blog · corpus.blog/blogs/thanassis.space/posts

thanassis.space

thanassis.space

2026

2025

2024

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013

2012

2011

2010

2009

2008

2007

2006

2002