Dr. Thomas Weise

Side Projects

The most important projects regarding my scientific work are the optimizationBenchmarking tool suite, a framework for automatic evaluation and comparison of results from experiments with optimization algorithms, and the TSP Suite, a similar framework for algorithms for the Traveling Salesman Problem (and the predecessor of the optimizationBenchmarking tool suite). Here I list some side projects I do, which may or may not be useful for others. I host most of them at GitHub.

1. Website Builder

This website here is built with my little website builder project. This project allows you to build minified static websites from HTML and CSS with simple extended syntax. These extensions allow you to include files and resolve placeholder variables. The created website will be minified, i.e., HTML and CSS are size-reduced as much as possible. Additionally, where ever it makes sense, static gzipped versions of resources are created. These are compressed as much as possible. They can be served by a webserver instead of the uncompressed resources, which makes the page load much faster and also reduces the workload of the server.

The readme file in the project root folder describes how to use this tool. You can download everything as zip icon zip archive.

2. Ultra GZIP

Ultra GZIP is a tool which attempts to achieve the maximum possible gzip compression (regardless of the required runtime). It is suitable to construct archives which are changed rarely and read very often.

The Website Builder project above, which is used to build this website, uses Ultra GZIP to create gzip archives of the website's static contents. These archives can be served by the web server, which reduces both the load on the server and the time to transfer the contents to the user.

The readme file in the project root folder describes how to use this tool. You can download everything as zip icon zip archive.

3. Distributed Computing Examples

The in my course on distributed computing, I provide several examples. I show how sockets can be used both in Java and C, how to use Java Servlets, and Java Server Pages, etc. All the source code of the examples is included in a GitHub repository and can also be downloaded directly as zip icon zip archive. I will keep updating and extended this set of examples.

4. LaTeX

LaTeX is a “programming language for documents.” It is the most-often used way to write scientific publications. I contribute two small projects to this wide field:

4.1. FigureSeries

figure and figure* environments in LaTeX cannot break across pages. They may, however, include sub-figures. If you have more sub-figures than what fits on one page, you have to manually divide them into two separate figure environments. Doing this is not only tedious, it is virtually impossible to be automated. Such automation may be wanted if you either don't want to do it by hand or if your sub-figures (along with their captions) are automatically generated by some tool.

The package figureSeries provides

  • a facility to include an arbitrary number of (potentially differently-sized) sub-figures into a figure*-like construct,
  • the ability to make this figure*-like construct look as if it was a floating object, which
  • works well in both single-column and double-column documents.

You can download it as single LaTeX style file or as zip icon zip archive including examples.

4.2. Beamer Slides Template with Blue USTC Design

Here you can find my beamer templates for slides which loosely fit to the corporate design of the University of Science and Technology of China (USTC) [中国科学技术大学]. You can download them as zip icon zip as well.

5. Icons

In many situations, we need some small icons for file type and such and such. Since the copyright of such icons is often unclear, I decided to paint my own. You can find them here or download everything directly as zip icon zip archive.