Skip to content

How to switch to UTC

UTC (Universal Time Coordinated) is basically the same thing as GMT (Greenwich Mean Time). It is the zero-offset time zone.

As the world gets global, it gets confusing to use all the different timezones. It would be good to have a uniform system to name the time — and UTC is the best candidate.

UTC is already used by airplane pilots when they communicate time — because the planes travel often between timezones, and you don’t want some pilot or control tower to get confused in the time-zone names and time translation.

The local time system that is in use now has the advantage that the time (in the local time zone) corresponds to some degree to the sun position on the sky. In general you expect that 8:00am is in the morning (sunrise), and at 1:00am you expect that it’s dark.

The drawbacks of the local time system become appearent when people travel or communicate between timezones: a traveller has to adjust his watch when travelling, and continously make mental transformations to compute the time in the other time zone. Whatsmore, were there a single (unique) timezone, we could drop the timezone concept altogether, and only talk about time (or Earth time, when need comes).

Also the communication between people is now global — instant messenger, VOIP calls, skype etc. More and more people talk between timezones. It’s easy to see the babel scenario when co-workers use different time-zones each to name the time. For example:

A: What about having the meeting at 9:00 PDT?
B: Sorry, I have to leave at 18:00 CEST.
C: 18:00 EEDT works fine for me.
A: Ok, what about 8:00 PDT then?

Here is the plan for the global switch to UTC:

  1. Eliminate Daylight Saving Time (Summer Time) in all time-zones (have a single time throughout the year in each timezone).
  2. Merge close-by zones: Eastern Europe (EET, e.g. Romania) and Central Europe (CET, e.g. Germany) would adopt U.K. time (UTC); The United States would merge into a unique time zone (e.g. PST or EST). This should reduce the global number of time-zones to about half a dozen.
  3. Start communicating the time both in the local timezone and in UTC (in order for the population to get used to UTC).
  4. Abandon the remaining timezones, everybody adopts UTC only.

Of course, an ambitious endeavor, to unify the timezones. To put it in perspective, is it more difficult than the human flight to Mars? Or is it easier than the power-plug unification?

On the plus side, I think it would be enough for some major countries to adopt UTC (China, India, US, European Union, Russia, Japan) and the others will follow.

Working for the man, part 1

Among the first things I’ve been imprinted with at Google, is that Google is a very secretive company. I’m not allowed to tell almost anything about [the inside of] Google. I don’t even know how I could ever post anything mentioning the word Google on my public blog, but given that I’ve read public blogs of other googlers, I imagine that just blogging may not be a reason for immediate firing. Just for caution, I’ll try to restrict myself to saying only positive things about Google (and this does not imply that there are other-than-positive things to be said about Google) — self-censorship is an interesting attitude.

First, I should stress that there are plenty of great things about Google — the problem is that many of these are already well known (not to mention the food).

My first contact with the inside of Google was through the interviewing process (when I was recruited). I can tell that I was positively impressed by the interviewing process: most of the questions/tasks were relevant and challenging, and the people conducting the interviews seemed compentent and smart. I also had the impression that they were looking for objective hints in order to evaluate my skills (as oposed to subjective judgement). As a simple outline of the interviewing process, I started by sending my Resume (CV) by email to Google. After this followed two phone-screens, and afterwards, four in-person interviews.

What can I say, I’d wish to become as good an interviewer as some of the persons who interviewed me. But there is one small thing that keeps me from being completly extatic about the recruiting process at Google: about a year and a half ago, I sent for the first time my resume to Google. It was not exactly the same resume, and the layout was different, but it was essentially describing the same person (me).

Back then, I got back the standard refusal email, we have no oppenings matching your skills at this time or something like this, but I think that the real message of the email was: based on your resume, we decided it’s not worth proceeding to the phone-screen phase. Meaning that the recruiter was so confident that I’m a bad candidate, that it didn’t warrant a phone-screen test.

I don’t really believe that I improved that much between then and now. I rather think that I experienced a glimpse in the recruitment process: either Google hired a bad candidate now, or the recruiter hurried to drop my resume back then — I hope it’s the last. Of course, Google (like some other companies) is more concerned about avoiding a bad hire than about losing a good candidate — or in other words, a false-negative is preferred to a false-positive. From the employer perspective, it’s preferrable to err on the side of caution; what I’m surprised is that my resume was judged so bad that I didn’t even make it to the phone-screen.

PS: if you’re interested in a software development position at Google, you may be better-off sending your resume (CV) to a Google employee you know for them to refer you, rather than doing a spontaneous application. And second, Google is hiring in (extended) Europe and Russia, so don’t be put-off if you don’t live in the US.

