welcome to my blog !

My name is Aleksey Maksimov. I am Software Architect with many years of IT experience and architecture experience. I work for a global IT consulting company and live in the United Kingdom. This is my software rants blog. I also have blog about my life happenings, in Russian. I also registered in almost all social networks, usually as ctpeko3a, sometimes as lechat and rarely as drunkenfly. Here is my FriendFeed and View my profile on LinkedIn.

January 06 2010

Recursive Linux “Find Files Containing”

find . -name "*.ext" -exec grep -i -H -n "texttofind" {} \;

December 10 2009

Problem testing Postfix

Tagged Under : , , , ,

I am installing Postfix on my unmanaged VPS hosting machine and I am doing it first time ever. I followed the installation manual on Ubuntu site and everything looks all right except one tiny thing: I can’t send email using Telnet. Here is the response:

421 4.3.0 collect: Cannot write ./dfnBA9gfVO030273 (bfcommit, uid=0, gid=111): No such file or directory

I googled for an answer, but nothing useful came up so I tried to debug the problem myself. By looking into mail logs (/var/log/mail.log, found by examining /etc/syslog.conf) I found following strange response:

 start postfix/master[15758]: fatal: bind 0.0.0.0 port 25: Address already in use

That means only one thing: there is another process listening on this port. Hmm, what could it be? Sendmail, perhaps. I uninstalled it, according to guides I was using, but it was still running.

It’s time to stop it and start postfix!

sudo service sendmail stop

sudo service postfix restart

 

Problem solved!

December 01 2009

Moved my blog

Moved my blog to a cheaper VPS. Also now this blog is served by Lighttpd instead of Apache. Everything seems to be a bit faster!

October 27 2008

Trying Rational Team Concert

Image representing IBM as depicted in CrunchBase

Image via CrunchBase

After rave reviews from my coworkers, who seen the IBM presentation, I decided to give it a try on my local machine. As it usually happens with IBM beta software, the expectancy of it working is close to zero. Let’s give it a try this time, could it be better?

First, I headed to http://jazz.net/ to download software. The server, obviously, managed by IBM marketing department, requires to register. Usual IBM ID is not supported, so I had to give IBM my email once again.

Since I only need a software for basic trial, I decided not to download version, which supports DB2 and Oracle databases. There is no support for MySQL either, but at least they promise to include Derby in setup package. So I pointed that I want Windows installation and found that download size is about 400Mb, and there is no IBM Download Manager (which I hate) to be seen.

So I downloaded and unpacked everything to my hard drive. I am on Windows and Windows users are used to find setup.exe, which does installation of the software for you. There is no such thing here: only install_express_c.html file, which describes step by step installation procedure for both Windows and Linux. Why Linux if I specifically stated that I want Windows installation?

First step says that I have to navigate to Tomcat’s folder and then run server.startup.bat file. There is no such file! The actual file named startup.bat. So I executed it, new command line window popped out and it is full of exceptions. Something about IbmX509 KeyStoreManager is nowhere to be found. Of course it can not be found because I am not running IBM JVM! What kind of assumption is to expect that everybody in the world are on IBM JVM, huh? I had to dig into Tomcat’s server.xml to set it to use Sun’s X509 keymanager (simply open tomcat/conf/server.xml, find IbmX509 and replace it with SunX509).

After quick restart Tomcat is happy and I can open, according to instructions, Jazz setup screen, which is a web application running within Tomcat. The setup has two options: “Fast Path” and “Custom setup”. I’ve chosen Fast Path because I am happy with the defaults, whatever they are. Click on “Fast Path” gets me to “Setup User Registry” screen, which has “A problem occurred while loading User Registry settings.” error message displayed. Hmm… Let’s head back to installation guide:

The default user name and password are case-sensitive:

  • The user name is ADMIN.
  • The password is ADMIN.

If you configured the LDAP directory Web container, log in with a JazzAdmin user that is defined in your LDAP directory.

What? I have to configure LDAP directory Web container first? This is first time it mentioned in this “guide”! How do I do that? There is no answer.

Ok, Fast Path is broken, so let’s try Custom setup. Click. “Loading Database Connection settings…” No progress here as well. Nothing about such problems in tomcat logs, nothing in server troubleshooting section of installation guide.

So there is no Rational Team Concert for me for now. Would I recommend it for use on my next project? 

Update: Decided to dig around filesystem, looking for something useful like logs and other batch files. Found some logs in Tomcat cache folders (tomcat/work/Catalina/localhost) with the ClassNotFound messages. Found jars, containing missing class and added it to CLASSPATH. No help.

Then found mentioned above server.startup.bat and tried to run it. Now it complained about SunX509 KeyManager, so I returned the IbmX509 KeyManager back. Still no help progressing with Jazz Setup…

And then I decided to run repotools.bat – just in case the repository got corrupted or something. Execited it with parameter –createTables, it done something with something.

Tried Jass Setup page again and now it worked! Whoa!

March 09 2007

Faces component: Table with subtotals

I tried to search all over the web for a Java Faces component, which will do a simple thing: totals and subtotals. And I failed. It seems that whole web is about how much more AJAX you could put everywhere, not how more useful your product could be for average user.

It could be done through a facet tag, which is obvious.

I think about that as competitive advantage for myself. If nobody done it – I should do it and be recognised for it!

December 03 2006

Subversion and branching

Excellent article on branching in Subversion. One thing missing is the branch timeline chart. Something like this:

Where horisontal line is the trunk timeline and angled lines are releases. Based on my experience, that chart often helps developers to understand when branches are created and how to deal with them.

October 13 2006

Ruby on Rails

Just made a configuration change on my hosting account: disabled Java in order to get Ruby-On-Rails

October 13 2006

Decisions, decisions, decisions…

For a website I want to build, I have to choose the platform and the programming language. At work I use Java and Websphere 6, but can’t use it for my own project. The reason is that I don’t know how popular my service would be it seems quite expensive to put it into Websphere hosting. I have Java capabilities in my hosting plan here, but its only for web applications with no backend server support. In other words – there will be no MVC. Only JSPs and servlets.

And I will not be able to use JDK 5, nor be able to change server to, say, Glassfish, so I will be able to use some latest useful JSF components.

Another choice would be to choose other language, say Ruby. But I don’t have any experience using it, so it would be a major roadblock for a starters.

I’m stuck again!

July 26 2006

Security in JSF apps

Java Developer’s Journal published a very good article on security issues in JSF applications. The article consists of three pages. Two first pages provide the neccessary background information with the possible solution. The third page looks like the editors decided not to publish more details and just finish that article as fast as possible. And source code attachment does not work either.

Another link to check is JSF security project on Sourceforge

January 25 2006

Insecure Screen Saver

The corporate policy setting on my work notebook always sets the screen saver to 15 minutes and require login password. I don’t mind to have a screen save 15 minutes, but that login requirement… I just hate it! And I hate it mostly because the screen saver tab in the Display Properties dialog is disabled by the same policy!

Now I found the way to cheat on corporate policy – I created a simple .reg file, which will change one DWORD value:

HKCU\Software\Policies\Microsoft\Windows\Control Panel\Desktop\ScreenSaverIsSecure = “0″

Ahh, back to work…

, , ,