Throughout these days there is this debate about the Iranian elections. Twitter' role into that has been amazingly helpful...Iranian people are informing the rest of the world throughout small txt messages from twitter. The interesting part is that twitter can't be censored like google, yahoo or facebook can. Even if you block twitter.com, people can still receive updates throughout the twitter clients. This is a massively powerful platform for people that want to bypass dictatorship like censorship measures.
Hopefully the situation in Iran gets better rather than worse...Up until then and until the next situation like Iran's one, I can't but applaud the fact that the Internet is getting more and more difficult to suppress and censor and that people still find ways to bypass censorship.
Saturday, June 20, 2009
GUI development
In the past couple of week, I have been working in a java project in my 20% time over my normal 100% job time...
It's nothing extraordinary, some xml files holding the data, that I have to parse and present to the user in some "quiz format". The motivation was mainly the fact that I can't memorize facts, mostly in my short to medium term memory. I don't know if it's due to getting older or using computers ( with all the convenience of textpads, copy paste, multiple screens etc ) all the time, but the net effect is the same.
So as I needed to memorize drink recipes for one of my hobbies, I decided to have some fun out of it by writing an application to quiz myself over it and hopefully learn the recipes =) I decided to use Java for the sole purpose that I haven't written Java GUI's in years ( I think it has been since junior year undergrad that I haven't written anything java gui related ) and I was wondering how has the technology evolved.
After some online searching, I found out that thankfully AWT isn't mentioned anywhere anymore, which was a huge relief. I don't think anyone will miss AWT's awkwardness....Unfortunately though, Swing and SWT are in the same sad state that I left them.
I am no front end expert ( sadly, quite the opposite ) but I can't but applaud Apple's approach to designing GUI's through Xcode. It's simple, intuitive and totally WYSIWYG oriented. Of course, iphone's 1 screen size contributes to that, but hell I don't care. I want something that works...
I decided to use SWT, coz it looked more powerful and let's face it, I found more suitable tutorials and books related to it =) After sketching out the initial paper/more like napkin prototype, I started implementing the basic API's. The rest of the application was pretty straightforward, but the GUI part was a hell and mess. I ended up hacking the listener to imitate the flow I wanted to have. Aren't there MVC model for Java? Of course there are. Are there any MVC models that Sun promotes or dictates the way apple does? Of course not. This was one of my best lessons earned to this exercise in Java GUI's....
So now I am liking Apple a little bit more ( and not only because my brand new macbook is totally awesome ) for all the dictatorship like rules it imposes to developers. Maybe I am converting from Perl's "there are 1000 ways to do sth and we won't tell you which one to follow" to Python's "you *have* to write code using indentation and that's an order" mentality....
In any case, if someone wants to have some fun with my java hacking on a Friday late night purple rain powered session, here it is...
It's nothing extraordinary, some xml files holding the data, that I have to parse and present to the user in some "quiz format". The motivation was mainly the fact that I can't memorize facts, mostly in my short to medium term memory. I don't know if it's due to getting older or using computers ( with all the convenience of textpads, copy paste, multiple screens etc ) all the time, but the net effect is the same.
So as I needed to memorize drink recipes for one of my hobbies, I decided to have some fun out of it by writing an application to quiz myself over it and hopefully learn the recipes =) I decided to use Java for the sole purpose that I haven't written Java GUI's in years ( I think it has been since junior year undergrad that I haven't written anything java gui related ) and I was wondering how has the technology evolved.
After some online searching, I found out that thankfully AWT isn't mentioned anywhere anymore, which was a huge relief. I don't think anyone will miss AWT's awkwardness....Unfortunately though, Swing and SWT are in the same sad state that I left them.
I am no front end expert ( sadly, quite the opposite ) but I can't but applaud Apple's approach to designing GUI's through Xcode. It's simple, intuitive and totally WYSIWYG oriented. Of course, iphone's 1 screen size contributes to that, but hell I don't care. I want something that works...
I decided to use SWT, coz it looked more powerful and let's face it, I found more suitable tutorials and books related to it =) After sketching out the initial paper/more like napkin prototype, I started implementing the basic API's. The rest of the application was pretty straightforward, but the GUI part was a hell and mess. I ended up hacking the listener to imitate the flow I wanted to have. Aren't there MVC model for Java? Of course there are. Are there any MVC models that Sun promotes or dictates the way apple does? Of course not. This was one of my best lessons earned to this exercise in Java GUI's....
So now I am liking Apple a little bit more ( and not only because my brand new macbook is totally awesome ) for all the dictatorship like rules it imposes to developers. Maybe I am converting from Perl's "there are 1000 ways to do sth and we won't tell you which one to follow" to Python's "you *have* to write code using indentation and that's an order" mentality....
In any case, if someone wants to have some fun with my java hacking on a Friday late night purple rain powered session, here it is...
Monday, June 15, 2009
hadoop summit 2009
Last week was the second hadoop summit. Being local and really interested in the technologies I decided to visit. I have mixed thoughts about the whole event that I will try to lay down in this post.
First of all, I was pleasantly surprised by the participants and the problems they try to tackle using map reduce related technologies. It's amazing to listen about how every different company from the smallest ones to the big ones ( Yahoo / Amazon ) are using these technologies to process data and extract analytics.
The talks were really informative for someone who is dealing with this stuff on a day to day basis. I got to learn how twitter / linkedin / facebook are trying to extract more data from their users and what are their plans for future expansion. I was amazed by the fact that many of these companies aren't having the huge datasets or big analytics groups that one would think they have. I think it was linkedin claiming to have 9PB ( that's just 9000 GB ) of data in their hadoop cluster. That's less than any one of my typical job submits...Other companies had a handful of engineers working in problems with great breadth. This was a great surprise for me, as I thought that every company dealing with map reduce problems has multi thousand nodes clusters. Apparently, there are companies dealing with mapreduce problems that can be solved in a hundreds and even tens of nodes.
An unexpected surprise was amazon's talk. These people are really amazing in terms of engineering and they are addressing the long tail of the mapreduce problem really effectively. These companies needing a couple of tens of nodes in a regular or adhoc basis are way better off renting infrastructure from amazon than having their own infrastructure, ops people and all the costs associated with that. I was really interested in how they build their infrastructure and especially with all the security implications that sharing a node with other users has...Maybe in the next hadoop summit I will ask them more about their security plan ;):)
All in all, my overall impression about the summit was really positive. I learned a whole ton of stuff and I feel that I can understand better how do different organizations use map reduce frameworks for fun and profit.
I will definitely follow up with a post about the scale camp the night before the summit which was really interesting as well...
First of all, I was pleasantly surprised by the participants and the problems they try to tackle using map reduce related technologies. It's amazing to listen about how every different company from the smallest ones to the big ones ( Yahoo / Amazon ) are using these technologies to process data and extract analytics.
The talks were really informative for someone who is dealing with this stuff on a day to day basis. I got to learn how twitter / linkedin / facebook are trying to extract more data from their users and what are their plans for future expansion. I was amazed by the fact that many of these companies aren't having the huge datasets or big analytics groups that one would think they have. I think it was linkedin claiming to have 9PB ( that's just 9000 GB ) of data in their hadoop cluster. That's less than any one of my typical job submits...Other companies had a handful of engineers working in problems with great breadth. This was a great surprise for me, as I thought that every company dealing with map reduce problems has multi thousand nodes clusters. Apparently, there are companies dealing with mapreduce problems that can be solved in a hundreds and even tens of nodes.
An unexpected surprise was amazon's talk. These people are really amazing in terms of engineering and they are addressing the long tail of the mapreduce problem really effectively. These companies needing a couple of tens of nodes in a regular or adhoc basis are way better off renting infrastructure from amazon than having their own infrastructure, ops people and all the costs associated with that. I was really interested in how they build their infrastructure and especially with all the security implications that sharing a node with other users has...Maybe in the next hadoop summit I will ask them more about their security plan ;):)
All in all, my overall impression about the summit was really positive. I learned a whole ton of stuff and I feel that I can understand better how do different organizations use map reduce frameworks for fun and profit.
I will definitely follow up with a post about the scale camp the night before the summit which was really interesting as well...
Sunday, June 7, 2009
requirements and implementation
One of the things I can never understand about Software Engineering is why requirements is so hard to define. I have been in numerous projects and requirements were always at best vaguely defined. Even when they were solidly defined, they weren't realistic in terms of high level goals. I tend to believe that the issue is that the people defining the requirements have no clue about how to implement them.
My proposal is that product/project managers get assigned to implement at least 10% of the required features. This way they can get a gist of what they are asking =)
Of course I don't believe my proposal will get adopted by nasdaq 50 companies tomorrow but I would love it if some companies would jump on this train and see what happens!
My proposal is that product/project managers get assigned to implement at least 10% of the required features. This way they can get a gist of what they are asking =)
Of course I don't believe my proposal will get adopted by nasdaq 50 companies tomorrow but I would love it if some companies would jump on this train and see what happens!
Subscribe to:
Comments (Atom)