Archive for the ‘Software Development’ Category

It Is Still Cool To Hate Microsoft

Thursday, March 22nd, 2007

Anti-Microsft sentiment is not really a new thing so you could say that I shouldn’t be surprised at some of the things I’ve been noticing recently. And yet, I am. I’m amazed at the consistent hate towards Microsoft in the media and software industries, and the subtle installation of those biases in the minds of others.

Exhibit #1 – “Mac Office users were Microsoft ‘guinea pigs’, MacWorld UK
This article from Johnny Evans at MacWorld UK was published after the public release of some internal Microsoft e-mails that discussed their plans for a Mac version of Office back in 1997. In the e-mail Ben Waldman, seemingly one of the leaders of the Mac Office ’97 team, implores Bill Gates and other Microsoft executives to come to a final decision on releasing the newest version of Mac Office they have been developing. His e-mail explains his motivations in detail but to sum up, he is most concerned with:

  1. Getting a great new product that’s almost ready to their Mac-using customers
  2. Trying not to crush the enthusiasm of what had to be a pretty large team of program managers, developers, and testers at Microsoft who had been working on Mac Office ’97 for months

Instead of focusing on or even mentioning the positives in Ben’s e-mail, Evans attempts to use this e-mail as proof of Microsoft’s evil tactics against Mac users. What he ends up doing instead is showing his complete lack of understanding of software development and sound business planning.

Despite the mud-slinging in the MacWorld UK and other articles, Microsoft’s tactic of trying things out on their smaller audience for Mac Office is actually “a good thing”. Since Mac Office is a product that is not as crucial to their business and bottom line, they have the opportunity to take some risks with it that they probably never would consider with the Windows version of Office. The outrage from their shareholders and the pundits would be huge if Microsoft tried out some risky or wacky UI ideas in the Windows version of Office that sent sales of the next version plummeting.

That’s not to say that the Mac version of Office should or would always get new features before they were introduced into the Windows version. It simply provides that opportunity for Microsoft. And if taken as a whole, Ben’s e-mail shows you that behind whatever legal or business wrangling was going on between Microsoft and Apple at the time, the people behind Mac Office ’97 believed in the product they were working on, worked hard to make it a good one, and wanted to deliver it into the hands of their faithful Mac-using customers.

Since when do we rip on companies for doing careful planning and testing of changes to the cash cow of their business?

Exhibit #2 – “Microsoft’s Meltdown, ZDNet UK
This article is just more of the sensationalist garbage that is typical of the media today. Maybe the media are producing more sensationalist articles and headlines because there are more things vying for readers’ attention than ever; they think it is the only way to find readers or viewers.

In an article attributed to the entire publication, ZDNet UK condemns every word Microsoft says and every byte of software Microsoft ships or has shipped until they can explain how there was a bug in OneCare, their anti-virus software. Apparently there was a bug in OneCare that, in some cases, would quarantine, not delete as ZDNet claims, a user’s entire e-mail collection if a virus was found in any one of the e-mails they had received or sent.

Is that a bad bug to have in an anti-virus program? Yes, definitely. Is it bad enough to condemn Microsoft forever as producing completely untrustworthy software? Not even close.

In a forum discussing the issue, someone from Microsoft stated that “this problem was found in beta and fixed

Expedia Travel Search Dashboard Widget

Thursday, March 1st, 2007

Screenshot of Expedia Search Dashboard widget

Download the Expedia Search Dashboard widget

A few weeks ago I noticed that Apple finally released a beta of Dashcode. I grabbed it of course and started to play with it; happy that widget creation wasn’t mind bogglingly annoying any more. This Expedia Search Dashboard widget is the first product of many from my tinkering in Dashcode.

The widget gives you a quick way to look up travel destination information, availability, and pricing. The whole thing is based on the Expedia Travel Search feature which is in Beta right now.

