Miscellaneous
Everything that doesn't fit anywhere else.
Old - Some content is 10+ years old, not representing my current thoughts
|
Index
|
|
|
3d Graphics (1 / 2) ▷ |
|
|
|
3d Graphics (2 / 2) ▷ |
|
|
|
Work ▷ |
|
|
|
Machine Learning ▷ |
|
|
|
|
Haskell ▷ |
|
|
|
Rust ▷ |
|
|
|
Physics ▷ |
|
|
|
Compression ▷ |
|
|
|
Web & Networking ▷ |
|
|
|
Meshing ▷ |
|
|
|
Miscellaneous ▷ |
|
rsvp
Rsvp is a Realtime Sampling Visual Profiler for OS X. It uses the
Mach Kernel APIs and various
system utilities for gathering profiling data and displays them using OpenGL. Rsvp provides
function / method level profiling for C/C++/ObjC programs, plus call trees and source level
data. It also monitors memory allocations and disk I/O to give you a more complete picture.
An additional displays shows information on your program's threads. All of the data capturing,
analysis and display is happening in realtime, making rsvp especially suited for dynamic
applications like games or GUI based ones in general. It's light on UI and many times you'll
just want to glance at it while interacting with your application to better understand its
behavior.
The project is open source and well-documented
(download /
GitHub).
|
Top to bottom and left to right: CPU usage of the target program and profiler status,
memory allocation and I/O graphs, thread display, function level profile and call tree.
|
|
|
|
|
Profiling another program and also showing the source view instead of the call tree.
|
|
Vim Scripts
I've been using Vim as my main editor for programming and
document editing for a number of years now. Over time I wrote a significant amount of
tweaks and scripts to augment its functionality. Things like asynchronous command execution
/ make, switching between C/C++ source and header files, helpers for dealing with ctags, searching through all open buffers,
updating the vimrc from my website, a smarter F1 help function, highlighting and opening of
URLs, insertion of C/C++ include guards, toggling tabstop size, smarter buffer deletion, a
custom and more informative status line etc.
Take a look at my vimrc,
you might find something useful for your editing habits.
|
MacVim is probably my
favourite version of the editor. Not that its looks or functions
are substantially different from any other version...
|
|
|
NKS
This is a collection of small programs inspired by Stephen Wolfram's
book A New Kind of Science (NKS). The applications are written in C# using
WinForms 2.0. I'll add more as I progress with the book. I also did some work on
Fractals.
|
|
Conway's Game of Life. This
application runs the famous cellular automaton. The user can place various patterns of interest
on the grid to experiment with specific setups. In the picture several of
Gosper's Glider Guns
have been placed. Available for download.
|
|
Shiny
Shiny is lightweight Win32 GUI toolkit and wrapper library.
|
|
Some UI and a few Doxygen generated class diagrams.
The lower right dialog window shows a configuration dialog where the user can select machines
on the local network. All the functionality is already build into Shiny.
|
|
|
A small example program written in Shiny. It opens a frame window with a menu and parses an XML file
into a tree control. In Win32 this would have been a pain, but with Shiny it's less than 50 lines of
actual code. Take a look at the code here if you want to see what a
small Shiny application looks like.
|
|
|
Fractals
These little mathematical miracles were among the things which originally got me started with OpenGL.
I needed a way to rapidly visualize the heightfields and point clouds which my algorithms generated.
|
|
Mandelbrot / Julia heightfields and some point clouds generated by a chaos game variant.
Mine extends to three dimensions and uses rotations as well as arbitrary translations.
|
|
|
Some more pictures generated by the same algorithms. There's a virtually unlimited
amount of different shapes and figures a well done chaos game implementation can
produce.
|
|
|
|
|
Many years ago I wrote a paper about fractals which became the winning entry in the German pupil
science competition Jugend Forscht.
|
|
Old VB Games
Some old games I wrote ages ago during the golden days of Visual Basic 3 - 6. This
list here is by far not complete, but these are the more interesting ones. All
rendering is Win32 GDI. The graphics are mostly shamelessly stolen from various
commercial games and hobby projects (Including
Tibia,
Doom and
GNU Chess).
|
Red vs Blue! It's your job to conquer planets and gather their resources before
the enemy does so. One can build different kinds of ships. The game has a CPU vs CPU
mode which is quite entertaining to watch.
|
|
|
|
|
My attempt to write an RPG game. It had items and an inventory system, a simple
conversation interface, an automap and funky light and shadow effects. Some
basic pathfinding for the player and NPCs. Never made it into something really
playable.
|
|
|
An electronic chess board. It had no actual player AI, but it watched over the
rules and had features like position load / save, undo move and a chess clock.
|
|
|
|
|
A worms clone! Not exactly very creative, but this one was quite fun to
play. The players had a couple of weapons which they can use to blow up the
terrain and each other.
|
|
CRT 240p Scale Shader
This is a RetroArch
GLSL shader for scaling a wide
range of emulated consoles, handhelds and arcade systems to look high-quality and
authentic on a standard definition, horizontal, 4:3, CRT TV through a single 240p super
resolution.
I'm using the shader with a customized RetroPie installation on a
Raspberry Pi 3B with a
PI2SCART hat, but it should
work fine with different 240p RGB output solutions or software setups.
See this project on GitHub for
more details.
|
All looking proper and pixel perfect! If you've ever tried to get a number of
RetroArch cores emulating dozens of consoles, handhelds and arcade systems to
look correct on your CRT, you know challenging this can be.
|
|
|
|
|