Once a glider pilot cannot make it home and is forced to land on a field, assistance of a ground crew bringing the unlucky guy and the plane back to the home airfield is highly appreciated. To navigate your friends precisely on the spot, immediate fine orientation is required. This usually involves an angry pilot rewriting GPS coordinates from on-board navigation or a separate app to an SMS, in which one can easily make a mistake. Such mistake can then result in the rescue squad searching for the glider far far away.
For that matter there is a simple Android app to send exact GPS coordinates and nearest town to your ground crew. You can freely download and install it from the Outlanded home page.
Panotrix is a Hugin-based photo stitching web utility enabling its users the ability to create panoramatic scenes without installing or purchasing a specialised application on their computer.
The Spring-MVC based frontend provides a tool to upload separate photographs and to subsequently download stitched panoramas when the process is done (the user can be informed by email). The backend is a set of bash scripts downloading and analysing individual shots, executing the Hugin binaries and uploading the resulting panorama including related logs back to the frontend server. This functionality has been designed with regard to the time-demanding nature of the image processing, making it scalable by running in parallel on multiple servers and thus to speed-up many concurrent requests.image #1 image #2 image #3
IbiProxy is an experimental project intended to hide user's web browsing from snoopy admins and internet providers.
The idea was to extend the Anonymouse.org web proxy (which is just hiding your identity from remote servers) by keeping secret also the content (through SSL) and URLs you are visiting (by using cached and hashed links in the webpages).
iCamp was intended as a platform for recording and publishing lectures and invited talks at the university.
The project comprised of three elements: (1) Capture - for recording of video and audio streams, (2) Post-processing - step for editing and audio enhancements, and finally (3) the actual presentation. There was also a 'shortcut' omitting step #2 for live streams.
Based on opensource technologies and enthusiasm of involved people, this could have been a wonderful alternative to existing commercial solutions. Unfortunatelly, the project was stopped and the university eventually favoured an expensive mainstream software package.image #1 image #2 image #3 image #4
AJAX-enabled web-based application displaying status of a 16 4-CPUs MAC server machines, including current status of Java/Mathematica+based computation cluster.
Way before Wolfram's gridMathematica even existed, we already had the ability to exploit its power in parallel. An underlying ibiJavaCluster was taking care of distribution, updating and execution of scripts evaluated by Mathematica kernels. Additionaly, these scripts also used the ibiJavaCluster infrastructure to relay messages among each other and a main execution/control node if required.
The whole suite comprised of a nifty library making a bridge between Mathematica, Java and Linux services, ibiJavaCluster and a lot of hacking to make this work on the uni's network.image #1 image #2
This was a very successfull experiment with the famous openMosix clustering linux kernel module. Harvesting 17 CPUs and almost 6 gigs of memory represented a decent computation power in that moment.image #1 image #2 image #3 image #4
Xitami used to be a student portal at the Faculty of Technology, now part of the Tomas Bata University in Zlin. Started in 1999 as a simple textbook and study material exchange "Skriptoviste", extended by "FT-Help" to finally transform to a big thing, gathering a wide community of open-minded students across all the faculties.
The gathering around Xitami have organised numerous public events. The highlights are the first Majales in Zlin (after a long break in 2003; the tradition continues) and famously disorganised movie projections.
Designed and developed in friendly cooperation with Piskot during hot summer 2000 while being roasted in the classroom #507. Greetings to Czerw, Jelly, Boldos, Lanyz, Paja, Jezinky, Kubice, Ghaan and our tiny mascot and mad contributor Psycho! :)image #1 image #2
The original intention was to build a thermometer array sensing and recording teperature across the house with the extension of 'optimal' heating control based on the readings. Later on, however, it became a mean of measuring situation across the office and observing room temperature depending on sunlight and the inappropriatelly-working air-conditioning equipment.
The first prototype was based on analog TMP36 which in combination with high noise and 12-bit ADC indicated very inaccurate values. The second (and current) approach utilises the DS18B20 one-wire digital thermometer with precision of 0.5°C controlled by ATMEGA8-16PU AVR microcontroller. Readings are captured in 5-minute interval, via RS232 send to a node0 queue from which collected every 20 minutes by the presentation page (such 'complicated' solution and long intervals were introduced to prevent data loss when the presentation hits AppEngine's limited free quotas).
My further plan is to replace the internet-connectivity-providing laptop by using the V-USB library to read the data from an old android wifi-connected phone which would radically reduce power consuption and make this thermometer array even nicer :)image #1 image #2 image #3 image #4 image #5 image #6 image #7 image #8
Node0 is a RESTful message queue with extended extended functionality for asynchronous machine-to-machine communication. Originally, it has been developed to provide me a simple and ultra easy-to-use communication intersection for distributed computation. Generally, it can be used for any machine-to-machine communication from any platform available, namely Python, Java or any other scripting language like bash or perl.
There is no hardcoded limitation on message count, frequency or size .. except the server's capabilities and its limits; it's up and running 24/7 on Google infrastructure. Everyone can instantly create and use either just a topic or freely deploy a standalone node0 instance(s) for any purpose imaginable.image #1
Developed for an aircraft design bureau to refine hi-tech products scaling from tiny mechanical assemblies to entire airplane aerodynamics while pushing them them to best functional state possible (as far the models allow:).
The package harnesses the power of two evolutionary algorithms: Differential Evolution (DE) and Self-Organising Migrating Algorithm (SOMA), which can tune arbitrary optimised functions. No matter if your model is a set of Excel-based tables, C/Java/Pyton/ASM?/* code or even Catia-based, any interface can be connected.
At its initial state, it has been used to interface an Excel document modelling ambient conditions in a cabin in order to optimise air-contition unit performance. Nonetheless, models from any concievable area can be optimised.
Imagine a situation you need some file and you are not in reach of internet connection. It's a question of life and death to get that data. But how?
If you have a MMS and Java capable cell phone, this may help you. There is always a friend online who can send you the file via MMS. The datafile gets encoded into a PNG image (please note that there is a certain size limitation) and sent as MMS to your phone, on which you decode it back to original format using a specially developed app. And this is the app! :)image #1
Application controlling and analysing data from a gas spectrometer device.
The device itself was commanded via RS232 serial line, from which generated data was also read. This data was consequently filtered and scanned for expected patterns. Based on these patterns, we could determine properties of analysed materials.image #1 image #2 image #3
There was a requirement for native computationally-intensive optimisation tasks performed on the Java platform, while OpenMosix could not serve to that need (mainly as it could not migrate Java processes across our ad-hoc GNU/Linux cluster). For that matter, an unlimitedly scalable framework has been designed. Including the capability of automatic file distribution and data synchronisation, direct inter-node communication, running in configuration of either a single or multiple master-nodes in a network of subordinate nodes.
It has granted us an opportunity to execute simulations hardly doable a single or separate machine(s) and whose riveting results were published in multiple scientific papers. Additionally, a workshop-arrangement plan optimisation for a local precision engineering factory would not be possible to evolve to such degree of perfection without having employed this very gem.