March 09, 2006

Backup your backup!

So I was working the other day on improving my coding. I recently wrote some automation scripts to do some mundane repetitive tasks that I routinely do. So I had just finished with a bunch of them and I started working on a new one. In the new one I decided to try something different and remove some of the files I work with after its done, big mistake! I should've backed my shyt up first cause when I ran my new script it friggin deleted everything! This was at like 7pm right when I was getting ready to leave work too, but NOOOOO my dumb ass had to go and do that. When I was still in college I rememeber writing those long ass term papers 20-30 pages and nearly having a seizure everytime laptop would go on the fritz. After I had to rewrite some papers a few times, I decided I would always backup my stuff to CD every few months... That worked out well until i stopped going to school and semi-lapsed on the auto save...

Moral of the story, save your stuff, make duplicates save it somewhere else! If you don't want to do it again, make sure you have more than one copy! I ended up rewriting everything which took another couple of hours, where I could've been sittin on my butt watchin Smallville last night... ergg.

March 08, 2006

AJAX and design patterns

I had once done a project in which we loaded lots of XML in prefetch and then did java script to do cool effects like drill downs or search. Why was this exciting?

For multiple reasons:

1. This was done in early 2000.
2. It was amazing concept for web UI application to prefetch the data and in java script use the data to render runtime on browser without refresh.
3. In complex applications like supply chain where multi-tier complex widgets make web ui's refresh very slow, this was very fast. Everyone was excited about the potentials for the product.

The company cashed on the concept and did some amazing demos. It was a huge selling point for the company. But what we failed as developers was to instituionalize the framework and give it back to the community as pattern. Today, if I look at AJAX I find it does similar things but only its not limited to a multi-million dollar company with deep pockets. The technology is available for everyone and anyone to use. This is the power of design patterns.

In those formative years when design patterns was still evolving; I remember having this chat with my boss who was a seasoned teacher. I was asking him what does he think is the use of design pattern apart from being theoretical concept. The answer though vague to me at that point was - "As engineer we start writing programs and solutions as languages. We always think either object oriented or procedural or database. We don't try to abstract the problem fundamentals. Design patterns are the exercise in understanding and refining what we are solving, so that all language practioners can then implement it." E.g. web application data, business logic and view management implementation details are so different for all langauges. In PHP you will probably start with smarty templates, php files and some ini and httpd.confs. In Java you would have XML descriptors and some servlets and JSP jars. The code and the structure everything is different. It seems from bottom up there is no meeting point and these are very diverse implementations. But if you do a top down view, the problem definition is same. Render the data from database in specific view after applying required business logic . The requirement does not change for any language or any implementation. So why is there not a common blueprint for solution. This is where design patterns come in. For this you can use MVC pattern. I am not going into details of MVC pattern here but what essentially it says is that separate your implementation in three components with each individually handling only one specific such as view or control.

Now, when I see AJAX and see how the niche technology that we thought was only specific to our application is commonality to all web apps I understand what is Design Pattern. Every language has implemented AJAX in its own way. It different library, used differently but its same design pattern.

What did I learn?
As a developer I need to see beyond the implementation and learn to abstract the design pattern and give it to community for reuse.

Why should I learn JAVA?

Every developer goes through the pain of learning different languages so as to increase his expression. Each language has its own differentiation and reason to learn:- perl makes you good at regular expressions and text processing, php teaches you fast web development, C++ makes you learn through object orientation, C is pure old system language etc. Where does JAVA fit in all this? and more importantly why should I learn Java?

I tried to find the answer to this question and this is what I find:

Bad Points


  • Java is object oriented. But compared to C++ you will realize that Java is toy-gun by which you don't accidentally blow yourself up but at the same time you can not kill with it

  • Java coding style after having used C++ style makes you feel at loss. Simple things like prepend member variables with "m_" are not followed.

Now Good Things


  • Java has rich set of libraries ranging from socket, string basic types to more specific ones like Mail apis etc

  • Java has rich set of frameworks around it like application servers, messaging server etc

  • Java is community effort with formalism to it

Going back to original question why should I learn java, the reasons are:


  • It is the only language that is object oriented and has big community following. Like in C++ nobody contributes to community development which maybe because either C++ programs are system programs or there is no corporate backing.

  • It is the only language that has rich set of pattern libraries implemented and documented for all use cases ranging from networking, web architecture to content management etc.

  • There are most numbers of developers talking in Java which means most problems and solutions are being discussed in Java.

And most importantly like any other culture, you need to Java for the heck of it. So "Do Java TODAY !!"

March 07, 2006

Technology not just in Gagets!

Recently I started looking around for a new bed. Every morning my back would hurt, shoulders would ache, and my neck would be stiff. This is what eventually lead me to begin my search for a new place to slumber. Once at the mattress shop, I was surprised to learn how little I actually knew about mattresses and how technology is integrated in them to give you the best possible sleep.

The first few things I was looking for in a bed:

Last at least 10 years
Be comfortable
Support my back


The new technology available in mattresses? Pocketed coils what would be considered independent suspension to car nuts. They also had the interlaced metal with spring action. They even had some with sound deadening foam in the "Cadillac" of beds. Then of course there's the tempurpedic which is just a piece of foam without any sort of suspension. There's also pillow tops, adjustable tops, and so many minor differences that made bed shopping a daunting experience.

I must admit, while trying the different beds, I felt a lot like the 3 bears all I needed was some porridge to try. I ended up going with a top of the line model because hell I have a job and I would rather spend my $$$ on something I spend 1/3 of my day on. I was considering some rimz for my ride, but opted for the bed instead. This was one of the best decisions I've made to date! Not only does it last a long time, but I spend a lot of time on it. After the first couple of days on the bed I noticed in the morning I stand up straighter and I actually sleep through the night. I never knew a bed could make so much of a difference!

That's what technology is all about, improving the quality of life!

At first I thought it was a little lame for someone my age to go out and buy a bed, but after sleeping on it I realized how wrong I was. All my beds were pretty much hand me downs and I didn't know there were so many working parts of a bed. I just thought, 'oh the springs are soft, time to get newer springs', but that's not the case. Work and working out usually sucks the life right out of me, but now I'm able to recoupe pretty quickly.

So if you haven't planned to, drop by a mattress shop and plunk down on a couple of beds. I found this one bed I really enjoy, it totally feels like you're sleeping on a could fully suspended and supported but it just feels so fluffy! This might sound pretty gay to you right now, but don't knock it till you've tried it!

February 24, 2006

its not a fluke!!

On a site like Flukiest the biggest assets are its users and the community that they build. So why am I writing about the technology and what is technology@flukiest?

Well, would it not be wonderful to know how Flukiest is not a fluke but a different and innovative approach to photo and music sharing. When we first heard Duc think aloud about Flukiest (some people did experience it first hand, for the rest of you the proof is in the pudding) the first thing that we wanted him not to do was to create another networking or photo blogging site. The agenda was clear, don't create yet another photo site. Don't have pathetic technlogy that will not survive years to come. If someone starts using Flukiest, he should come back and be fluked forever. His photos, music, community are forever and so is Flukiest.

With this agenda, hard work and continous feedback from users Flukiest has come a long way. This blog will be offering some insight into behind the scenes technology and the future direction of Flukiest.

Welcome !!

Subscribe

Get email notifications when there are new posts to this blog.

Enter your Email


Powered by FeedBlitz

August 2006

Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31