So – I left my beard after three years

How am I looking now? I left my beard after three years. The picture is taken today by Shahana apa while I was in our internal conference, with a cup of coffee.

In the photo from right side – Me, Hasan bhai, Rythm and T-poo bhai

hasin-small.jpg

FOSS – My point of view

These days I am usually shouting “Free and Open Source Software (FOSS)” – and my friends and colleagues pointed their finger at me. so why I am shouting with all these non sense words? Let me explain a bit, have a cup of coffee and give me some minutes. These points are totally from my perspective. And I really don’t care if that fits for you.

First of all, I am also a closed source developer what I have to do for my living. I work for companies who definitely don’t want to publish their intelligent properties. I also work in paid projects where I just deliver the output and I don’t care what my client do with that piece of code, sole copyright belongs to them. Beside this, I have some time which I study in home and spend in research and development. Most of the developers follow this typical routine in their personal life, I guess.

Now comes the point, so why would I go for free and motivate people to use FOSS?

1. I feel pity when I see that I am using my potential solely for commercial purpose and the community gets nothing from me. I have my strength and skills to develop some cool applications which I must use for community, and I have to do that for free. So I develop free solutions, some of which are free and some open source under LGPL or CC.

2. I feel mentally happy when I contribute in open source communities and people use my code which helps them somehow (I don’t know every possible use of my code) and It inspires me a lot when I receive comments from them, or when I see the download counter increases.

3. I personally don’t like using pirated software. I like much more to pay to developers for the great works they done for us. But unfortunately I live in such a country where I am not capable of paying for licensed software. Sometime I wish to pay but due to the lack of support from payment gateways, I wouldn’t be able. So instead of using pirated solutions, I search for FOSS alternatives. If I find any (even with less features) I prefer using that instead of a paid solution (or pirated solution). For example GIMP is not a full replacement of Adobe photoshop and it has less features when compared to photoshop. But If i were capable of paying 65000 Tk for photoshop (or anyone buys me that 😀 ) I would definitely use Photoshop instead of Gimp, because of its amazing flexibility. But as I cant, I prefer using Gimp as a replacement of Photoshop or Inkscape as a replacement of Illustrator. And that is the only reason I want to work with Linux. I am a extreme fan of winXP for making life easier but as I am concerning day by day, I would like to shift to linux completely.

4. I feel great when I see that some developers are kind enough so that they share their intelligent properties at totally free of cost. I personally always congrats them and i think i will also get such comments in return when I will be one of them. This inspires me to be a FOSS developer.

5. I like to learn. FOSS, specially OS (open Source) helps me to learn how developers develop that amazing solution so that I can incorporate that into my upgrades or my personalized versions.

6. and Finally, not making this post too long, I don’t understand why I have to pay for solutions like Microsoft Office when I have it’s alternative. I am not a hyper advanced user of office solutions. In daily life I use just basic features which you do even with wordpad with some extra effort. Then Why I have to use MS Office? I have my alternatives like OpenOffice or abiWord (well, I prefer open office), moreover as a plus I get some cool features like PDF creation which I cant get in MS word until I buy some commercial add ins (well, PDFCreator is a Free solution if you don’t want to spend a single pence). I always try my best to find an FOSS alternative, If I cant find it, I would better like to skip using that software.

So I am not a Mad, Dumb headed psycho who just scream for FOSS out of nothing. I scream for my personal ethics and for my personal satisfaction. I use FOSS and motivate people to using that. Nothing more.

Links: FOSS, Creative Commons, Open Source Licenses, ITRedux Office Replacement, Open CD, Ubuntu, Suse 10.1, BDLug, BDOSN,
Ekushey and Ankur

Using XOM API for parsing XML

XOM api is a fantastic wrapper over apache xerces. XOM is very memory efficient. If you read an entire document into memory, XOM uses as little memory as possible. More importantly, XOM allows you to filter documents as they’re built so you don’t have to build the parts of the tree you aren’t interested in. For instance, you can skip building text nodes that only represent boundary white space, if such white space is not significant in your application. You can even process a document piece by piece and throw away each piece when you’re done with it. XOM has been used to process documents that are gigabytes in size.

You will find some cool examples here

Pathetic

Its unbelievable and very pathetic. Germany lose the match because of the last two minute. It is extremely disappointing. It hurts me.

Last day It was great fun with RubyOnRails. I spend a lot of time for basic Ruby and rails. It is a great framework, no doubt.

Veni Vidi Vici

