Googlemail Hacks

Lifehacker helpfully has a top ten list of Googlemail hacks.

Now, by my count, there are 3 Windows (read IE) hacks. Only 3. This seriously has me considering switching back to Firefox as my main browser.

Besides the fact that Firefox has a huge amount of flexibility from RSS readers to Sports tickers, its the fact that the web application itself can be hacked (I know, “hacked” sounds bad since we consider hacking to result in digital damage). All of these “hacks” are genuine improvements to Googlemail:

  • Check multiple accounts with Gmail Manager (Firefox)
  • Gmail Encryption (Firefox)
  • Saved Searches (Firefox)
  • Drag and drop attachment upload (Firefox)
  • GmailDrive file manager (Mac/Windows/Firefox)

Lifehacker comments that:

From the get-go Google’s stayed out of developers’ way and turned a blind eye to unofficial Gmail add-ons, even ones that may very well violate its terms of service. Smart move: Google’s high tolerance for third-party apps have only helped Gmail win the hearts of power users and tweakers everywhere.

and I agree. if only IE devs had the same attitude.

Software Engineering

Steve McConnell, of Code Complete fame, just put the following post up on his blog:

The February 2007 issue of IEEE Computer contained a column titled “Software Development: What Is the Problem?” (pp. 112, 110-111). The column author asserts,

“Writing and maintaining software are not engineering activities. So it’s not clear why we call software development software engineering.”

The author then brushes aside any further discussion of software development as engineering and proceeds to base an extended argument on the premise that software development is not engineering.

The post caught my eye as I’m thinking of switching from a Computer Science degree to a Software Engineering one.

Steve says:

Numerous software development activities have clear counterparts in other engineering disciplines, including:

  • Problem definition
  • Creation of models to verify the engineer’s understanding of the problem
  • Feasibility studies to verify viability of design candidates
  • Design as a central activity
  • Creation of detailed plans for building the product
  • Inspections throughout the product-creation effort
  • Verification that the as-built product matches the product plans
  • Ongoing interplay between the abstract knowledge used by engineers and the practical knowledge gained during construction
  • etc. 

 Which is why software development is often compared to bridge building ( albeit one can only take the comparison so far).

Which brings me to Scott Rosenberg’s book, Dreaming in Code. In the Epilogue , he tells the remarkable tale of the San Francisco Bay Bridge. The construction of the bridge was halted by Governor Schwarzenegger  in December 2004 and a new design was called for (which arrived in July 2005 in the guise of an exact copy of the original). By this time the bridge was nearly half built. Says Scott:

As I read about the controversy, I couldn’t help thinking of all the software management manuals that used the rigorous procedures and time-tested standards of civil engineering as a cudgel to whack the fickle dreamers of the programming profession over the head. ” Software development needs more discipline”, they would say. ” nobody ever tried to change the design of a bridge after it was already half built!”

The State of California had done a fine job of undermining that argument.

Touche

All joking aside, however, Software development is indeed treated as a field of engineering. Says Steve:

  • The Computer Society adopted a Code of Ethics for Software Engineers almost 10 years ago.
  • The IEEE Computer Society approved the Software Engineering Body of Knowledge 2.0 in 2004, which was adopted as an ISO/IEC Technical Reference 19759:2005.
  • Curriculum guidelines and accreditation standards have been established for undergraduate software engineering programs.
  • In the United States the official engineering accreditation board, ABET, has accredited 13 undergraduate software engineering programs since 2003, and in Canada 9 such programs have been accredited (by CEAB).
  • Numerous provinces in Canada license professional software engineers, and professional engineers are chartered in software in England. 

 So do we treat software design in the same way as we treat algorithms, or do we try to do new and novel things  (the way I like thinking of engineering) with our software?

Perhaps both. While there are well established principles when it comes to bridge building, bridges ( or, indeed, any kind of construction – take the Guggenheim in Bilbao, Spain) emerge from construction rather unique. Each bridge features something new and novel.

So is Software Development more a blend of engineering and art?

Scoble, Facebook and Zoho

I’ve just been reading Scoble’s latest post. Its a long rant about Facebook (and maybe Social networking in general).

Now I don’t use any Social Network (Gasp!Say its not So! 🙂 )and its mainly because I prefer handling my friendships the old fashioned way – face to face. Any contacts go either on my phone, Outlook (Another gasp!! Outlook? OUTLOOK??? 🙂 )or Gmail.

But that’s not the point of the post.Its abut contacts in general. Outlook doesn’t do any sort of tagging. Gmail has tags. But not to the degree that Scoble suggests:

Let me define different behaviors for each tag. “LOVER” tag might go into one page with a password, for instance, that isn’t publicly available. That way Maryam and I could use a social network to send sweet nothings back and forth (I can’t use any of these networks for THAT kind of social networking). “BUSINESS ASSOCIATE” could have a form that includes why I care about that person, business wise. So I could put Fred Wilson there, add that he’s a VC, add his blog, add his Twitter account, etc.

Which is pretty clever.

