Team work and communications workshop

Just over a week ago, I spent a couple of days in Forest Park Hotel in Platres, as part of the Team work and communications workshop.  The company I work for – Easy Forex – organized it for about 20 people.  We had a good mix of people who work together on a daily basis, across several teams, from both Cyprus and Israel.  There were a few issues to sort out, a few things to improve, a bit to learn, and also some fun to have.

I’ve been to a few similar events before, but none of them even comes close to how useful and interesting this one was.  It wasn’t boring, it wasn’t “motivational” as in “look within to find yourself and your path to success”.  It was practical, to the point, and as much individual as it was team-oriented.  Two people who were hosting, organizing, and managing the event were Paris and Deano from Open Box Communication.  And I have to say that they really know what they are doing.  Most people went in skeptical, closed, and maybe even slightly aggressive.  The change in attitudes was obvious even a couple of hours in.  Two days later we left as rather different people altogether.  At least, the way I saw it.

Here is a little YouTube video they composed with a few highlights.  I know it’s probably irrelevant to most who weren’t there, but for me it will be a nice reminder to go back to once in a while.

If your team has any issues you should definitely consider these guys.  If you think you don’t have any issues, I strongly recommend to consider them anyway, as they will bring out a lot of things that you’ve probably never thought about.

How to build Android application and keep your sanity

Today is is a big day and I am celebrating. I am celebrating together with my teammates the release of the ImpreStyle Color application for Android, version 1.0.0, demo. It took all four of us to working hard over a much longer period of time than anyone would be willing to admit, but we pulled through.

While there are many aspects, details, and lessons that we’ve learned during this period, I’d like to focus on the ones that are mostly related to the actual Android application development and publishing. I share this for the next time I decide jump into something like that, as well as for anyone else who considers such a possibility.

And before you run away scared, let me tell you this. It is possible. And the fact that we’ve accomplished it proves it once again. As 500,000+ other Android applications currently available on the Android Market.

Continue reading “How to build Android application and keep your sanity”

Perl vs. PHP : variable scoping

I’ve mentioned quite a few times that I am a big fan of Perl programming languge.  However, most of my programming time these days is spent in PHP.  The languages are often similar, with PHP having its roots in Perl, and Perl being such a influence in the world of programming languages.  This similarity is often very helpful.  However there are a few difference, some of which are obvious and others are not.

One such difference that I came up recently (in someone else’s code though), was about variable scoping.  Consider an example in Perl:

#!/usr/bin/perl -w
use strict;
my @values = qw(foo bar hello world);
foreach my $value (@values) {
    print "Inside loop value = $value\n";
print "Outside loop value = $value\n";

The above script will generate a compilation error due to undefined variable $value.  The one outside the loop.

A very similar code in PHP though:

$values = array('foo','bar','hello','world');
foreach ($values as $value) {
    print "Inside loop value = $value\n";
print "Outside loop value = $value\n";

Will output the following:

Inside loop value = foo
Inside loop value = bar
Inside loop value = hello
Inside loop value = world
Outside loop value = world

In Perl, variable $value is scoped inside the loop.  Once the execution is out of the loop, there is no such thing as $value anymore, hence the compilation error (due to the use of strict and warnings).  In PHP, $value is in global scope, so the last value “world” is carried further down the road.  In case you reuse variable names in different places of your program, counting on scope to be different, you might get some really interesting and totally unexpected results.  And they won’t be too easy to track down too.  Be warned.

Gaming experience : PlayStation 3

A couple of days ago I got my hands on a PlayStation 3.  Boy, was that a wrong day of the week!  But let me tell it to you properly…

I am not much of a gamer.  I like games and all, but somehow I don’t spend all that much time playing.  Most of my gaming activities in the last few years were spent either in Quake III or OpenTTD (open source Transport Typhoon Deluxe clone).  There were also a whole bunch of simple games like mahjongg, Desktop Tower Defense, and the rest of the flash entertainment goodies.

I never had a gaming console.  A few of my friends had though.  And back then consoles were very different from PCs.  PCs were in the form of huge and heavy desktops, that were booting too long.  Gaming consoles were of a much smaller size factor, and they were booting faster.  All you had to do was put the game cartridge in, and you were in a game.  And that was fun.

Fast forward to a couple of days ago.  I get this huge laptop bag, which is pretty heavy.  I take it home.  PlayStation 3 is in there, with a bunch of cables, and a few games.  My first impression – PlayStation3 is not much different from a computer.  It’s large, it’s heavy, it’s noisy, and it’s blowing hot air to its side.  And, I guess, it costs pretty much as a PC too.

Then I connect this thing to my recently bought Sony Bravia 32-inch flat screen TV.  With HDMI cable.  When you hold an HDMI cable in your hands, you feel the solid quality.  You know that whatever comes through this must be really good.  It’s hard, it’s thick, and it’s long.  Like a coaxil cable or something.  And that was true – the moment I got the first picture from the game, I was stunned.  I was just looking at it speechless.  No television channel or DVD had the quality of the picture that I had in front of my eyes.  Absolute brilliant stuff.

So, I played “Need for Speed” just a bit.  I had to get used to joystick – form factor is weird for my hands that are used only to keyboards and mice; and it has so many buttons and controls that it takes some time to manage.  I like “Need for Speed”, it’s a nice car racing game, which I used to play on PC some years ago.  But since I got a Genius wheel and pedals for one of my birthdays, I don’t like playing car simulators without them anymore.  Joystick is OK, but not that much fun as having a real wheel and stuff.

I check the bag for more games, and among unfamiliar titles I noticed “Grand Theft Auth IV”.  Now that was something I wanted to try.  I’ve heard a lot about the game, but never had a chance to try it out.  It was Tuedays, 11:00pm when I started the game.  The next thing I know – Maxim woke up.  It was Wednesday, 7:30am.  Now if that is not a sign of a good game, I don’t what is then.

Coming back to that comment above about the wrong day of the week.  It’s a well known fact that no new games or gadgets should be opened or started on any day of the week except for Friday or Saturday.  Cause it’s too easy to get carried away and spend a night playing with the new stuff.  This time I forgot that, and a sleepy, half-focused Wednesday was a good reminder to me.  Gladly, the weekend is ahead of us…

Back from work

I have been really silent on this blog for the past three month or so.  That’s because I was totally consumed by my work.  The team in the office is growing, and we are having more stuff to do than ever.  But to add to the usually routine, we were doing some really huge restructuring.  When I started at the office back in April, the IT stuff was one huge mess – everything was chaotically interconnected and it was practically impossible to change something without affecting something else.  We’ve been working hard to separate things ever since, and last week we deployed the last changes to the structure.

Now we have our internal CRM system separated from the web site and from the customers’ tool.  All three parts are on their own now and we can make changes to each of them separately.  There are, of course, a few minor things still left here and there, but overall I am quite happy with how it turned out to be.

Two things that we deployed last week were our new web site and customers’ trading room.  We didn’t have much control over the web design part of it, user interfaces, or the deadlines for that matter, so the results aren’t as glamorous as we’d wanted them to be.  Check them out for yourself – and .  Both of these projects are in a very raw state right now – poorly localized, styles are off the limites, user experience is close to horrible, and both of these weight quite a lot.  We will be working on addressing all these issues in the coming month, together with some new and interesting developments.

In the mean time, I think I’ll have more time for blogging too.  There has been quite a bit going on that I want to share, and I’ll try to utilize the slow Christmas time to unleash all of that and clean up the backlog.

On laptops in the classrooms

I came across an interesting opinion by David Cole regarding the use of Internet connected laptops in the classrooms, during lectures.

study found that laptop use was significantly and negatively related to class performance

While I was reading the article, I kept nodding my head a lot.  Yes, if I was back in college and I could have an Internet connected laptop on my desk, I’d be even worse of a student than I was.  YouTube, forums, emails, Twitter, and a whole lot of other attention grabbers would not leave much for plain old college education.  At least in my case.  I know.

But then, I started thinking if that was true for other people I know.  And I couldn’t be so sure anymore.  A few guys I know literally can’t stay for too much long wihtout a computer and some sort of Internet connection.  It’s like food or oxygen – they just have to have it.  And when they have access to a computer, it’s often amazing to see them use it.  Lots of interesting, topic related stuff coming up.  Fact checking.  Exploring the topic deeper and wider.  With quotes and all.

And that got me into this idea of a new generation.   Younger people, who grew up online.  Web is in their blood.  A desktop computer as an ugly concept, and an offline computer as a useless box.  This kind of people.  I don’t think they would be much distracted.  In fact, quite the opposite – I think their grades would go up with better Internet connection and laptop-friendlier environment.

And that’s where I started worrying a little bit about the studies that were mentioned in the article.  These studies may be very accurate now.  And they are performed by bigger universities and colleges.  The results of these studies will take a few years of propagating into smaller colleges and universities.  And that’s where the problem will arise.  By that time, most new students will of the web native generation, but their alma maters will be choosing to disconnect them and ban their laptops.  Even though it probably won’t be too relative by then.

But then again, isn’t it like this most of the time?  I think it is.

Banking paradox

Yesterday I discovered one of those banking paradoxes.  If you have a check and you want to get the money the same day, but I don’t want to turn the whole amount into cash, then you still shouldn’t go for “deposit check” operation.  The thing is that depositing the check to an account takes two to three days, because check needs to be cleared.  However, you can cash the check and then deposit cash to the account.  Both of these operations are imeediate.


Kudos to Amazon

I’ve been ordering stuff from rather frequently.  I never had any problems with any of the products or deliveries.  Until my last order.  For some reason it just didn’t come.  And because it was a DataPost delivery, it couldn’t have been tracked either.

So, when all the dates for estimated delivery passed, I emailed back to Amazon asking them if they have any information about that order.  They told me that they haven’t, but if the order won’t arrive in the next few days (they gave me a specific date), then I should just let them know and they would resend it free of charge.

The date they mentioned came and went but the order still wasn’t here.  So I waited for another couple of days and asked Amazon again.  They emailed me back and said that they will place a replacement order within the same day.  A few minutes later they confirmed that the replacement order has been placed, and just wanted to know if I still want all of the items, since one of the DVDs that I had on the list changed status from “In Stock” to “Usually ships within the next 4-6 business days”.  I said that I don’t mind about more delay and would rather just get all of the things that I ordered.

And that was it.  Two weeks later the re-placement order came in.  And now let me state the obvious: I am a really satisfied happy customer.  My respects and thanks go to Amazon for handling the situation the best way they could.

P.S.: A few days after the replacement order arrived, the original order came too.  Very much delayed, but it came through as well.  Because I am a greedy bastard, and because those DVDs are just so good, and because Christmas is almost upon us, I won’t be sending one of this orders back.  I’ll keep both of them.  But I will for sure order more, a lot more from Amazon.  Thank you, and an early Merry Chrismas.

New phone : Sony Ericsson G900

A couple of weeks ago my beloved Sony Ericsson P910 died.  It got dropped one too many times.  A rather large semi-lequid patch appeared in its left bottom corner and touch screen stopped working.  Since the keyboard died a long time ago, I was left with no way to input or navigate the phone.  Being an exceptionally smart individual I decided that a reboot might cure this, and, obviously, that left me at the “Enter your PIN” prompt with no hope what so ever.

Next morning I rushed to the mobile shop.  The first two on my way were closed, since that was too early in the morning, but gladly I remembered that there is a Germanos branch in Debenhams, which opens pretty early.  Like 8 or 9 o’clock in the morning.  And indeed it was open.

Continue reading “New phone : Sony Ericsson G900”