It is a famous Latin phrase coined by Roman general and consul Julius Caesar which means “I came, I see, I conquer”. He announced to the Senate after his victory over Pharnaces. Well, I just finish another huge task in my desktop – Probably I am also happy as Caesar right now.

Yesterday it was full of learning and new achievements. I converted my existing database into HSQL and it was a big one, 62337 rows sized approximately 9MB. Some days ago hasan told me that HSQL is a nice embedded db solution for java, and he was right. After I examine the HSQL db I found that it stores data as plain SQL entries. Still it is so fast.

I complete the integrated spellchecker for nobobangla, a realtime help and two dictionary in java. spellchecker was a great task and I enjoy the whole work. Now it is much efficient than the previous one.

One more thing I found while working with Base64 encoding in Java. The jakarta commons package codec seems a bit confusing and I could not manage it to work as expected. It generates non compliant base 64 – I didnt know why. Well, then I found teh following routine is extremely useful for encoding – take a look at the following example

import sun.misc.BASE64Encoder;
public class Test {
    public static void main(String[] args)
    {
        BASE64Encoder b = new BASE64Encoder();
        System.out.print(b.encode("hasin".getBytes()));
    }
}

————————————————————–
disce quasi semper victurus vive quasi cras moriturus

somewhere in… – the interview

somewhere in… is a Norwegian offshore software developer company based in Bangladesh. since the beginning in may 2005, i am working for this company as a web application developer. the first thing that impressed was the process of interview. the whole system is divided into three round. from each of this round you have to qualify yourself for next step.

in first round, this is just an introductory from our head of growth and head of opportunities. whoa whoa whoa!! – this is not a boring introduction but funny hilarious and definitely a phase where you can prove your attention and quality. this session with fantastic piece of cakes and drinks is a very interesting part of the whole interview process.

after you qualify in first round, well it is a bit tough and you have to prove your skill on the respective track for which you applied. for example if its under java team, you will face some problems relevant to java. most surprising part of this round is that it is a participatory problem solving part. you will find yourself with randomly chosen two team members. that means each team will have three members. after grouping, each of these team have to solve a specific problem. well, the team value will be counted and you have to prove your participating skill, inclusiveness, imagination and engagement.

from this second round, some talents are chosen for the final part. in that part these talents have to meet face to face with a team of developers and of course our head of growth and head of opportunities. this is the final round and ya, this is like somewhat a traditional face to face interview.

the whole interview process is full of fun, learning and you will experience a world class interview system, no matter who you are, somewhere in… will find out the talent inside you.

If you are interested in somewhere in… – visit http://www.somewherein.net and ofcourse dont miss our official blog to figure out whats happening inside, at http://www.somewherein.net/blog

Hey Joe- Teach Me Ruby

Learn Ruby
For a long long time I was dreaming to be a ZCE. So when my dream came true this month, I am now setting up some new target. Already I start learning java and j2ee basics, but I am passionate about learning ruby. I am collecting resources from RubyCentral, PlanetRuby, RubyForge, RubyDocs and just here and there to be a master(!!!) in Ruby. I like the framework “Rails” very much and I am sure, within next two month, I will have a strong base on this language.

————–
When your feeling is ending
There aint no use pretending
Dont you worry, Its only love

When your world has been shattered
Aint nothing else matter,
It aint over, Its only love.

———Bryan Adams, Its only love

Give me a notepad – I will give you a community

People using internet spend most of their time in chatting, gossiping or communicating with friends, co workers and family members. Many of them also spend time on blogging (thats a kind of communication too!) and development works. When we planned for somewhereinblog, a common platform for people where they can start blogging, Emran and I suggested arild not to start another english blogging system, rather start a community where people can share their thoughts in bangla. Thats how somewherein bangla blog was created. Emran worked so hard to deploy the system and then I took control for over three months. Now emran is developing the blog again. Oh I forgot shahriar is also working in.

So why did I start a topic on this? Actually I want to share some idea, drawbacks and solutions from technical perspective as well as users point of view. I will also share some thoughts on building a greater community useful for all. When we finalized our planning – We decide to develop this application in PHP. Because only in PHP we can deliver such a huge application in such a short time. Though we are still spending time on it but it was really a very small amount of time to develop a version that works!!

Developing a system, specially an web application, is not so easy to develop as like as normal applications. From the very first time we wanted to avoid Unicode. People asked me so many times why did I do that. Well, if you look at the general non-tech users of a system where they can express themselves and would not bother about any configuration, what else can you expect except ascii? Most users of community sites are so non-tech that they really dont want to be bothered with lot of configuration for unicode. I agree that most of teh PCs today runs on windows xp. But in cyber cafe and other places you should not forget that these PCs are not unicode compliant (atleast indic script) just after installing winXP. You need to configure indic script options with administrative privileges and others which general users want to avoid indeed. So do I. I avoid unicode when my audience are general users. In the meantime I also agree that a hybrid system will work better. That means a bangla community site must be capable to render its content on both unicode and roman form, depending upon the choice of visitors.