They say genius is lightning across the brain. And as I read the above paragraph, a tool to do the job jumped instantly to mind –Zoho Creator.

Raffic Aslam, of Zoho, left this comment to my last Zoho post:

Dear User,

Thanks for your compliments )

I hope you would have checked out our scripting language – Deluge, which helps users to build powerful applications easily. I request you to try out Deluge Script and share your valuable thoughts.

Check out Deluge Scripting Video here –
http://static.zoho.com/creator/v2/collateral/delugescript/index.html

Thanks Again
~Raffic Aslam

 

The link is actually to a video of said scripting language in action, which you can view below (thanks to YouTube):

Its quite incredible. So this whole post is essentially a note to self reminding me to have a crack at this problem the next time I have a free afternoon. It’ll be more of a mashup than anything, but its a good idea to test Creator’s limits on.

Windows Home Server

The black box has been humming along quite nicely for the past few weeks. I’ve nothing to actually say about its because nothing has really gone wrong.

The folder duplication works great. My only small gripe is that it keeps reminding me that duplication is failing for one file in  my Music folder. And I can’t tell it to ignore this issue. So I’m reminded of this about 10 times a day. This is actually a good thing as its driving me to get a new hard disk  – its an itch  that needs to be scratched. Once I get around to buying it, the new hard disk should take me well over 1Tb of storage. Which is perfect for SageTV (which I will take a more serious look at once WHS has been released).

The only other small thing that I’ve found is Remote Access goes out the window as the Router changes the Servers IP address and messes up the port forwarding. If the Wizard actually worked, I wouldn’t have this problem.

Its rather startling to have a Microsoft product that just works. Its uncanny. After years of using XP is till have to wrestle go get stuff done occasionally. WHS is totally a painless experience (unless you happen to be testing extreme use cases).

The rumor mill reports that a Release Candidate is due to be released in the very near future. And once again I will spend a happy weekend installing it.

Now for WHS news that is sort of connected, but isn’t really, the WHS team has a new member ( blog here). The official blog post announcement from the team:

The Windows Home Server team decided to offer a summer internship to one of our earliest beta testers and top forum contributors.  Tom Z. is a high school student from Arizona and he will be spending the next 2 months with us working on a wide variety of projects from building home server demo hardware for various events to trying to code his first add-in

Its really interesting to get an outsiders view of a) the team and b) Microsoft.

If you read a few of his previous posts you’ll see that he’s also beta testing Windows Server 2008. I assume that this will be come the backbone of WHS 2. The fact that the server can be installed in a Core configuration has interesting ramifications for WHS. if you look at the Server Storage tab you’ll  see that the OS takes up 10GB. Under a Core setup, the OS could install in 1 Gb or less.

My point is simply that WHS 1 is the beginning of something extra ordinary. I can’t think of any other company that has ever tried to target Server- grade software into the homes of ordinary people.  And bring about a product that works as slickly as WHS.

In short I’m excited at the prospect of what WHS 1 will do (as in, turning the whole network into one massive PVR via SageTv), I can’t wait to see what the Team have up their sleeves for the next iteration of this grand experiment.

 PS. This is my third post with the new Live Writer. Its a great improvement over the old one. More later.

Live Software or Web 2.0?

I just read this by Tim O’Reilly over at the O’Reilly Radar ( aggregated by Planet Intertwingly and via Scoble’s Link Blog – thats Web 2.0 for you)

It strikes me that one of the big differences between the 1.0 class of data aggregators and the 2.0 class is the difference between “back office” and “live” applications. The credit card company mines its database to select you for direct mail offers; it may even get close to real time in monitoring your card activity for fraud or credit limit detection. But Google or Amazon mines its database in real time and builds the results right into its customer-facing applications.

If Google or Amazon were your bank or credit card, they’d let you know which merchants had the best prices for the same products, so you’d be a smarter shopper next time. They’d let merchants know what products were popular with people who also bought related products. They’d help merchants stock the right products by zip code. They’d let you know when you were spending more on dining out than you have set in your family budget. They’d let you know when you were approaching your credit limit, with a real-time fuel gauge, not just a “Sorry, your card has been declined.”

If Google or Amazon were your phone company, they’d give you access to your entire call history, not just your last ten phone calls. They’d build a dynamic address book for you based on everyone you’d ever talked to — and they’d build p2p phone number lookup from your friends right into that address book. They’d get rid of 411, and just help you search for what you need, and then make the connection for you.

This is one reason I think that Microsoft’s term, “Live Software” is so right on. (I thought of naming this piece “Why Live Software is a better name than Web 2.0.”) It’s unfortunate that Microsoft has chosen that name for its own products only, because it goes right to the heart of what makes Web 2.0 applications so interesting: they are alive, or as close to it as you can get with a computer. They learn from and interact directly with their users (and more specifically, provide services to individual users that benefit from the aggregate interaction of the system with all of its users.)

Tim is right on as usual. This is the whole idea of Web 2.0. It shows how Google is becomming much more than a search engine (not that it’ll be buying banks next).

