Feature Creep in Lab Software
Sure, the goal for Labordatenbank is to provide clean and easy to use applications. Laboratories have complex tasks to solve. That's what they do. No need for lab software to add even more complexity.
Alright than, keep it simple!
Having said that, labs do need specific features to get specific tasks done.
While every feature may add value to at least one user, it also adds complexity to the whole laboratory information system.
We approach this dilemma by
- learning: better understanding enables less complex solutions.
- customizing: features are only activated on need to use basis.
- saying no: if 1.) and 2.) fails and a requests adds more complexity than value, say so and stay firm.
Labels: coding
Fulfilling Development
Would I enjoy spending my life on a beach under the sun? Surely, for a week. But in the end, I need to do great work to find fulfillment. Ideally, work that flows.
I find flow when I'm facing challenges and successes in rapid succession. Really both is needed to stay in the flow of maximum productivity. Tools like Textmate, OS X and git provide fast cycles of code, test and deploy. Which is key to quickly jump from challenge to success and back.
Sure, to run a software company we have to manage marketing, sales, contracts, accounting and so on. But what I enjoy is finding those seemingly obvious solutions in interface and database design that ultimatly provide value to our customer and therefor drive our business.
It's not Twitter or some fancy web company monetizing eyeballs. We charge money for software that customers value. With our customers we develop solutions to collect and manage literally billions of measurements. If we can make their work more effective, than that's fulfilling development!
Labels: coding
Labordatenbank Demos: Allgemeine Einführung
Labels: coding
iPhone Surgery
It looked tough, but doable. So Stefan and I decided to go for it.
- First we had to do some coding. Easy, except the HEX editing which was a bit tiring.
- Second we had to open the device. Hard, since you constantly have to worry about breaking the device.
- Third we had to connect a circuit with a capacitor on the motherboard. Impossible, since those gates are only 0.08mm tick. But somehow we managed it.
NO SERVICE, PLEASE INSERT AT&T SIM CARD
Agrr...
But wait, we forgot to enter:
AT+CLCK=”PN”,0,”00000000″ AT+CLCK=”PN”,2And surprise, surprise: the iPhone is now unlocked!
patSearch
patSearch is a search plug-in for Firefox 2 and Internet Explorer 7. It forwards your regular searches to Google but provides access to other search engines via keywords. Suppose you are interested in Milton Friedman, just type "Milton Friedman" and get the Google results. If you want to go to Mr. Friedman's Wikipedia entry directly, type w Milton Friedman or a Milton Friedman to search for his books on Amazon.
Examples:
|
Labels: coding
CORBA, RMI
Visualization of Hierarchies
Given a folder this app draws a tree in OpenGL showing the hierarchy of the subfolders.

ScreenShot of infovis - 3D view
This app was written for a lecture in Informationsvisualisierung.
Computer Science
|
Lectures on Computation
by Richard Feynman
Feynman starts with the nature of information. Proceeds with building a Turing machine and a transistor. And he doesn't stop short of introducing the quantum computer. This book from 1984 reads fresh and new like there weren't any major development in the mean time. |
Artificial Intelligence: A Modern Approach
by Stuart J. Russell, Peter Norvig ![]() |
Labels: coding
Latex
|
LaTeX by Leslie Lamport (the autor of Latex)
The best introduction on Latex by the writer of Latax himself. |
The TEXbook
by Donald E. Knuth
More on the foundation TEX. |
Labels: coding
CG Books
|
Computer Graphics with OpenGL
by Donald Hearn, M. P. Baker
The theory on CG and... |
OpenGL Programming Guide:
The Official Guide to Learning OpenGL, Version 1.4
by Dave Shreiner, Mason Woo, Jackie Neider
... the reference for OpenGL. |
Labels: coding
CS148: PacMan

Getting together what I learned in cs148, I wrote a Pac Man game as final project. It was simple, but fun :-)
I found the texture part, in this case the face for pacman, most interesting:
- First you need a 2d matrix, the texture representing a color for each pixel. In my case that's a 128x128 pixel smily.
- Next a matrix transformation (2d->3d) to map the color pixel on the 3d object (as shown in the picture below).
- Lastly another transformation (3D->2D) brings the color from the object back to the view port. Which is again a 2d matrix, namley the monitor.
Of course you do the math in reverse order. To get the right pixel of the texture, to the right pixel on the the screen.
Well at least I thought that's pretty cool stuff.
CS148: Walking thru OpenGL
Preparing for my next computer graphics project Animal Farm, I played around with some animations for a walking horse. The animation of the legs is simple based on the sin function of the movement of the horse. With positive sign for the femoral movement and a negative sign for the lower leg movement.
Now I can inherit this functionality for pretty much every animal on the farm.
My goal is to model a short story out of George Orwells Animal Farm. I wanna keep it simple, so I will just put the famous quote "All animals are equal but some animals are more equal than others." and a pig called Napoleon in it. Anyway should be fun.
CS148: Computer Graphics
Generated using simple recursive algorithms for transformation in OpenGL
void fractal2D(double steps) {
if(steps > 20) set color brown:
else set color to a random green;
drawRectangle(-steps/20,0,steps/20,steps); // 1:20
glTranslated(0, steps, 0); // move to the top of the rectangle
if(steps > 2) {
glPushMatrix();
glRotatef(-RandInt(90), 0, 0, 1);
fractal2D(steps/2); // start first branch
glPopMatrix();
glRotatef(RandInt(90), 0, 0, 1);
fractal2D(steps/1.2); // start secound branch
}
}Umstieg auf MySQL (2)
Labels: coding

Patrick
Movies
TU Wien