One more complexity arises when you plan to take input in bangla form. In a blog, users should be able to input contents in bangla. Thats why I developed a bijoy compliant javascript code which hooks the keystrokes and display characters according to the key-mapping of bijoy. All you have to do is hook the keyPress method – my script will do the rest. I know that this script has a great potential if you want to develop bangla web applications, specially for web.

After a few days when one of my friend Foyzur, the developer of Shabdik, showed me his software and the style of transliteration he used in it, Arild was extremely surprised. Since that time we tried to implement a solution where people can write bangla phonetically and in web. That was an extremely complex task and I aggree, I did a lot of RnD on that. Finally the phonetic version of my previous javascript code was released. You can check both of this script in somewhere in bangla blog.

Now the main point of this article, A blog site can’t fulfill all the increasing requirement of community sites. If you look here and there, you will find some great community apps like Flickr, Craigslist, Meetup, Hi5, Orkut, MSN Spaces, My Yahoo, Opera Community, 43People, 43 Things, Chat Applications and a lot… – So what can we develop to make a complete and rich bangla community? I plan for the followings

1. Definitely a solution where people can chat. A desktop application, specially a hybrid one which can connect with YM and MSN messaging protocol or Jabber protocol (or using simple xmmp) we must have a chat client where people can chat in bangla. We can develop an webbased solution (like meebo) or an web based IRC client if we really cant provide a huge backbone. But developing a chat application is must.

2. A resource sharing solution – This could be an application where people can share their resources, like photos, music, documents but everything will be in Bangla. Creating a simple bangla interface for a comple photo gallery is not a big job. If we want to avoid the hassle of storage or others, we can even develop a simple interface to Flickr.

3. A job site – Really, a job site in bangla will blow up peoples mind because a huge percentage of people in Bangladesh are very poor in english. If you just think about high-class jobs like Telecoms, Banking or IT, no – thats really a very small part of the jobs in Bangladesh. For participatory job management, a site in Bangla will be a great idea.

4. Blogging – Thats what somewherein blog does. It has a huge on growing community of bloggers who started their blogging life with this beautiful tool . The most successful part of this story is in somewherein blog people share themselves – they feel themselves and really they are empathetic, something even more that just sympathy. They buildup a greater community where they are helping each of them. You cant feel the real flavour unless you are a member of this community.

5. Bangla Forum: Beside blog a forum is a very popular application where people can debate. A forum in bangla will be a great addition in the bangla computing sector where there are only a few applications are available. I developed a bangla forum which will be up soon.

6. Bangla Emailing: BanglaExpress is the first and largest bangla emailing solution. The most surpring part of bangla express is that it works totally independent of font. No matter where you are mailing, No attachment, no font, nothin – Just mail as usually and the receiver can see the mail. Currently BanglaExpress has more than 46000 registered users, thats a big number.

7. Bangla Operating system: Now the most interesting part. There are several developers in bangladesh working for a bangla operatign system. They converted a knoppix distro into bangla and run that project under the title “Ankur”. This group is also working for localizing open source office solutions like openoffice, dictionaries and so forths.

So, How about building a bigger community just for Bangla? How about spreading the word “Bangla” to every bangali? Lets come and work together, We will be able to deliver a better one than it is currently.

55 ways to have fun with Google

Its great!! simply amazing!! – Philipp Lenssen from Google Blogscoped has written a great book “55 ways to have fun with google” and he make it free for download. He released the book under CC (Creative Commons) license so that you can copy-read-share-print-distribute this book.

Visit the website : 55 Ways to have fun with Google

The whole idea of releasing the book free in internet is a great idea indeed. Like me, many other bloggers also blogging only because they read it for free, and thus make a huge publicity of this book. Though I agree, it is really a great book.

Oh God!! Case sensitivity and Poor M$ Access

Last night I was searching how I can run a case sensitive query in Microsoft Access. After searching for a while what I found in microsoft knowledge base is that there is no ANSI SQL compliant way to check case sensitivity in Access. All you have to do is compare it with StrComp() function. Poor Access!!

SELECT case_sensitive_data FROM table_name WHERE StrComp(case_sensitive_data, “some_data”,0)=0

Oh Selucas, what a world we live in!!!