Atlasian
Curious to see Bamboo in action. I'm glued to JIRA for good, seems natural to use the whole bundle. The only thing that puts me off is that I'd have to re-factor all my projects. Although it's probably nothing.
Mike has offered me to share his license for JIRA, sounds like a good deal. I wonder if instead I could just bring in Bamboo or something else to the same server.
Apache Java Math
It feels that IT world has matured significantly during past few years. I seem to remember that something like clustering analysis was a tedious work and you'd have to use matlab or some C libraries.
Today I've downloaded the jar file, tossed it into a new Eclipse project and printed out some really nice stats for a fastq file. ERR001342, my favourite dataset :)
I'm a bit confused why k-mean clustering gives me very different result each time I run it. Need to read more, or simply think about it for a minute.
Labels: ERR001342 statistics fastq
Job search
Few years have past since the last post. Can't say they were bad or good, both. I'm married now and almost a father. No job, no worries, just applying. Hopefully it'll turn out ok.
UK embassy in Moscow is holding my application for more then a week, so I'm almost late for the job interview. Isn't it fun?
Movie marathon
Our local video store Jupiter had a big sale on Wednesday. 50% off - I couldn't resist. I bought several movies on average for less then a buck each. And a MP3 CD with some club music. I'm not gonna lie here: high chances these are illigal copies but how can one prove it? And why?
It is very convinient, you know, four movies on one disk. Good quality too, not some MP4 smashed junk. This way I can allow myself to buy many junk movies, which otherwise I would never go out for.
I liked this new movie Constantine. Until it got to his stupid weapon and final talk to the devil. He's not that dumb and simple, you know. Beware.
Resident Evil part two looks cheap. Don't even want to talk about this disappointment. What a downgrade.
Riddick is good. Pitch Black and The Chronicles both are good enough to see. Will they continue?
Have you ever seen Charmed in french or in any other language except english? I have. I don't speak french but was able to understand almost everything. I don't think I would watch it in any language I understand well enough but cracking a new language makes it much more interesting.
Blocking user input
Work sucks.
I want make my application to be able to block user input while some operation is running. It appears not that easy. I came up with two sollutions. First, subclass glass pane in the top frame making it able to countercept all user input. A bad way IMHO. Not always you're allowed to do that and sometime glass pane is already corrupted by someone. Second, use modal dialog. I thought this to be a good idea but got a real problem with that. Operations run in a thread different from input blocker thread, since input blocker needs to be blocked when the dialog is shown. Blocking works fine, but sometimes unblock request comes too fast and the modal dialog is not visible yet. This leads to a zombie dialog hanging over the application and leaving user with no control over the program. There is no way to find out when the dialog is visible and the input blocker thread is in wait state since I used AWT Dialog class and its internals are private. Wanted to try ComponentListener but again need to synchronize three (operation + blocker + AWT) threads to do that. Seems crazy and bugful. Oh, and the blocker may still not be waiting at the moment component event arrives. I guess the best decision here would be to repeat what Dialog.show() does, though it may not work in the future. The source of this method looks like it has been written last minute before the deadline.
I wonder if I could put Java applets on these pages. Is it against the rules? There are so many free Java programs out there which could be useful but people just don't know how to use them. Someone publishes pictures, can't I publish applets?
Software engineering
I have to admit we (namely I) lack experience in software engineering. Specifically when it concerns complicated user interactions. I went through several relevant open source projects to see a proper way but everybody seems to be thinking diffirently on the matter. I'm not saying folks out there don't know what they're doing, I just can't see good systematics behind the scene. Is it possible I'm not alone with no computer science education trying to make my living out of it?
By the way, see how "define" defines computer science:
... that conduct research in the area of science that addresses the study of data and information storage and processing systems including hardware, software, basic design principles, user requirements analysis and related economic and policy issues.What's left for others to do? I like "
related econimic and policy issues" the most. Don't you have to be some kind of a market pro and a lawyer for this? Even software engineering being a part of computer science is about "
directing programming teams, scheduling, and budgeting". Time to think about second education. Too bad there is no W3C specification/recommendations for engineering of client-server communicaton suit or similar. It's just a joke, relax. But if anyone knows where to read all about computer science for free, please...
Useful APIs; to div or not to div; DHTML public secrets
I guess everybody here knows about Google API. Well, in a few words this is a thingy that allows programers to use Google search engine capabilities in their software. API comes in diffirent languages, PHP and Java are amongst them of course and it makes me to like Google even more. Today we have discovered that MEDLINE (PUBMED to be more specifically) has an API to access to their services too. (Type "define: medline" in google search to see what the hell is that.) No PHP version though; is PYTHON still that popular? I wonder if there is some kind of an online resource for publicly available APIs like those mentioned above. Some tresure for search spamers.
Can I ask you a question about HTML? I wonder how many people prefer DIV over TABLE and if there is any other descent way to format HTML page. I'd say that vast (if no the most) amount of web sites use tables purely for formating. We found out that HTML specification doesn't recommend it but says nothing about an alternative way. I'm begining to think that Google crawler might like pages that follow some HTML ethiqette (85% chance there is no such word) more then "dirty" ones. Simply since all Google pages including this blogger site are made of DIVs.
One of the guys I'm
working with is doing a web site design and instead of a traditional "reload all page on every user action" scheme he used interactive DHTML The trick is to load a new portion of javascript after user makes a choice. Looks really nice and loading time is significantly lower. I'll put a working link somewhere HERE when the web site is ready. Won't give detailed explanation though unless someone asks.
PHP vs Java
It wasn't really a question until now. We have a big PHP product to run our web servers and we want to sell it. It looks nice and serves its purpose. One problem is that PHP is very inefficient and higher traffic chokes the server. Another problem is scalability. Small scripts look nice but when they become bigger you just spend more time digging and meditating than typing. This road leads to a deadend where you can't fix/expand features and the scripts are just too valuable to throw away because you spent so much time and effort and it works somehow even now. What to do? Should have never started with PHP - that's for sure.
Okey, we sad, let's migrate to Java. The idea looks promising and worth to try. Quite some time later we realized two things. First, renting one more server is about 100$ a month, which is like at least ten times less the profit. So scalability is not an issure here. Second, we're going to have hard times selling our Java version rather then PHP one. This is weird. Java-setup is better by all parameters (for example some tests have shown Java to be about 500 times more efficient then PHP, so instead of 500 servers you'd have just one!) but less profitable for us to sell. Is Sun loosing the battle? We'd love to see Java SE runtime on every PC available or at least on most of them but that is so far from reality.
Representing a small outsource team I'll say that current market situation is unfair. Right now we have a complete production cycle based on open source technologies, from PC 3D games to large bussines network sollutions. Out of all that we prefer to deal with are PC client software and small to average bussines web sites because these segments are very massive and easy to pray. But it appears that Java positions here are weak: try to convince a regular WinXP user to download a 100 Mb Java SE RT bundled with your unquestionably briliant software. Even webmasters are not that easily touched by the promises of all Java bounties when they hear about an application server. Hardware is getting cheaper and more powerful, lame and lazy webmasters are multiplying like rabbits, Sun is still afraid of open-source community... I know, mobile edition is still something to think about but in a way it's like LEGO, it just looks cute but makes no sense.
I saw it with my own eyes
I saw two things I'd like to tell about.
The third episode of Star Wars. Perhaps it has been the most discussed news topic last few days and I'd say it should be. Can't even think of the movie downsides. Couple of questions though: what the hell was he thinking and what kind of lame medicine is that? Actually questions like that only prove that the movie was a success. I gotta say it exceeded my expectations. Especially in how much drama has been brought to the whole saga. IMHO Lucas has set a new SciFi/fiction movie standard or level of complexity in other words. Everything made after episode III will be compared to it, until something really new like 3D movies will be out. I'm hinting on Terminator IV: will they be able to get as high?
Another thing I can't keep to myself is spam in blogs. I like reading what other people think is worth writing about. I like the idea of everyone bieng able to write and share thoughts in his/her own style and manner. And I don't like going through spam blogs with Google ads all over them. Is there any countermesures taken by Google? I've put their ads on this blog too having no illsusions about it. During the AdSense setup there was a disclaimer about spam content and how Google is strict on that. Are they really? Out of twenty blogs I went through yesterday at least half of them looked like complete ad junk to me. Was it just an unlucky day?
And for the record. We shifted to a night-time work schedule during last week. Yesterday we decided to see the movie today. Somehow Mike was able to fix the car and early in the morning we took off. At 9:40 it was almost empty in the movie theater and we bought best sits for ~3 bucks each. During the movie I completely forgot I wanted to sleep but kept thinking to myself about cold beer. After that we visited our friend and had lunch. Somebody forgot to take plastic wrap off the milk shaker so milk shake contained an extra ingridient. It was very hot on the road back home, which I don't remember 'cause I fell asleep on the shoulder of my friend's wife.