Images Missing

posted by Alrecenk @ 4:12am, Tuesday 7 May 2013.

Blog got hacked. I rolled it back, but the images that were embedded in the blog posts didn't make it. I suppose that's what I get for using a simplified unsecure open source back-end. I could get the images back, but I'll probably overhaul the whole site soonish so I'm not going to bother. I've already accepted a job, so I don't need to impress anyone right now. I'll make things pretty again whenever I get going on my next big project and I need a nice place to show it off. I'm thinking either robotics, animation, or android development. Should be interesting whatever I end up going with.

comments (1)

For Hire

posted by Alrecenk @ 7:58pm, Saturday 2 February 2013.

I'll be finishing up my Master's in a few short months, and since I've elected not to pursue the PHD route at this time that means I'm looking for work. As always I should but am not actually going to make the website look professional. My experience has been (by which I mean I run Google analytics) that people usually only hit a couple of blog posts, the root sections across the top, and things I specifically give them links to. That being said, allow me to give you my elevator pitch right here on the front page.

I've got a master's in computer science from a competitive school (University of Wisconsin-Madison). I designed and built machine learning analytics software for predicting diseases at Epic Systems. Was I good at it? I worked on it for 4 months, quit to take a teaching position for a semester, and then was hired back at twice the pay for 3 more months. I wrote image processing software that works by tearing an image into tiny pieces and then using those pieces to put the image back together at higher resolution. It runs fast enough that it's practical to run it on video. I've been working on better techniques to find smaller sets of more representative examples to perform mapping operations like this. Below is a sample of my work in continuous optimization of radial basis function network centers. This algorithm outperformed support vector machines on 3 of the 4 UCI repository tests I attempted, and it's not even designed for classification (to understand why this works well, consider that by allowing the basis functions themselves to shift it can achieve the same training set error with significantly less basis functions used than a typical RBF SVM).

Even ignoring my recent machine learning and computer vision research, I am an excellent software engineer. I've written a 3D game, a physics engine, designed a processor, done network and database programming, and now I'm learning Android development and animation techniques. I don't bother listing programming languages on my resume because I can't even remember everything I've written in. Um, Java, C/C++/C# , visual basic, Q-basic, PHP, Perl, ASP, Ruby, javascript, prologue, python, Scheme, Verilog, couple of assemblies and some micro-controller languages. Make up a language. I can be writing it by the end of the week. Anyway, the important part is not that I know a bunch of stuff. The bottom line is: I will succeed at doing things I don't know how to do.

Ok, I'm done, but yeah, if you're in the business of doing the impossible or just being the absolute best at what you do and that "what" is remotely related to computer science, I can be a useful guy to have around.

Let's see, what else is new? I got a Twitter account. It's @Alrecenk if for some reason anyone cares about my inane day to day musings. Oh, and the Android stuff. Not much yet, ported over Lava Man to get a basic grip on multi-touch controls and openGL in that environment. I'm porting over my physics stuff now, and working with a few other guys who are handling the logistics. With any luck we'll have something on the Google store in a few months with iOS hitting at the same time or shortly thereafter.

comments (0)

I am not a doctor.

posted by Alrecenk @ 8:01am, Saturday 1 December 2012.

My plan up until fairly recently had been to get a PHD in computer science. This semester I was finally able to get a research assistantship and begin work toward my thesis. It was 12.5%, so I still had to get a teaching assistantship to cover tuition and bills. I worked about 30 hours a week on a job for which I was being paid for 5 (keep in mind I had classes and a second 10-ish hour job), but I was ok with that because I was doing MY research. However, as time went on it became clear: I was not going to get to do MY research and 30 hours a week was not going to be enough.

I took a computer vision class with the professor I was to work with last spring, and I met with him a few times over the summer to discuss my work. I had been studying image hallucination and super resolution, and we talked about applying those techniques in the area of brain imaging. However, what was really desired was not spatial resolution, but a method to infer non-measured data that you would get from a complex scan using only the information you would get from a simpler, faster, cheaper scan. He said it was less like super resolution and more like adding color to greyscale. I said "I can do that". He gave a me a few papers to read, and I set out to write software that could automatically recolor greyscale images.

I was back working full-time for Epic on using machine learning for disease risk assessment over the summer with an hour and a half commute on both sides of my work day. It didn't leave very much time for extracurricular research, but I managed to cobble together the technique shown in the previous two posts. I showed it to my professor, and he seemed quite surprised that I got such good results so quickly. He offered me a 12.5% RA position as well as helped me secure my TA position. The TA position is with a different professor and paid for by the department, but TA funding was cut this year and I'm an unsupported student. I don't think it's a stretch to assume that I would not have gotten any funding if he had not acted on my behalf.

I already had results, but they were kind of hacked together. The idea was that I would formalize the techniques, that would get me better results, and then I would publish the paper. My technique was based on what I believed to be the core idea in the papers given to me, but the approach was stripped down to the bare minimum. It was simpler, leaner, and much much faster. However, it was not "academically interesting". It didn't really use the technique that was currently in fashion. The assumption was that if I used that technique I would get better results. That's what I would publish, and my goal was the CVPR deadline. However, as I progressed it became clear many of the tricks I used to get the results I got wouldn't work with that technique. Not to mention the speed difference of a few orders of magnitude.

If I were in industry I probably would have turned heel right there. I had a pretty good practical solution that I could focus on making better, but the pressure in this case was to make the fancy technique work. I got it so I could pull off a decent result with the fancy technique, but I didn't have any success getting the clever tricks of the simpler method to work with the fancier technique. About this time (or I guess a few weeks earlier, but this is when we found it), a paper was published from MIT using that same fancy technique to process brain images. I had been scooped.

My reaction was something along the lines of "Well, this technique has already been used like this, so there's no point for me to publish it until I make the next breakthrough". I had a lot of other ideas for improvements, not to mention a big pile of successful tech that had been pushed aside to make room for the hot topic. My professor's reaction differed. He suggested that the timing was close enough together that we could ignore the other paper and still be allowed to publish if we made the deadline. I took it as a sign that I should move in a different direction. He seemed to think it was prudent to double down.

So, I quit. I didn't argue with him. It was obvious by then that I was not in the right place. I'm not sure I can really blame him for trying so hard to publish. It is the nature of the game, but I don't want to play anymore.

I want two things in life: to do good and to be happy. If I am taking an unpleasant path, working crazy over-time, going above and beyond what is required then I'm doing it because I think it will make me happier later or because I believe I am doing good. People with PHD's in CS will make less over their lifetime than those with only master's degrees. Graduate students are over-worked, under-payed, not appreciated, and generally treated like crap. It's not a hedonistic pursuit, and after having sampled both academic and industry research, I must say I had a much more significant impact in industry.

Unfortunately, that assessment does not apply to the master's degree. It really does come with a notable pay bump and a signifant impact on impact. Even so, I've lost my previous fervor for graduate school as well as my best chances at getting funding. If I could get a great job that started in February, well, I think I'd be willing to give up the gold star on my resume. I may be back someday, but for the forseeable future I am not a doctor.

comments (0)

Log In

This is a sidebar.
another link