iPhone special: No contacts in the contact list when I couldn't talk to my Microsoft Exchange server

I interrupt my usual rant about .NET (and Dell laptops) to bring you a rant about my iPhone.

Story begins like this...

So we had a bit of a DNS hiccup with our Microsoft Exchange server.

When I pop over to use my iPhone, it says "Cannot Get Mail. The connection to the server <mail server> failed"

Fair enough.  Not the iPhone's fault.

Then I lose all my contacts.  In my contacts list, there was "No contacts".  There were 200 contacts before.

Panic

What, really?  Yes.

I must crazy.  Someone who designed this must be crazy.  It couldn't be the iPhone.  It must have been me.  I thought I must be mad.  It must have been a bad push / sync, or something.

Resolution

Anyway, I frantically tried to look for a solution, but it was only until when I finally got it to connect to Exchange server again after the DNS issues were sorted out, and hey, all my contacts re-appeared again.

I contemplated on restoring the phone, but my contacts were synchronized with Exchange, iTunes isn't tracking it:

"Your contacts are being synced with your iPhone over the air from Microsoft Exchange."

So I couldn't sync mail for an hour.  I also have zero contacts in my iPhone for an hour.  From the point where the iPhone decided that it couldn't sync with Exchange, apparently it also decided that it should now hide (or remove - I can't tell) all my contacts.

I don't know whether to laugh or to cry.

jliu

An injustice

I went out and met a bunch of people over the farewell of a good friend and past colleague over a really fun project I was on.

Over drinks I heard a really disheartening story of what's been happening since I left.

 

In the beginning, when I was still there...

We had a new CEO for this public listed company.  He's really big on agile development.  Agile was billed as the next biggest thing throughout the organization.  From the top down, processes were reviewed to be more agile.  Both development and business.

Agile was preached to the shareholders.  It was going to save costs and make the company so much money in the long run.

To this end, the new CEO hired his old buddies (let's just starting naming names: Thoughtworks) to help steer the processes in the company to be more agile.

 

Then gradually after I left...

Now, this existing team still had plenty of very clever guys, and while the process that was followed wasn't by any means an agile process to start with, a lot of the processes changed over time to accommodate agile methodologies - we had frequent releases, we already had unit testing anyway, we had tasks on cards that we stick on a board, we had a continuous build server, and we even had a build server with an USB build light that goes red or green (now name how many agile teams that actually had something like this).

Apparently, the way the team used SVN wasn't agile enough.  Even though they were branching and merging with some really clever scripts, and there was major conflict with Thoughtwork's people over this.

 

The bad...

So, with 90% code complete, with 1 month remaining on the project, the project is rock solid and ready to go.  The word came down from above:

This .NET project isn't agile.  It can not be considered an agile success.  We're canning the project.

Thoughtworks now owns the project, they will re-implement it in Java.  They will deliver it next April (6 months).

A few weeks later, Thoughtworks asked for all the .NET code to be handed over so they can, I guess, translate them to Java.

 

The sadness.

I've never heard such an evil story related to "agile".  It is pure politics.  I bled inside when I heard what happened to these guys.

Secretly I wondered that since the entire organization is turning into a Java shop, perhaps all .NET projects were in trouble to start with, and they were looking for a smoking gun to kill the project.  Thoughtworks was never hired to assist with the project processes.  They were hired to fire the .NET guys.

 

This story has no good ending:

Of this original dream team:

All the contractors either left for other opportunities, staying around for a bit longer, or had stopped their contracts, everyone is still keeping in touch, I'm sure when a big project happens the those that remained will leave and join the others.

All the permanent employees were put onto support roles, because .NET is now a legacy system.  Quite a surprising number of them are on career leave.  Many of them may probably not return from overseas.  When you've worked with a dream team and worked on some really challenging cutting edge .NET stuff, you just can't go back and fix support issues anymore.

 

So, there's my little rant.  To the guys who are probably very bitter over the whole thing, my heart bled for you guys.  You guys rocked, and deserved much better than this.

New MacBook to have glass trackpad (End of September)

Source
http://blogs.computerworld.com/rumor_macbook_updates_to_include_glass_trackpad_other_goodies

I've got to say the multi-touch glass screen on the iPhone is pretty neat - and I've seen the multi-tracking trackpad on the macbook.  Trisnadi Kurniawan (we call him Tristan) owns one.  Couple of other guys in the office already have, or are getting their MacBooks soon and dual boots daily.

Personally I'm still not convinced the MacBook is worth twice the cost of other notebooks such as offerings from Dell, Acer or Asus.  A typical dual-core laptop with 4GB ram and readyboost should be able to handily out perform a MacBook any day.

But anyway, with all the chatter about touch trackpads, here's my prediction for 2010:

 

Year 2010, Steve Jobs unveils the MacBook Super Touch Pro.  There is no keyboard or trackpad for this MacBook, the touch keyboard functions as:

  • on screen keyboard + trackpad
  • artpad
  • finger print scanner
  • a numeric keypad is available and slides in from the right (or left-hand) with a simple swipe gesture
  • additional keys can be added and removed from the virtual keyboard
  • keys can be resized.  commonly used keys have a slightly larger detect surface - but you won't see it because SteveJ would rather die than to show a keyboard with non-identical-sized keys.
  • the keyboard is backlit (or how else would you be able to see the keys)
  • There is no gap between the keys so dirt can't get in
  • Water / coffee resistant
  • The thickness of the MacBook is further reduced down to 2cm.  Making this the Thinnest Laptop Ever (tm).
  • The MacBook dissipates some of the heat via the glass keyboard panel so it keeps your hands warm in the winter.
  • The two areas where the palm rests can be configured to show your todo-list, mail inbox, ipod play list, or photos of your loved ones (defaults to your idol SteveJ of course).

In other news, Microsoft complained that this was the same surface technology they've demo'ed 5 years ago in 2005 (but never worked out how to sell it properly).

In yet more other news, Homer complains that he can no longer use the drinking bird to press the Y-key on his MacBook.  Because the keyboard detects human touch only.

jliu

Starting another journey, again

I've finished one leg of my journey at Oakton www.oakton.com.au and have decided to return to my old company www.ssw.com.au to continue my consultant dream.

The reasons are long and numerous, but I'd just say that the biggest factor is there was a really good situation for me and I grabbed it before the window of opportunity disappeared.

In a sense I feel I've learned a lot in the three years I've spent wandering around in the wilderness, I've experienced:

  • Product development - where I'm not doing consultant work
  • Contract work - where there's excellent money but difficult career progression, or choice of technology
  • Working with teams on different time zones
  • Big team development - working in a 20-man team is fun too, but with lots of draw backs.
  • I've worked with proper BA now.  Finally!  Big thank you to the Vero BA's, you know who you are, wherever you are now.
  • Big complex organisations
  • Enterprise level projects
  • I nearly jumped in with a startup and would have definitely done some fun stuff, but I just don't know if I'm ready to settle down on one project

But some things remains the same

  • Agile rocks
  • Waterfall flops
  • Unit-testing is great
  • But hard to do in a web app
  • Windows application is sweet
  • Until you gotta deploy

(Thanks to Dinesh for fixing the rhyme on "flops" for me - second line)

I leave my old colleagues with what I've always firmly believed consultants do

  • We work hard, we write good code, and at the end of the day, the clients are happy and we are happy.

So with a happy fondness for all the great memories, I bid my old colleagues farewell for now.

this.consulting.life

Being a consultant is:

  • Walking on a tight rope
  • Crazy business requirements people on one side
  • Poor internal dev teams (the maintenance guys) on the other side
    • I try to be nice to my fellow devs, they deserve a great system to work with, not a hacked up thing
  • Dual-Whip-wielding project managers chasing you from behind (think: Balrog)
    • (Though to be honest, they are probably chased by stake holders)
  • And if your project is slightly short on money, you might as well dose the whole circus in petrol and set on it on fire.

---

Mark: When you charge a fortune

Mark: The clients expect a miracle

John: So we are "miracle workers"

Mark: Pretty much

---

Client: We have a situation here

Client: One miracle worker may not be enough

Client: We need a team of Moses, to part the Atlantic ocean, cause this thing is sinking pretty fast

---

There are good consultants and great consultants.

  • There are crap ones - those that talk a lot and never get anything done.  To me these people should stop dirtying our work and go find something else to do - they give consultants a bad name.
  • There are good ones - those that gets things done but are too expensive.
  • I don't defend the cost of consultants - the service and the skills are what's being paid for.  But I think a great consultant is one that gets things done, and simultaneously manages the client's expectations appropriately.

---

A consultant (especially an expensive one) is a secret weapon used (usually by newly-appointed upper management) to wedge open layers of old office politics to introduce change.

It is often excruciating for the consultant.

A consultant has to preach new technology, methodologies and win converts.

People do not like change.  They will resist change.

Sometimes they will threaten to leave, and blame it on the consultants.

Ultimately, the company will realize the changes were for the better, but the consultant is never around by then to see the benefits come to fruition.

---

A process takes an internal dev guy 5 days to do.  Because he needs several permissions and find a time that's suitable for everyone involved to have a meeting.

It usually takes an external consultant 2 hours to come to the same decision.  Because an expensive consultant is too expensive to keep around for 5 days.  Management will move mountains, switch appointment times, even *gasp* cut short their lunch break to make a meeting.

Price tag is everything.