Sidebar: the US measure system

US Metric
1 mile 1.6 km
1 foot (feet, ‘) 0.3 m, ~1/3 m
1 inch (”) 2.5 cm
1 gallon 2.5 liter

Temperature

Celsius Fahrenheit
-10 14
0 32
10 50
20 68
30 86
40 104
Fahrenheit Celsius
25 -4
50 10
75 24
100 38

America: a different continent

I am an european, and I’m travelling in the United States right now. Many things are different: the power voltage is 120V instead of 220V-240V in Europe. The frequency is 60Hz instead of 50Hz in Europe. The power plug is different, having two thin blades instead of two round pins in europe. This is un-convenient, as somebody coming from Europe with a laptop, mobile phone, battery charger, etc. needs a plug adapter if he’s lucky (if the device can take either 120 or 240) or a power adapter if he needs to tranform the voltage. Of course, this creates a whole market for the manufacturers of plug-adapters. When I once suggested that we (i.e. the whole world) should standardize the power plug and voltage (that is, to have a single kind of plug that works everywhere), somebody asked than what would all these companies that specialize in plug adapters do…?

In fact, the different power and plug is not present only in US, but also in Canada and Mexic. In Europe, everybody uses the normal power voltage and plugs, except United Kingdom, where the voltage is normal (230V) but the plug is specific (different from both the european and the US one). What’s interesting is that in India, which was once a British colony, the power voltage and plug are the same as in continental Europe (not the UK plugs).

In this world where people are travelling more and more often between countries and continents, this plug mismatch problem is silly. We need, we have to standardize on a plug that works everywhere, and on compatible voltage for electronic appliances. Now the question is: who should make the change? the answer is simple: let’s keep the most popular system in place (if there is a dominant system), and the countries that don’t use it already would switch. In other words: first, the UK should adopt the european plug (they don’t need to change the voltage or frequency). Second, the Northern America should switch, first the plugs and next the voltage/frequency.

On a side note: Do you think such a change is difficult? yes perhaps it is, but of course it doesn’t match the United States’ apptitude for change: a few monthe ago, the US changed the daylight saving time (summer time) hour system, getting out of sync with much the rest of the world. This seemingly small change had huge costs, but the politicians justified it by the large electricity savings they expected the different hour change to bring. As the power and plug standardization would also bring large savings in plastic, manufacturing, energy, and human dis-comfort, it looks like nothing could stop America from jumping on it.

Oh, but it’s more. Afther adopting a world-standard power system, the US could continue with adopting.. for example.. the metric system? And the Celsius temperature scale?

Of course, the natural question is, why have not these standardization steps took place already? and why would they happen now? The answer is that the US, or the (North) American continent is no longer an island. Of course, people have always travelled far away, but now there is an explosion of travel and an implosion of distances (and it’s just the beginning). What would you think if you lived in a house that had different power voltage and plugs in every room?

So, let’s imagine that the enterpresing US does it all: the switch to 230V, 50Hz, european plug, metric system, Celsius temperature. And they say: we’re done, what’s to do next? And everybody starts to think what else is left to standardize?

Sun Java Wireless Toolkit 2.5 for Linux

The Sun WTK is finally available for Linux again, you may now download the WTK v 2.5.1. The last WTK version which was available for Linux was 2.2, after that WTK was windows-only, and now by popular demand the Linux version is back.

The WTK is the primary tool for JavaME (MIDP) development, i.e. for writing midlets to run on mobile phones.

I’ve run the half-marathon

maraton-startLast Sunday I participated in Warsaw’s half-marathon. I’ve run it to the end, 21km, in just under 2 hours and 5 minutes; that is an average speed of ~10.1km/h. I was lucky the weather was good, warm and sunny.

All in all, it was a great experience, and I’m really happy I participated. I would recommend it to anyone to run a half-marathon, at least once. And it’s not that hard: I’ve only had 2 weeks of training (running in the park) prior to the course. For two days afther the half-marathon, my legs muscles were hurting a bit..

My wife waited for me at the finish line. We were expecting I’d take 2h30min, and she was surprised by my performance :)
I’ve got a medal (everybody who finished got one), and there will also be a nominal dyploma mentioning my time.

And a tip for prospective long course runners: you may run as slow as you want, as long as you keep running (not stopping or walking). If you get tired, or you can’t breath enough, slow down the pace as much as you need, but keep running — this is the most efficient way to gain time (not stopping).

Menstral and Javia Calculator become open source

I have just made available the source code for my projects
Menstral and Javia Calculator under the liberal MIT License.

