Tags
The same posts, sliced by tag.
- ml , 2 posts
- machinelearning , 2 posts
- colab , 2 posts
- rt-detr , 1 post
- focal-loss , 1 post
- object-detection , 2 posts
- ultralytics , 2 posts
- raspberry , 2 posts
- retrogames , 2 posts
- sudomod , 2 posts
- nostalgia , 2 posts
- tinypipro , 1 post
- yolo , 1 post
- windows , 6 posts
- reverseengineering , 4 posts
- decompile , 1 post
- diy , 1 post
- electronics , 1 post
- pcb , 1 post
- golang , 3 posts
- fyne , 1 post
- clean-architecture , 1 post
- music-player , 1 post
- desktop-app , 1 post
- cgo , 1 post
- audio , 1 post
- attiny85 , 2 posts
- arduino , 2 posts
- open-source , 1 post
- embedded , 2 posts
- i2c , 1 post
- oled , 2 posts
- ci-cd , 1 post
- nokia , 1 post
- ringtones , 1 post
- ssd1306xled , 1 post
- wokwi , 1 post
- retro , 1 post
- security , 2 posts
- git , 1 post
- supply-chain , 1 post
- malware , 1 post
- reverse-engineering , 1 post
- shell , 1 post
- devops , 1 post
- crackme , 2 posts
- unpacking , 1 post
- packers , 2 posts
- x64 , 2 posts
- anti-debug , 1 post
- ida , 1 post
- x64dbg , 1 post
- unicorn , 1 post
- keygen , 1 post
- virtualization , 2 posts
- devirtualization , 1 post
- backward-slicing , 1 post
- obfuscation , 1 post
- runtime , 1 post
ml
2 postsTraining a YOLO object detector on a custom dataset
I wrote this in 2019 for YOLOv3 and Darknet. Both are effectively dead now, so I retrained the same shipping-port dataset on a current YOLO and wrote down...
Object detection with focal loss, seven years later
The 2019 version of this post trained Keras RetinaNet, which is now deprecated. I retrained the same port dataset on RT-DETR and found the rare class went from...
machinelearning
2 postsTraining a YOLO object detector on a custom dataset
I wrote this in 2019 for YOLOv3 and Darknet. Both are effectively dead now, so I retrained the same shipping-port dataset on a current YOLO and wrote down...
Object detection with focal loss, seven years later
The 2019 version of this post trained Keras RetinaNet, which is now deprecated. I retrained the same port dataset on RT-DETR and found the rare class went from...
colab
2 postsTraining a YOLO object detector on a custom dataset
I wrote this in 2019 for YOLOv3 and Darknet. Both are effectively dead now, so I retrained the same shipping-port dataset on a current YOLO and wrote down...
Object detection with focal loss, seven years later
The 2019 version of this post trained Keras RetinaNet, which is now deprecated. I retrained the same port dataset on RT-DETR and found the rare class went from...
rt-detr
1 postObject detection with focal loss, seven years later
The 2019 version of this post trained Keras RetinaNet, which is now deprecated. I retrained the same port dataset on RT-DETR and found the rare class went from...
focal-loss
1 postObject detection with focal loss, seven years later
The 2019 version of this post trained Keras RetinaNet, which is now deprecated. I retrained the same port dataset on RT-DETR and found the rare class went from...
object-detection
2 postsTraining a YOLO object detector on a custom dataset
I wrote this in 2019 for YOLOv3 and Darknet. Both are effectively dead now, so I retrained the same shipping-port dataset on a current YOLO and wrote down...
Object detection with focal loss, seven years later
The 2019 version of this post trained Keras RetinaNet, which is now deprecated. I retrained the same port dataset on RT-DETR and found the rare class went from...
ultralytics
2 postsTraining a YOLO object detector on a custom dataset
I wrote this in 2019 for YOLOv3 and Darknet. Both are effectively dead now, so I retrained the same shipping-port dataset on a current YOLO and wrote down...
Object detection with focal loss, seven years later
The 2019 version of this post trained Keras RetinaNet, which is now deprecated. I retrained the same port dataset on RT-DETR and found the rare class went from...
raspberry
2 postsTiny Pi Pro, a super tiny gaming handheld based on Raspberry Pi Zero
TinyPi pro is an ultra-small gaming device based on Raspberry Pi zero. TinyPi pro can emulate several systems such as NES, SNES, Game boy and others. Even after...
Relive retro gaming with Raspberry Pi
Thanks to the cheap yet powerful Raspberry Pi you can create your gaming device. There are lots of DIY kits out there like Tiny Pi Pro, Minty Pi,...
retrogames
2 postsTiny Pi Pro, a super tiny gaming handheld based on Raspberry Pi Zero
TinyPi pro is an ultra-small gaming device based on Raspberry Pi zero. TinyPi pro can emulate several systems such as NES, SNES, Game boy and others. Even after...
Relive retro gaming with Raspberry Pi
Thanks to the cheap yet powerful Raspberry Pi you can create your gaming device. There are lots of DIY kits out there like Tiny Pi Pro, Minty Pi,...
sudomod
2 postsTiny Pi Pro, a super tiny gaming handheld based on Raspberry Pi Zero
TinyPi pro is an ultra-small gaming device based on Raspberry Pi zero. TinyPi pro can emulate several systems such as NES, SNES, Game boy and others. Even after...
Relive retro gaming with Raspberry Pi
Thanks to the cheap yet powerful Raspberry Pi you can create your gaming device. There are lots of DIY kits out there like Tiny Pi Pro, Minty Pi,...
nostalgia
2 postsTiny Pi Pro, a super tiny gaming handheld based on Raspberry Pi Zero
TinyPi pro is an ultra-small gaming device based on Raspberry Pi zero. TinyPi pro can emulate several systems such as NES, SNES, Game boy and others. Even after...
Relive retro gaming with Raspberry Pi
Thanks to the cheap yet powerful Raspberry Pi you can create your gaming device. There are lots of DIY kits out there like Tiny Pi Pro, Minty Pi,...
tinypipro
1 postTiny Pi Pro, a super tiny gaming handheld based on Raspberry Pi Zero
TinyPi pro is an ultra-small gaming device based on Raspberry Pi zero. TinyPi pro can emulate several systems such as NES, SNES, Game boy and others. Even after...
yolo
1 postTraining a YOLO object detector on a custom dataset
I wrote this in 2019 for YOLOv3 and Darknet. Both are effectively dead now, so I retrained the same shipping-port dataset on a current YOLO and wrote down...
windows
6 postsWhy Go binaries need a different protector
A C binary and a Go binary are both native machine code, so the same packer should work on both. It does not. Measured differences, and what each...
Defeating code virtualization: a keygen for a VM-protected crackme
Inside the virtual machine: an anti-single-step trap, a decoy that corrupts the value you are watching but only when your serial is right, and the fifteen lines of...
Unpacking a self-defending Windows crackme
Every section empty on disk, a three layer packer, hash-resolved imports, and a background thread that kills the process 200 ms after you patch the branch. Part one...
Flicker-free text scrolling with Double buffering in Windows
When we try to scroll some text in the dialog with a background image, we can see the flicker of the text. This problem is due to the...
Introduction to software reverse engineering
Reverse engineering, in computer programming, is a technique used to analyze software in order to identify and understand the parts it is composed of. The usual reasons for...
Changing Windows Aero color with Win32 programming
Windows introduced a new engine called Desktop Window Manager which enables glassy look. We will be exploring the hidden windows API functions to programmatically change this glass color...
reverseengineering
4 postsWhy Go binaries need a different protector
A C binary and a Go binary are both native machine code, so the same packer should work on both. It does not. Measured differences, and what each...
Defeating code virtualization: a keygen for a VM-protected crackme
Inside the virtual machine: an anti-single-step trap, a decoy that corrupts the value you are watching but only when your serial is right, and the fifteen lines of...
Unpacking a self-defending Windows crackme
Every section empty on disk, a three layer packer, hash-resolved imports, and a background thread that kills the process 200 ms after you patch the branch. Part one...
Introduction to software reverse engineering
Reverse engineering, in computer programming, is a technique used to analyze software in order to identify and understand the parts it is composed of. The usual reasons for...
decompile
1 postIntroduction to software reverse engineering
Reverse engineering, in computer programming, is a technique used to analyze software in order to identify and understand the parts it is composed of. The usual reasons for...
diy
1 postA tiny game console based on Attiny85
Attiny85 is one of the famous microcontrollers among enthusiasts group. It is high performance yet low power 8 bit RISC based microcontroller having a tiny 8KB of flash...
electronics
1 postA tiny game console based on Attiny85
Attiny85 is one of the famous microcontrollers among enthusiasts group. It is high performance yet low power 8 bit RISC based microcontroller having a tiny 8KB of flash...
pcb
1 postA tiny game console based on Attiny85
Attiny85 is one of the famous microcontrollers among enthusiasts group. It is high performance yet low power 8 bit RISC based microcontroller having a tiny 8KB of flash...
golang
3 postsWhy Go binaries need a different protector
A C binary and a Go binary are both native machine code, so the same packer should work on both. It does not. Measured differences, and what each...
Defeating code virtualization: a keygen for a VM-protected crackme
Inside the virtual machine: an anti-single-step trap, a decoy that corrupts the value you are watching but only when your serial is right, and the fifteen lines of...
GoTune: Exploring Clean Architecture in Desktop Applications
After years of applying Clean Architecture to servers and microservices, I explored how these patterns translate to desktop applications by rebuilding my college-era music player in Go.
fyne
1 postGoTune: Exploring Clean Architecture in Desktop Applications
After years of applying Clean Architecture to servers and microservices, I explored how these patterns translate to desktop applications by rebuilding my college-era music player in Go.
clean-architecture
1 postGoTune: Exploring Clean Architecture in Desktop Applications
After years of applying Clean Architecture to servers and microservices, I explored how these patterns translate to desktop applications by rebuilding my college-era music player in Go.
music-player
1 postGoTune: Exploring Clean Architecture in Desktop Applications
After years of applying Clean Architecture to servers and microservices, I explored how these patterns translate to desktop applications by rebuilding my college-era music player in Go.
desktop-app
1 postGoTune: Exploring Clean Architecture in Desktop Applications
After years of applying Clean Architecture to servers and microservices, I explored how these patterns translate to desktop applications by rebuilding my college-era music player in Go.
cgo
1 postGoTune: Exploring Clean Architecture in Desktop Applications
After years of applying Clean Architecture to servers and microservices, I explored how these patterns translate to desktop applications by rebuilding my college-era music player in Go.
audio
1 postGoTune: Exploring Clean Architecture in Desktop Applications
After years of applying Clean Architecture to servers and microservices, I explored how these patterns translate to desktop applications by rebuilding my college-era music player in Go.
attiny85
2 postsNokia Composer on ATtiny85: ringtones on a chip the size of a fingernail
Building a Nokia Composer ringtone player on an ATtiny85 with a 128x64 OLED, a buzzer, and 8KB of flash.
The journey of ssd1306xled: from debugging to open source maintenance
How a weekend debugging session turned into maintaining an open source library with 103 stars and contributions from developers I've never met.
arduino
2 postsNokia Composer on ATtiny85: ringtones on a chip the size of a fingernail
Building a Nokia Composer ringtone player on an ATtiny85 with a 128x64 OLED, a buzzer, and 8KB of flash.
The journey of ssd1306xled: from debugging to open source maintenance
How a weekend debugging session turned into maintaining an open source library with 103 stars and contributions from developers I've never met.
open-source
1 postThe journey of ssd1306xled: from debugging to open source maintenance
How a weekend debugging session turned into maintaining an open source library with 103 stars and contributions from developers I've never met.
embedded
2 postsNokia Composer on ATtiny85: ringtones on a chip the size of a fingernail
Building a Nokia Composer ringtone player on an ATtiny85 with a 128x64 OLED, a buzzer, and 8KB of flash.
The journey of ssd1306xled: from debugging to open source maintenance
How a weekend debugging session turned into maintaining an open source library with 103 stars and contributions from developers I've never met.
i2c
1 postThe journey of ssd1306xled: from debugging to open source maintenance
How a weekend debugging session turned into maintaining an open source library with 103 stars and contributions from developers I've never met.
oled
2 postsNokia Composer on ATtiny85: ringtones on a chip the size of a fingernail
Building a Nokia Composer ringtone player on an ATtiny85 with a 128x64 OLED, a buzzer, and 8KB of flash.
The journey of ssd1306xled: from debugging to open source maintenance
How a weekend debugging session turned into maintaining an open source library with 103 stars and contributions from developers I've never met.
ci-cd
1 postThe journey of ssd1306xled: from debugging to open source maintenance
How a weekend debugging session turned into maintaining an open source library with 103 stars and contributions from developers I've never met.
nokia
1 postNokia Composer on ATtiny85: ringtones on a chip the size of a fingernail
Building a Nokia Composer ringtone player on an ATtiny85 with a 128x64 OLED, a buzzer, and 8KB of flash.
ringtones
1 postNokia Composer on ATtiny85: ringtones on a chip the size of a fingernail
Building a Nokia Composer ringtone player on an ATtiny85 with a 128x64 OLED, a buzzer, and 8KB of flash.
ssd1306xled
1 postNokia Composer on ATtiny85: ringtones on a chip the size of a fingernail
Building a Nokia Composer ringtone player on an ATtiny85 with a 128x64 OLED, a buzzer, and 8KB of flash.
wokwi
1 postNokia Composer on ATtiny85: ringtones on a chip the size of a fingernail
Building a Nokia Composer ringtone player on an ATtiny85 with a 128x64 OLED, a buzzer, and 8KB of flash.
retro
1 postNokia Composer on ATtiny85: ringtones on a chip the size of a fingernail
Building a Nokia Composer ringtone player on an ATtiny85 with a 128x64 OLED, a buzzer, and 8KB of flash.
security
2 postsWhy Go binaries need a different protector
A C binary and a Go binary are both native machine code, so the same packer should work on both. It does not. Measured differences, and what each...
The git hook trojan: a client sent me malware hidden in .git/hooks
An inbound sales lead, a couple of discovery calls, a zip file with a 'healthcare supply chain' repo inside. The working tree was clean. The malware was in...
git
1 postThe git hook trojan: a client sent me malware hidden in .git/hooks
An inbound sales lead, a couple of discovery calls, a zip file with a 'healthcare supply chain' repo inside. The working tree was clean. The malware was in...
supply-chain
1 postThe git hook trojan: a client sent me malware hidden in .git/hooks
An inbound sales lead, a couple of discovery calls, a zip file with a 'healthcare supply chain' repo inside. The working tree was clean. The malware was in...
malware
1 postThe git hook trojan: a client sent me malware hidden in .git/hooks
An inbound sales lead, a couple of discovery calls, a zip file with a 'healthcare supply chain' repo inside. The working tree was clean. The malware was in...
reverse-engineering
1 postThe git hook trojan: a client sent me malware hidden in .git/hooks
An inbound sales lead, a couple of discovery calls, a zip file with a 'healthcare supply chain' repo inside. The working tree was clean. The malware was in...
shell
1 postThe git hook trojan: a client sent me malware hidden in .git/hooks
An inbound sales lead, a couple of discovery calls, a zip file with a 'healthcare supply chain' repo inside. The working tree was clean. The malware was in...
devops
1 postThe git hook trojan: a client sent me malware hidden in .git/hooks
An inbound sales lead, a couple of discovery calls, a zip file with a 'healthcare supply chain' repo inside. The working tree was clean. The malware was in...
crackme
2 postsDefeating code virtualization: a keygen for a VM-protected crackme
Inside the virtual machine: an anti-single-step trap, a decoy that corrupts the value you are watching but only when your serial is right, and the fifteen lines of...
Unpacking a self-defending Windows crackme
Every section empty on disk, a three layer packer, hash-resolved imports, and a background thread that kills the process 200 ms after you patch the branch. Part one...
unpacking
1 postUnpacking a self-defending Windows crackme
Every section empty on disk, a three layer packer, hash-resolved imports, and a background thread that kills the process 200 ms after you patch the branch. Part one...
packers
2 postsWhy Go binaries need a different protector
A C binary and a Go binary are both native machine code, so the same packer should work on both. It does not. Measured differences, and what each...
Unpacking a self-defending Windows crackme
Every section empty on disk, a three layer packer, hash-resolved imports, and a background thread that kills the process 200 ms after you patch the branch. Part one...
x64
2 postsDefeating code virtualization: a keygen for a VM-protected crackme
Inside the virtual machine: an anti-single-step trap, a decoy that corrupts the value you are watching but only when your serial is right, and the fifteen lines of...
Unpacking a self-defending Windows crackme
Every section empty on disk, a three layer packer, hash-resolved imports, and a background thread that kills the process 200 ms after you patch the branch. Part one...
anti-debug
1 postUnpacking a self-defending Windows crackme
Every section empty on disk, a three layer packer, hash-resolved imports, and a background thread that kills the process 200 ms after you patch the branch. Part one...
ida
1 postUnpacking a self-defending Windows crackme
Every section empty on disk, a three layer packer, hash-resolved imports, and a background thread that kills the process 200 ms after you patch the branch. Part one...
x64dbg
1 postUnpacking a self-defending Windows crackme
Every section empty on disk, a three layer packer, hash-resolved imports, and a background thread that kills the process 200 ms after you patch the branch. Part one...
unicorn
1 postUnpacking a self-defending Windows crackme
Every section empty on disk, a three layer packer, hash-resolved imports, and a background thread that kills the process 200 ms after you patch the branch. Part one...
keygen
1 postDefeating code virtualization: a keygen for a VM-protected crackme
Inside the virtual machine: an anti-single-step trap, a decoy that corrupts the value you are watching but only when your serial is right, and the fifteen lines of...
virtualization
2 postsWhy Go binaries need a different protector
A C binary and a Go binary are both native machine code, so the same packer should work on both. It does not. Measured differences, and what each...
Defeating code virtualization: a keygen for a VM-protected crackme
Inside the virtual machine: an anti-single-step trap, a decoy that corrupts the value you are watching but only when your serial is right, and the fifteen lines of...
devirtualization
1 postDefeating code virtualization: a keygen for a VM-protected crackme
Inside the virtual machine: an anti-single-step trap, a decoy that corrupts the value you are watching but only when your serial is right, and the fifteen lines of...
backward-slicing
1 postDefeating code virtualization: a keygen for a VM-protected crackme
Inside the virtual machine: an anti-single-step trap, a decoy that corrupts the value you are watching but only when your serial is right, and the fifteen lines of...
obfuscation
1 postWhy Go binaries need a different protector
A C binary and a Go binary are both native machine code, so the same packer should work on both. It does not. Measured differences, and what each...
runtime
1 postWhy Go binaries need a different protector
A C binary and a Go binary are both native machine code, so the same packer should work on both. It does not. Measured differences, and what each...