What I make
![]() |
Basic affine geometric primitivesC++ classes:
These header files can be included in any project. No implementation file is necessary. You may need to modify these slightly if you don't use my config files from vDEC. Included is vdec_types.h to give you an idea for what additional definitions are required. Note that a point in 3-space is semantically different from a vector. See the header comments for details. |
![]() |
Precompiled libraries for WindowsWindows (Visual Studio) versions of several scientific computing libraries. See project page for downloads. |
![]() |
vDECMy developmental library for playing with concepts in DEC, as well as all-around geometry/mesh processing library. The picture at left is an illustration of a 2D FDTD simulation on an triangle mesh built with this framework.See the project page for details. |
![]() |
BVP++C++ wrapper library for Fortran boundary value problem solvers. Currently wrapps COLNEW and TWPBVP, allowing continuation and user-specified guesses.See the project page for details. |
![]() |
KoenigSaverA fractal screensaver that plots Koenig's eigenfunctions to Schroeder's functional equation. Have a look at some example miniature screenshots. The program computes an iterated complex map and plots the final complex numbers it obtains. A more detailed description is described in this PDF.The source with the SCR binary can be obtained here. Put the SCR file in your C:\Windows\System32 (or equivalent) folder to use it. |
![]() |
MeshAtlaser and MeshViewerCreates parameterization atlases for meshes (similar to DirectX's UVAtlas). Also included is a program to view the results.Click here to download the Windows binary. The source is part of vDEC. |
![]() |
MIT Photonic Bands Win32I managed to compile all components of MPB on Windows. This is by no means a perfect distribution. I simply hope that others will build off of this work.See the project page for details. |
![]() |
Using TetGen for Voronoi outputI have written a guide to using TetGen's Voronoi output using the programming interface instead of standalone operation. |
Older stuff
- Semicanon - My implementations of a few algorithms (superceded by vDEC).
- Graph3D - A 3D graphing calculator using OpenGL made with MS VC++ 6.0.
- ImageFT - A program to compute Fourier Transforms of images, and filtering of images.
- vlib - A "liberal" library written by me to allow for somewhat-rapid-application-development in C++. (This is just a snapshot)
- PixelEq - Using pixel DIVs to display equations with RLE.
- CSS Triangles - Drawing triangles in CSS.
- Pure CSS Hierarchical lists - Rendering hierarchies using only lists and CSS.
- Quad Based Subdivision - Implementation of discrete differential form subdivision on quad meshes.
What I use
Software libraries
- Math
- File formats
- Wavefront OBJ - Homegrown code
- FreeImage - Basic 2D image processing
- libConfuse - Configuration file parser (another example of an excellent library)
- dxflib - Reading and writing AutoCAD DXF files
- OpenEXR - High dynamic range raster images
- Freetype - For OpenGL text rendering, mostly
- Computational geometry
- General purpose
- STL - Gotta love it, gotta hate it
- Boost - Pieces that should have made it into the standard C++ library
- Google SparseHash - Provides an implementation that is often missing in STL
- cprops - Rapid implementation of data structures in C
- vlib - Allows for rapid prototyping (no longer used, in favor of STL and vDEC)
Packaged applications
I use a rather personalized setup on my computer, most of which is a bunch of freeware I use everyday. Also included are programs I keep open. In order of use, here's a noncomprehensive list.
- Mozilla Firefox - Web browser
- Adobe Acrobat 7.0 - Editting PDFs for my PDFTeX workflow
- 2xExplorer - Double paned file manager
- Metapad - Fast loading text editor
- Cygwin bash shell - UNIX shell on windows
- iTunes - Media player and playlister
- Media Player Classic - For movies and single music files
- UltraMon - Manges windows in dual monitor setup
- TeXnicCenter - LaTeX editor
- Mathematica 6 - Symbolic computer algebra system (version 5 was snappier)
- PuTTY - SSH client
- WinSCP - ScP client
- ATNotes - Sticky notes/calendar for the desktop
- Litestep - (not used presetly) Customizable shell, explorer replacement
- MS Visual Studio 6 and 2005 - Best IDE I've used
- Dev-C++ - Development environment for GNU toolchain
- 7-Zip - Explorer integrated archive manager
- xplorer2 - Newer generation of 2xExplorer
- Paint Shop Pro 6 - Raster graphics program
Setting it up
This is a rather outdated rough outline of how I set up dual booting to my needs. This is mainly for my own records.
Partitioning
A hard drive is to be partitioned using Partition Magic boot disks or other boot disk partitioners as follows:
| Size | Type | Pri/Log | Usage |
|---|---|---|---|
| Disk 1 (160 GB) | |||
| 120 MB | XOSL,78 | Pri | For XOSL graphical boot loader (not needed) |
| 2 GB | Linux Swap | Pri | For Linux swap space |
| 2 GB | FAT16 | Pri | For Windows swapfile (E:) |
| 150 GB | * extended | Log | The Logical partition wrapper |
| 50 GB | NTFS | Log | Main Windows partition (C:) |
| 44 MB | Linux Ext2 | Log | Linux /boot |
| 20 GB | Linux reiserfs | Log | Linux / |
| 12 GB | Linux Ext3 | Log | Linux /home |
| 46 GB | FAT32 | Log | Windows storage space (D:, for backup) |
| 20 GB | FAT32 | Log | Windows storage space (G:, unused) |
| Disk 2 (120 GB) | |||
| 20 GB | FAT32 | Pri | Windows storage space (F:, unused) |
| 94 GB | NTFS | Pri | Main Windows storage space (H:, for all data) |
Install Windows XP Pro first. It may be necessary to hide some of the partitions to coerce the installation onto the designated C: drive and have the drive letter end up as C.
Disable graphic effects, services, uninstall Windows Components, etc.
Install Linux (Gentoo), using GRUB bootloader if not using XOSL, LILO if using XOSL.







