Dimitrij (Mitja) Hmeljak - Publications







Of course, we always know what we are doing... Z-buffers... bilinear... dings...
Z-buffers, bilinear, dingsbums...

 





...older source code, and other things related to Computer Science, Računalništvo, or Informatica...

Suggestion for current Computer Science students: if you are a student hired to write some software for a research project, make sure to stand up for yourself.

A personal anecdote: I wrote a software application used for conducting research studies, on hourly pay as graduate student (translation: not much), back in 2005/2006. If you read the related paper, you will notice that my name is not mentioned anywhere, not even a "thank you" in a footer where the "custom-made program" I wrote is shown in the paper.
Almost two decades later, without even mentioning having failed to provide recognition for the software development work I've done, as used in the research project that led to publication, I've been asked by some of the paper's authors if I could provide my own utility libraries from back then in 2005/2006 (those were software libraries I had written even earlier, independently from this project) as used by the application's source code, since they wanted to recompile and reuse the application I wrote at the time. Again, no recognition - and even if it were to come now, almost 20 years later, it would be way overdue, and it would require a public apology at the same level of the original publication. I'm not holding my breath.

So, if you're a Computer Science student, beware: don't implicitly trust anyone that's not your advisor. Way too often you'll be offered a wage that's too low, and not given any recognition or credit for your work. Politely and firmly: charge what you're worth, ask in advance to be publicly recognized for your contributions, don't accept to be underpaid, unrecognized, (possibly exploited?), even if it seems that you should accept any job because you need income. Something better will become available: you're a Computer Science practitioner, believe in your strengths and skills!

mi_GL_library (between 2003 and 2009)
3D graphics utilities for the CSCI-B481 course, as taught at IU Computer Science between 2003 and 2009
https://github.iu.edu/mitja/mi_GL_library
3D version of Core Audio AUHAL input (2005.05.27)
The sample code getting the AUHAL input audio signal and turning it into animation of a grid of little cubes. It uses GLUT, AUHAL, Accelerate.framework and needs a lot of cleaning before publication.
Here's the 3D version of the executable
(Mac OS X PPC .app thing).
vDSP A.K.A. Accelareate.framework meets Core Audio AUHAL (2005.05.19)
Here's (going to be) some sample code which adds FFT display in real time extracted from the AUHAL input audio signal. It uses Accelerate.framework in addition to what was there before (GLUT, AUHAL).
Here's the FFT-capable executable
(Mac OS X PPC .app thing).
 
Core Audio AUHAL sample code (2005.05.03)
Here's some sample code I wrote to visualize (for now, just the signal...) in real time the audio signal from the AUHAL. It uses GLUT for simple user-event handling and OpenGL to draw the signal. Its audio code is largely based on the TN2091:

Using an Audio Unit as real-time audio input from the Hardware Abstraction Layer of Core Audio is explained in ADC Technical Note TN2091: Device input using the HAL Output Audio Unit.

Here's the executable
(Mac OS X PPC command-line) for the same code.
QTJava sample code (2003.??.??)
Here's a small applet I wrote to read sound signals from a QTJava input audio device. It uses QuickTime for Java - if you don't have Java, QuickTime and QTJava installed on your system, you need to install first.

Audio recording in QTJava is explained in QTJ sample code.

Here's the applet

amazing!
it still worked, 5 years later, on Mac OS X 10.5.4...




One of my previous daytime gigs was at IUB's AVL.
There may be some code & other information still in the Wayback Machine archive of my webpage there.



material from my PhD Oral Qualifier Exam on July 2nd, 2004

Q&A
Bibliography
Recommendation to all students who want to publish their work: follow up with your committee. Ask them if they are interested in publishing something together. Why? For example because they may be already working on something similar. In this case, I had presented the above material to my then-Research Committee on July 2nd, 2004. Next year, this paper was presented by one of the members of my then-Research Committee, at ISMIR 2005; that conference was 11-15 September 2005 i.e. a bit over a year after I presented my Oral Qualifier exam material. Notice any similarities?



Music-related Computer Science work:

 

3D Musical Notation: Providing Multiple Visual Cues for Music Analysis (1998.09.24)
or also "3D Music Notation: Providing Multiple Visual Cues for Music Analysis"
In Proceedings of the XII Colloquium on Musical Informatics, pp.277-279. University of Udine and AIMI, 1998, Gorizia, Italy
Here's a pdf version of it.
Tools for the Analysis of Alterations in Vocal Musical Performance, with D.Zanon (1995.05.19)
In Proceedings of the 2nd International Conference on Acoustics and Musical Research (CIARM'95) 1995, Ferrara, Italy
Here's the abstract.
Study for a Real-Time Voice-to-Synthesized-Sound Converter, with C.Galmonte (1995.05.19)
In Proceedings of the 2nd International Conference on Acoustics and Musical Research (CIARM'95) 1995, Ferrara, Italy
Here's a pdf version of it.



some quotes related to Computer Science, Software, ...

Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.   Alan Kay  

Becoming a programmer for Windows is like becoming a dentist for a Tyrannosaurus Rex.   Wil Shipley, Delicious Monster, The Omni Group 

For the average person that needs to be able to plug in their digital camera without going into the terminal window, we think that the user's experience with any brand of Linux will be sub-par.   Matthew Szulik, Red Hat CEO 

but I fear --- as far as I can tell --- that most undergraduate degrees in computer science these days are basically Java vocational training   Alan Kay  

it's a lot easier [with a Ph.D.]. It's a union card; that's all it is. Just get the stupid union card.   Mary Lou Jepsen, One Laptop Per Child