Here are some examples of searches you can do with this Dashboard widget:

  1. General Destination Search – “Atlanta” will take you to a page with deals for traveling to Atlanta and information on attractions for when you get there.
  2. Flight Search – “Seattle New York” will show you results for round-trip flights from Seattle to New York City in departing in two weeks. You can also specify a date range (6/21-6/26), a month (June), or a season (summer).
  3. Hotel Search – “Hotels in London” will show you results for hotels in London in two weeks. You can get specific with dates and months just like the flight search.
  4. Rental Car Search – “Cars in Miami” will get you the results for rental cars in Miami; same date stuff applies from flights and hotels.
  5. Cruise Search – “One Week Caribbean Cruise in July” will get you results for 6-9 night Caribbean cruises leaving in July. You can be less specific with the length of the cruise or the date range if you want.
  6. Popular Destination Search – “Disneyland” will get you to a page with deals and packages to visit Disneyland.
  7. Itinerary Search – “[your itinerary # goes here]” will take you to an updated view of your saved or booked Expedia itinerary. If you don’t know your itinerary number, you can search for “My Itineraries”.
  8. Flight Status Check “Flight Status AA 495” will get you the status of American Airlines Flight 495. You have to use the airline’s two-digit code for this one.
  9. Check the Weather “Weather in Seattle”, or any other city instead of gloomy Seattle, will take you to… a weather forecast for that city. Surprise!
  10. Currency Converter “Currency” or “Currency Converter” will take you to a currency converter.

Oh and remember:

  • Anything you search for is NOT case sensitive.
  • If you don’t enter a date, it will assume you’re leaving in two weeks.
  • It will remember your last ten searches. Just click on the little magnifying glass to get a drop-down selection.

That should be enough to get you started. Wow, this little guy sure does a lot. But remember, the text search feature at Expedia is in Beta and it’s not perfect. I know the guys at who built it and you’re more than welcome to leave your feedback on this widget, and the Expedia Travel Search feature in general, right here in the comments for this post. I will relay any non-widget-specific feedback to the search guys. And just to be clear, this is not an Expedia-endorsed product. I built this on my own, in my own time.

Next time I will try my hand at an Expedia Fare Calendar Dashboard widget. In the meantime, you can check out the official Expedia Fare Calendar Google Gadget that was just released.

Enjoy your trip!

Technorati Tags: , , , , ,

A CSS Cheat Sheet

Monday, October 2nd, 2006

Cascading Style Sheets? More like Cascading Sheets of Seizures. If you have tried your hand at web design or development in recent years, then you have probably dabbled in using CSS as well. Of course if you tried to do anything complicated and have it work well across different browsers you also probably suffered a stroke.

I’m glad you have made enough progress in your recovery that you can read again. As a get-well gift, I point you to a cheat sheet for CSS that gives the breakdown of the CSS syntax, properties list, box model, selectors, etc. I think it is a fantastic resource; my thanks to Dave Child for coming up with it.

Cheat Sheet for CSS 2.1

While we’re at it, why not share all the other helpful cheat sheets he’s put together for Javascript, PHP, regular expressions, and others.

More cheat sheets from Dave Child

Software Engineering Is Not Computer Science

Monday, January 16th, 2006

So this is an idea that I’ve been thinking about on and off since around the time I took the software engineering course at Berkeley, CS169. About a year ago I was taking the course and concurrently started delving into the recruiting process and looking for a job as a software engineer.

Well, in the process of doing those two things, as well as my peripheral involvement in a couple of open source projects, I started thinking about how ill-equipped a computer science graduate was to build and ship commercial, usable software; even graduates from one of the top programs in the world. Throughout the EECS program at Berkeley we learned a great deal about computer science, different programming paradigms, and the general concepts surrounding compilers, databases, or operating systems. We were not however afforded the opportunity to learn how to apply the things we’d learned and turn them into shipping software, being used by hundreds or thousands of people. The little experience you could say we did get in this area was from the semester-long group projects that we worked on. Yes, a software engineering course was offered, and of course I took what I could get, but in a just one semester we only skimmed the surface of the techniques and tools required for the task.

Ultimately, I think there is a rift (a big giant gaping one) between the people the top computer science programs in the country are producing and the people the top software development companies require. (more…)

Camino is Coming

Wednesday, June 8th, 2005

Camino is the web browser you should be using if you’re on a Mac. If you know what Firefox is, and if you don’t by now please ask me or someone else, then here is how I’ll explain Camino to you. Camino at its core is built around the same technology that is in Firefox. However, Camino is built for Mac OS X only. That means that it:

  • Runs faster
  • Looks better

WWDC Update #1

Wednesday, June 8th, 2005

Wow. I am loving WWDC. It has been great so far. Its the second day of the conference, although the students here on scholarship, including myself, started a day earlier.

The Keynote
There was Steve’s keynote where he delivered the blow that shocked the PC world. Apple is not only switching the processors being used in their computers to Intel or x86 based processors but, they have been secretly been building, running, and testing Mac OS X on such systems ever since its inception. This is incredible since almost all of the software that Apple produces for the Mac (I’m not sure about the Pro Apps) seems to be already ported and ready to go for the new platform. Now its up to the rest of the developer’s to kick it into gear and do the same.

I finally got to see Steve speak live instead of on a webcast. He’s got showmanship and charisma to spare. He controls a room of 3,800 developers as easily as a pen on paper. (more…)

I’m Going to WWDC

Friday, June 3rd, 2005

Europe… didn’t… happen. For various reasons out of my control. There is no use stressing or being disappointed about it. It will happen when its meant to happen, I am sure it will work itself out soon enough.

Instead I am headed back to San Francisco and Apple’s Worldwide Developer Conference. I was invited there on a student scholarship and I’m very much looking forward to it. Hopefully I’ll learn a lot and meet a few interesting people in the process.

In preparation for WWDC I installed the copy of Mac OS X 10.4 or Tiger as its better known. There are a number of improvements throughout the system which I like but to be honest I don’t think its worth the extra $100 or so for most people. Spotlight and Dashboard are cool but hardly the bee’s knees.

I also have a bone to pick with Spotlight searches: (more…)

“A Brief Introduction to Mac OS X Programming”

Monday, March 21st, 2005

I’ll be giving a talk this Thursday on, as you can guess, Mac OS X programming. The presentation is organized by a group that I’m a part of, ArmEngine, which I just talked about in my last post. So here is the low down:

When: Thusrday, March 24, 2005 at 8:00 pm
Where: 104 North Belmont Street, Suite 200, Glendale, CA 91206

Link to Google Map

“A Brief Introduction to Mac OS X Programming”
First, a very quick introduction to Objective-C, the language most commonly used to program for OS X. Then we’ll implement a small application that will demonstrate the Cocoa API, the OS X developer tools Xcode and Interface Builder, and how they work together to enable the rapid development of powerful user-friendly applications.

Introducing ArmEngine

Monday, March 21st, 2005

I wanted to make a post regarding the seminar presentation thing I’m doing this Thursday evening but I though it might be appropriate to first introduce the group I’m part of and doing it for. I should have done this sooner. I suppose I haven’t done such a great job publicizing.

First I’ll give you my summary of the group then I’ll give you the group’s “charter” message. Richard Ohanian founded ArmEngine to attract Armenian engineers of all kinds, particularly in EE, CS, and IT. The purpose of the group, originally started as a Yahoo Group, is to discuss technical issues, news, or developments, as well as network and post job openings. The group started just last August but already has over 100 members and is growing quickly. The membership is geographically and educationa diversity. If you’re Armenian and are an engineer or in the fields mentioned above, please consider joining the group. And now for the semi-official group intro blurb.

The group of Armenian scientists, engineers and professionals of Electronics, Computer Science and/or related fields.
We are Armenians who are highly educated/experienced in EE, ECE, CS, IT… Many of us are PhDs, Masters, Engineers and professionals of the above disciplines.
We know that every career needs professional connections.
We want to be successful socially, financially and professionally and we hope to have a bright future.
We think that a globally connected network of Armenian experts of EE and CS will have its positive effects in Armenia.
We enjoy communicating with each other.
We also want to do all of the above together!
So, we are in ArmEngine.
Armengine is a forum for exchanging information and ideas as well as solving technical issues relevant to Electronics and Computer Engineering/Science.
ArmEngine is a business network, so members can use the group as a communication tool for their own personal interests and success. A member’s success is everyone

Understanding Usability

Thursday, March 10th, 2005

I came across a good article on usability over at OSNews. Although it seems to be written with open-source or Linux developers in mind, the points he makes are pretty general and applicable to the development of anything that people *use*, particularly software.

Usability is not about selecting the fanciest Theme from, it’s not about ‘Reading the F*** Manual’, it’s not about having all application share the same looks, it’s not about nice front-ends to obscure command line programs, it’s not about newbie-friendliness, it’s not about apt-get install foobar and it’s not about setup.exe.

Understanding Usability by Richard Spindler.