|
|
Old open source programs
These programs are published under a BSD-like licence!
.NET Profiler that outputs detailed runtime trace
Introduction
Runtime trace generation of applications and analyzing runtime traces is a worthwhile
task to investigate the cause of arising malfunctions and accidental crashes.
In order to produce reliable applications, for a program developer it is important to investigate programs using a debugger,
so that erroneous parts of the program, instructions and variables getting incorrect values can be detected.
However, there are many situations where a simple debugger fails to fulfill this task or we are not allowed to use a debugger.
Furthermore, multithreaded applications or applications producing incorrect behavior only under heavy load often may not be debugged correctly on development machines.
The most common research area where detailed runtime traces can be used is dynamic program slicing.
Besides being widely studied in the academic field, dynamic program slicing has industrial applications as well.
The original goal of program slicing was to map mental abstractions made by programmers during debugging to a reduced set of statements in source code.
With the help of program slicing, the programmers can identify bugs more precisely and at a much earlier stage.
The trace generating method exploits the capabilities of the .NET Profiling API and IL code rewriting.
Basically, this approach employs the .NET Profiler and explores all sequence
points and variable accesses in all methods of all classes and all modules of the application being profiled
and inserts trace method calls defined in an outer assembly at every sequence point and variable access at IL code level.
System Requirements
- Windows XP or later
- .NET Framework 2.0 (does not work with .NET 4)
Availability
The source code and the binary can be downloaded from the following URL:
More Information
Please refer to my publications:
http://kpocza.net/Publications.aspx
docx2tex: Word 2007 to TeX
Introduction
Docx2tex is a small command line tool that uses standard technologies
to help users of Word 2007 to publish publications where typography is
relevant or only papers produced by TeX are accepted. Behind the scenes,
docx2tex uses common technologies to interpret Word 2007 OOXML format
without utilizing the API of Word 2007. Docx2tex is planned to be
published as a free open source utility that is accessible and extensible
by everyone. This paper has been originally written in Word 2007 and then
converted to TeX using docx2tex.
Docx2tex was first presented at the TUG 2008 conference.
Usage
docx2tex is a command line application. Copy it to a place where you desire
(optionally put the directory in the search PATH).
Simply run it by specifying the source docx and the destionation tex file.
Features
docx2tex supports to following features:
- Normal text
- Italic, bold, underlined, stroked, small capitals, ...
- Left, right, center aligned text
- Headings - sections (3 levels)
- Verbatim text
- Style mapping
- Simple tables
- Line and page breaks
- Numbered and bulleted lists
- Multilevel lists and continuous numbered lists
- Figure, table and listing captions
- Cross reference to captions and headings
- Image conversion from various formats (incl. .png and .jpeg) to .eps
- Substitution of special characters (e.g. \, #, {, }, [, ], %, &, ~, ...)
- Text boxes
- Basic Word Equations (math formulae) support
System Requirements
- Windows XP or later
- .NET Framework 3.0
- ImageMagicK installed
Availability
The source code and the binary can be downloaded from the following URL:
Looking for developers
As docx2tex is an open source project that means if you want some feature you have to
do it yourself or wait for an unspecified amount of time.
docx2tex lacks many basic and advanced features that should be implemented.
The most important features are the following:
- More Word Equations (math formulae) support
- More configuration possiblities
- Configuration user interface (WPF)
- Optional fonts and text coloring support
- Drawings (xfig)
MultiKeyboard (codename Rudess), for computers with multiple keyboards
Introduction
Imagine the situation when you have a computer that is used by multiple
people even with different user accounts, moreover these users prefer
different keyboard layouts. You may think that the solution of this
problem is very easy: buy two or more keyboards that have different
layouts (English, Hungarian, etc.). But it is only the half of the
solution because the actual keyboards layout is registered by program
level where the input hardware is not taken into account and you have to
manually switch between layouts if you start using another keyboard.
If you switch to other layout on one of your keyboards in Windows, the
other keyboard will use the same layout. The full solution would be to
detect the input hardware also and change automatically when the user
starts to use the other keyboard. MultiKeyboard program does exactly the same.
The application comes in binary (contents of the bin\release directory) and in
source code form also (contents of the src directory).
Short Description
Features
- MultiKeyboard reads "keyboard id - default layout" pairs from the
MultiKeyboard.conf configuration file
- When it is detected at program-level that the user starts working
with a different keyboard than the previous then the default layout of
the new keyboard is loaded based on the configuration
- The layout change does not affect other programs only the actually running
- For any subsequent key presses on the same keyboard the layout is
not automatically changed to default layout of the keyboard (i.e. the
user can change from the default layout)
Note to 64-bit users
This program is a 32-bit application that means it works only with x86
applications running on the system. Although I have a Vista x64 system
it is suitable for us because this application was primarily created for
my girlfriend who uses mainly the following applications that are
fortunately compiled as x86:
- Internet Explorer (32-bit version),
- Office 2007 programs (mainly Outlook and Word),
- Total Commander 7
Usage
To find out the IDs of the attached keyboard devices to your computer
and the keyboard layouts registered for the current user run the
MultiKeyboardList.exe application.
As you can see my system has two keyboards (with IDs HID#VID_... and ACPI#PNP03?)
and two layouts are registered 1033 (US) and 1038 (Hungarian).
After you decided the "Keyboard ID - layout" pairs you have to create a
MultiKeyboard.conf configuration file and place it in the same directory
where MultiKeyboard.exe resides.
In my situation the first keyboard in the list has Hungarian keys while
the second keyboard has English keys therefore I had an easy job:
MultiKeyboard has to run in the background therefore you should place a
link to MultiKeyboard.exe in the Startup section of your Start Menu.
System Requirements
Mohican, small HTTP server
Mohican is a HTTP server written in C# language running on .NET Framework.
I wrote this program while studied for my final examination at the university
just for fun and because I was bored to study a lot of stupidity.
I don't plan to add new features. This program needs at least
1.1 version of Microsoft .NET Framework.
Features
- Tested with Windows XP SP2.
- Runs as a service or as a standalone program.
- XML configuration file (Mohican.conf)
- Logging capability (Mohican.log)
- Multiple server threads, configurable
- MIME types
- Capability to serve static HTML content
- Module based architecture: added a PHP module -> dynamic PHP pages can be served.
- Basic authentication support
- Directory listing
System Requirements:
- at least Windows 2000. Tested on Windows XP, Windows Server 2003.
- .NET Framework 1.1 (now compiled with .NET Framework 2.0 and Visual Studio 2005)
- 100K of disk space for binary
- a bit more disk space for the source code also
- Visual Studio.NET to compile the source code
- Can be compiled and hosted by Mono so Mohican runs on UNIX
KeyMacroDef, Keyboard Macro Definiator Program
KeyMacroDef is a program that extends predefined shortcut key
combinations on Windows to start your favorite programs easier and faster
without using the mouse. You can autostart this program by adding it to
"Start Menu/(All )Programs/Startup" menu. A small icon (K)
will appear on Systray showing KeyMacroDef is running.
By default Windows (XP and later) has a function that you can define
shortcut keys by right-clicking on a Desktop icon or Start Menu item and
set "Shortcut key" item in Properties dialog box. But using KeyMacroDef
this procedure can be replaced and your accelerator keys can be stored in
a centralized place. You can set very complex command strings for each key
combination.
System Requirements:
- at least Windows 2000. Tested on Windows XP, Windows Server 2003.
- .NET Framework (Windows Server 2003 contains it by default)
- 130K of disk space for binary
- a bit more disk space for the source code also
- Visual Studio.NET to compile the source code
PVS generator and renderer
I've written this stuff for a special subject called Direct3D II still when I was an university student.
It consists of 3 parts:
- Map designer
- BSP tree (Binary Space Paritioning tree) and PVS (Potentially Visible Set) generator
- Renderer
The 1st part is the same as in Manowar (below on this page). Source code can be found there.
The 2nd part can be used to calculate the BSP tree and to build the the visibility relation matrix called PVS.
The 3rd part simply renders the generated map. You can use the space key to switch on/off the visibility chencking,
the 'l' key to lock the visibility checking position in order to see was can be seen in the locked position. Use the 'p' key
to switch on/off the portals. Use the esc key to exit the program. You can navigate in the scene using the mouse and its
left and right buttons to go ahead or back.
The theory behind the BSP, Portal and PVS generation is described in my Msc. thesis in Hungarian.
System Requirements:
- Pentium 4 class processor for PVS generation, for rendering a Pentium is OK
- DirectX8 compatible graphics card
- Windows 98. Tested on Windows XP.
- DirectX 8
- 4MB of disk space for binary
- a bit more disk space for the source code also
- Visual Studio.NET to compile the source code (C++)
Manowar, the king of the Games
Features:
- Bilinear/MIP/Trilinear texture filtering
- Portal rendering
- Own map designer program
- Collision detection(a bit bogus but works)
- Mouse support
- 3D Accelerator card supporting Direct3D
- Static lights(with lightmaps)
Requirenments:
- Windows 95/98/2000/...
- DirectX 6.0
- 3D graphics card, but works with software also
- Pentium processor
This program has this name because I was listening Manowar when thinking on the name of the game.
3DS-view, triangle based 3D animation player under DOS
This program is able to load and play 3ds files saved by 3D Studio or exported by 3D Studio Max.
I've written it in Watcom C with inline Assembly(inline loops) when I went
to the Hight school.
You can try it by downloading the program, but you need some 3ds animations.
I've written this - as my first serious 3D program - to get into 3D graphics.
But i've implemented a lot of other algorithms using advanced technics
which aren't any part of these programs in the subject of
visibility determination.
Features:
- perspective corrected texture mapping
- gouraud-texturer
- bump-env-texturer
- z-buffer
- backface culling
- using 3ds cameras
- hierarchical object transformation using matrices
- assembly-optimized inner loop in texturer
- able to load bmp, cel, tga and gif
Requirenments:
- DOS/Windows(not NT)
- Pentium processor (many floating point caculation)
- VESA-compatible video controller
- min 2MB of memory
- some 100KB free disk space
|