To get the source code you need a subversion client.
The svn repositories are here:
Menstral Source Code and
Javia Calculator Source Code.

Enjoy,
Mihai

Going open source?

I’m thinking about open-sourcing my two JavaME (mobile phone) projects, Menstral and Javia-Calculator.

My reserve to open source them until now was caused mainly by a hope to transorm these projects in a commercial offering at some point. So my recent inclination to open-source them also means that I’m not planning to make any money from these projects anymore.

The main reason for open-sourcing is to allow the programs to evolve (bug-fixes & enhacements) even as I have less time (and inclination) to do everything myself. Of course I’m aware that just open-sourcing a project doesn’t automatically create a community around it, and this is the open-source challange.

I have to choose a code repository (SVN). The choices I consider are: SourceForge, Google Projects, and self-hosted. Self-hosted is more work, but also allows for the greatest flexibility.

Considering the license: MIT or GPL? I personally like the MIT license more, as I consider it less restrictive (and much shorter) than GPL. On the other hand, GPL protects against the possibility of competitor closed-source projects freely taking advantage of the code.

Running the half-marathon

I’m going to participate in Warsaw’s Half-Marathon which takes place on March 25 — three weeks from now. For me this is the first time I take part in an official half-marathon. The running length is about 21km, and the time limit is 3 hours (the runners who don’t complete the course in this time have to abandon). My main target is to just run it to the end, but as a secondary goal I’d like to do it in under 2h30.

Since today I began training, which consists in running in a park which is not too far from where I live. So I have about 3 weeks for the training; I’ll post a table with the distance I run during this time.

Initially I wanted to run a full marathon (42km), but this is an ambitious goal for a sedentary developer like me. Compared to a marathon, a half-marathon is much easier (more than twice easier).

Here is the starting list where I appear under the name ‘preda’, with T-shirt number 465. It looks it will be crowded, with about 1000 runners.

Training:

Day Distance (km) Time (min) Speed (km/h)
1 5 - -
2 9 60 9
5 12.5 83 9
7 12.5 78 9.6
10 16 103 9.3
12 12.5 78 9.6
14 16 97 9.9

Practice your Handwriting

Let’s consider this hypothetical scenario:

A core-IT company is recruiting highly-skilled IT professionals. Every recruiting candidate must fill a number of standard forms, for example:

  • non-disclosure agreement (NDA)
  • code sample agreement
  • self-identification form
  • employment application
  • bank account information
  • itemized expenses sheet

Some of these forms are accompanied by corresponding explanatory documents, which explain how and why to fill the forms, etc. (these accompaniatory documents are just for the information of the candidate, they don’t have to be filled or returned).

And now, let’s propose two realistic ways of implementation:

Scenario A

The recruiter send an email which has attached a zip file containing a mix-and-match of a dozen of Word and Excel and PDF documents. The candidate (an IT professional) tries at first to fill-in these documents electronically, on the computer (in order to print them already filled-in), but quickly realizes that they were not designed to be filled on the computer. They are made for ‘pencil & paper’ filling, and trying to fill them on the computer is a pain, not worth the effort (imagine editing text in a jpeg image, to get an idea).

So that’s what the IT professional does: prints them all, and proceeds with the totally inhabitual activity (for an expert touch-typer) of hand writing, taking care to respect the ironic indications that appear on the documets, like this:

Name of Candidate (please print): ________

To translate, in this context please print means: please use all-capitals while hand-writing — no, it doesn’t make reference to using a printer device.

Having finished the labour-intensive activity of hand-writing (potentially going through a couple of iterations), the candidate signs the documents and admires the finished work: what an interesting font I have..

Note: of course these paper documents have a penchant for redundancy: the candidate has to fill his name, address, etc, repeatedly on each document.

The candidate takes the bunch of papers with him, and presents them to the recruiter, who enters the paper-written data into the company’s recruiting information management system.

Scenario B

The recruiter provides the candidate with a ‘candidate ID’, which the candidate uses to log in on the restricted-access recruiting web site.

On the web site he finds a (single, comprehensive) web form that he fills in (in the browser, not on paper, btw). When he submits the web form, his data is registered in the recruiting information system, and a number of nice PDF documents are dynamically generated, all personalized and already filled with his data (name, address, etc).

The only thing missing on these generated PDF documents is the candidate’s hand-written signature, so he prints and signs them (talking about digital signatures in our situation would be too large a leap…)

Later the candidate presents to the recruiter the signed documents. The recruiter only has to deposit the papers in the archive, because the data was already entered in the information system (it happened when the candidate submitted the web form).

Well, that’s it. What scenario would you bet is used by our hypothetical high-IT company, for recruiting high-IT professionals?