In the past, computers really were dumb terminals connected to a mainframe. Then we got he Personel Computer revolution that mved the mainfraom into a beige box that you plugged your screen into directly. Now our Desktops are turing into terminals again. The avaliability of Software as a Service over the web is essential to using our computers. The enxt Google will take all this one step further and render our pricy desktops using without a highspeed broadband connection (or Verizion Fiber-Optic for you guys in the States – we still have our broadband in Europe 🙂 ).

Soon, Banks and the like will realise the power of the Google Way of handling data. The ways of aggregating this infomation over the web makes it even better to savour the possibilities.

Just to highlight Tim:

It’s unfortunate that Microsoft has chosen that name for its own products only, because it goes right to the heart of what makes Web 2.0 applications so interesting: they are alive

Reminds me of Frankinstien:

It’s Alive!!! <Evil Laugh/>

On Programming

Jeff Atwood just posted his Favorite Programming Quote:

My all-time favorite programming quote has to be this Nathaniel Borenstein bon mot:

It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter.

It’s too perfect. Never have programmers been more neatly summarized.

And he also gave a list of great quotes sites:

Here are a few of my favorites:

Theory is when you know something, but it doesn’t work. Practice is when something works, but you don’t know why. Programmers combine theory and practice: Nothing works and they don’t know why.

Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris.

Larry Wall

One of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs.

Robert Firth

Anyone who considers arithmetical methods of producing random numbers is, of course, in a state of sin.

John von Neumann

There is nothing more difficult to carry out, nor more doubtful of success, nor more dangerous to handle, than to initiate a new order of things. For the reformer has enemies in all those who profit by the old order, and only lukewarm defenders in all those who would profit by the new…

Niccolo Macchiavelli, The Prince

As an aside, Bill Clinton quotes this in his Autobiography

Writing code has a place in the human hierarchy worth somewhere above grave robbing and beneath managing. (Gerald Weinberg)

Writing code has a place in the human hierarchy worth somewhere above grave robbing and beneath managing. (Gerald Weinberg)

Mix 07 – Live

Unfortunately I’m stuck at home and not at Mix. It is a pity since I learned a ton just from watching last years sessions.

Fortunately they’re streaming Ray Ozzie’s keynote.  

There are three streams:

I’m already connected, listening to Microsoft’s fine classical music collection. And belive me it is fine.

I hope my internet connection stands up to the full force of 500kbits…

Update: I’ve got no video. Only sound. Anyone have any idea why?

Using Windows Home Server, part 2

I did say the last time that I’d download and install a Virtual Server image of  Exchange 2007. I did. And it was way too slow for comfort. So I went ahead and downloaded the normal install package for Evaluation (Microsoft give you amonth to try out the package) . I’m installing it now. By the way, Virtual Server works flawlessly on WHS, even with an image mounted and running – its just that my server didn’t have the Gigaherz to do the job.

WHS took an age and a half to get round to running the install. And is presently unzipping the files.

On to other stuff. I think that WHS really needs something akin to a scheduler for backups – even as an option. I say this because the times that it takes a back up are totally random. Sometimes its at the very beginning of the backup window on one pc, but it waits and backups the the pc 3 hours later. It can be totally erratic. It might be the fact that my backup window is 12 hours long.  I’m going to try cutting that to 3 hours over lunch ( I prefer all my to turn all my PCs off at night, including the server) and see if it makes any difference.

I think that the major gripe, if you could call it that, is that WHS spends most of its time doing nothing. And I’m talking about the time it dosn’t spend serving files and music. A stripped down version of Exchange in order to keep users emails in one central store is one idea. Someone suggested a central upgrade server for windows update on the forums. 

But all of the above are Microsoft add-ons.The big thing is that WHS will have an SDK. Imagine that. Need somthing? Build it. The question is how wide ranging the SDK will be in the first place.  The limits that are placed on using the server programatically will dictate in a big way how we can levegae the SDK in development ( i.e will we be able to access the backup engine? The Folder Duplication engine? will we be able to remote into client PC’s and perform tasks?). I can think of a few things I’d like the Server to do in its down time – like programatically checking that the server has actually backed up a client PC, or generating a XML representation of the Music Library and making sure all libraries are on the same page. Lots you can do.

As far as my Exchange 2007 Standard Evaluation install went, it didin’t go anywhere.  It resulted in a ton of errors when it carried out a bunch of tests and I’d ratehr deal with them when iIm not so busy. In any case at $699 a license, I’d rather spend the money on hard drives.

I was just poking around Outlook and came across Data File Management under the Files menu. It allows you to change the location of your .pst files. I’m wondering if I could copy them to WHS? That is, into a file the user has permissions to.And acess them from there. That means that, in theory, whatever changes you make are instantly replicated to your Outlook install that are configured to use that pst file. This raises all sorts of deconfliction and versioning issues – essentially hell. Or, there’s a Outlook add-on i downloaded some time ago ( don’t ask from where, please, but I think it was Microsoft) that backs up the files to a location that you choose. Thats another option.  

My adventures with WHS continue….