Friday, June 30, 2006

Mac OS X tip: Reload Dashboard widgets

I just discovered this wonderful (and apparently undocumented) feature with the Weather widget in Mac OS X.

When I display the dashboard while I'm at work, the weather widget is often incorrect. My company's web proxy caches old values, causing me to see reports that are often several days out of date.

This is not surprising. Many web pages end up out of date due to this problem. Telling my web browser to reload the page (which produces a slightly different HTTP request, directing the proxy to not use a cached value, and to update its cache) results in my getting the current page.

The Weather widget, however, is not a web browser. Dashboard widgets have no menu bar, and this one has no buttons on the GUI. I did notice that the widget fetches its content whenever Dashboard activates, so I would hide and then show the Dashboard to make Weather try again. Usually, it would get a current report after a few repetitions.

Today, however, this didn't work. After several dozen repetitions, the widget was still showing yesterday's weather information. Out of frustration, I typed CMD-R (the usual "reload" key used by most Mac web browsers). Much to my surprise, the widget immediately reloaded (including a really nifty looking graphical flourish), and immediately switched to the current report.

Even more interesting is the fact that this works for all widgets. Click on any widget, and then type CMD-R, and watch it reload its content with the same graphical flourish. It doesn't change the Calendar widget, but it did cause my Ferengi Rules Of Acquisition widget to pick a new rule.

Friday, June 16, 2006

Bill Gates is heading for the door

No comments:
Bill Gates has announced that (in July 2008), he will start winding down his responsibilities at Microsoft to focus on philanthropic works.

I think this will ultimately be good for Microsoft and for consumers.

As CEO, Gates was in his element. He is an incredible businessman, and his decisions moved Microsoft from an obscure developer of BASIC interpreters to the world-dominating operating system powerhouse.

But ever since he left that position to focus on technology decisions, Microsoft has started slipping. Ballmer (the current CEO) is not that good a businessman, and Gates is far too visionary to be designing commercial products (at least not if they will be stable, ship on-time and on-budget.)

Disgruntled Microsoft employee blogs have been saying this sort of thing for a while, and they do a better job of explaining than I do, so I won't go into all the details. Suffice it to say that while Gates loves technology and stays up to date on all the latest innovations, he seems unable to recognize when a cool feature is too complicated to be implemented in a consumer product, and he's unable to recognize when a product (Windows) has grown too complicated to work on without radical reorganization.

Hopefully, he will be replaced by someone with a little less vision (but not a lot less), and a lot more experience with management of large software development projects.

Thursday, June 15, 2006 - bringing Microsoft Windows programs to Linux and Mac!

No comments:
And here's yet another approach to getting Windows apps to run on other platforms.

First there was emulation. You create a virtual PC, boot Windows into it, and run your program there. It works, but it's slow. You're emulating an entire processor, which is never fast. And you need to buy a Windows license (if you want to be legal.)

Then there were cross-compilation libraries. You take your Windows sources and compile them against the library to get an app for another platform. These work well, but they're only useful to someone with access to the source code (like the original developer.)

Then there were library-server systems, like WINE. No processor emulation (so you need an Intel-based computer), just OS emulation. You run a server that loads the app, links it up against appropriate libraries, and then runs it. This works, but you need that server, and all the associated libraries, in order to run your application.

And now there's Alky. If I understand their web site correctly, Alky reads your Windows app and generates a native app from it. In other words, it treats a Windows app as source code, which it proceeds to recompile into whatever your own operating system requires. When it's done, you have a native app, and can throw away the original.

This isn't the first time this has been done. Java systems do this in order to get good performance (since interpreting bytecode is slow.) The difference is that Java systems use a just-in-time compiler. They compile the app into native code on an as-needed basis, but they don't keep the results of the compilation. If you quit and re-load the application, it has to re-compile the app.

I have yet to try out Alky, but if it works as promised, this could be a really big thing. Of course, many of us said that about emulators (like Wabi) and WINE, so I could be wrong.

Tuesday, June 06, 2006

An unorthodox proposal regarding gay marriage

1 comment:
I sent an article very similar to this to a local talk show host. Here it is for (with much formatting and editing) your perusal:

A complete waste of time

First off, I consider the entire subject of gay marriage a waste of Congress's time. We've got far more important things to deal with than telling people who they can and can not marry. Especially when nobody is really stopping anyone to begin with (see below.)

It's about judicial activism, not gay marriage

If this entire debate was about state legislatures passing gay marriage laws, I wouldn't have anything to complain about. I am a firm believer in the 10th Amendment of the US Constitution, which guarantees states all rights that are not explicitly reserved for the Federal government or prohibited from the states. And laws regarding marriage (of all kinds) is exactly such a right.

But we're not talking about states passing laws. We're talking about activist judges legislating from the bench. We've already seen one state supreme court (MA) ordering the state legislature to pass laws permitting gay marriage. The population of the state have no say in the matter. And the US Supreme Court seems to have upheld their right to do this.

The fact that the US Supreme Court is supporting this clear violation of Constitutional separation of powers means that a response is necessary. And the only Constitutional way to override a US Supreme Court decision is to pass a constitutional amendment. I would personally prefer to use some other more meaningful issue to fight the USSC over, but we weren't given that choice. MA's supreme court didn't order the MA legislature to pass any other law, so that's where the fight must be fought.

If Congress does nothing here, it sets the precedent that the country has no problem with this kind of extreme judicial activism. And the next time a state supreme court orders a state legislature to pass an unwanted law, it will be that much harder to fight the decision.

All this having been said, I don't like either side in the debate (to ban or guarantee gay marriage). As far as I'm concerned, the government should get out of the marriage business altogether.

It's state recognition, not marriage

As it stands right now, no state actually prohibits gay marriage. A gay couple has only to find an appropriate member of the clergy to perform the ceremony and they will be married under the eyes of whatever god or gods this clergyman represents. And there is no state law that prohibits this. While there are many religions that prohibit gay marriage, there are also plenty to permit it, so this is not a difficult thing for a couple to do.

In other words, the entire fight is over state recognition. I say "who cares?" Or more explicitly, why should anybody, whether gay or straight, care about the state recognizing their marriage. Marriage is a covenant between two people and whatever god or gods they believe in. Or in the case of atheists, just between two people. Why should I care what the government thinks? And why should the government care about my marriage?

In the US, we have separation of church and state. This means God's laws should have nothing to do with the state's laws. If you reject all arguments based on religion, what is the difference between a marriage and a "civil union" or "domestic partnership"? Absolutely nothing!

My proposal

Government gets involved in things like taxation (allowing a couple to file jointly), settlement of property after death/divorce/separation, and powers of attorney. All of which can be accomplished without any concept of marriage, using existing laws!

For example, the first two can be covered by existing corporate partnership laws. If two people create a partnership business, and give all their assets to the partnership, they end up paying no individual taxes, but the partnership files corporate taxes on its income. If the partnership is dissolved, the partnership contract will contain the terms of property distribution (or laws will define these terms if the contract doesn't have anything.) Similarly, there already exists laws where one person can grant power of attorney to another, to be used in case of mental or physical incapacity.

Note that the sexual preference of the people involved in this scenario are completely irrelevant, because we're now dealing with terms of incorporation and not "marriage". This system would be used for traditional heterosexual partnerships as well as homosexual ones. The whole concept of "marriage" ends up solely as a religious one, having nothing at all to do with government.

I'm sure some will complain about this, claiming that it promotes polygamy (since contractual partnerships can have more than two partners.) But this isn't true. We're talking about a partnership in order to gain specific financial/property benefits, not granting rights of sexuality. The right to enter in a group-sex relationship remains just as legal/illegal as it is right now - in actual practice, nothing changes.

And lets face it, legal or not, there are groups of people today that have group-sex relationships. My proposal won't create them, ban them, or support them. The same things that make them unpopular now (religious and family pressure) will continue to make them unpopular under my proposal. And when society changes (as it always does) to make them become more or less stigmatized, my proposal will have no effect, and will not be affected by these changes.

My proposal also stops the slippery slope of people wanting to demand other kinds of "marriage" rights - like to children and animals. (Yes, there are groups that advocate this, and I'm certain some of them will become much more vocal once gay marriage becomes the norm in society.) Under my proposal, these kinds of partnerships can't happen, because children and animals can not legally enter into a contractual relationship of any kind.

It also eliminates the pressure from those groups that would like to promote incestuous relationships. Since these partnership contracts are purely social/financial, it's not an issue. A brother and sister can choose to enter into a partnership together if they really want to.

This all works because these partnerships don't grant any kind of sexual rights/privileges. If the partners want to have a sexual relationship, existing laws already exist to define what is allowed or prohibited. Incest can remain illegal, even if the two people are contractual partners. And religious organizations can retain the moral and social authority they currently have over their members.


I'm curious about what you think about this proposal. I think it solves a whole world of problems. It strengthens the separation of church and state. It takes the issue away from the judicial activists. And it is flexible enough to not require reorganization as social norms change. And government doesn't have to take sides in the debate over people's sexuality.

I'm certain the polititians and judges would uniformly hate this proposal, because it takes power away from them both. But I'm not trying to placate government. I'm trying to solve what I see as the real problem here.

Monday, June 05, 2006

My take on outsourcing

No comments:
In recent news, Apple began a plan to outsource tech support to India. After a few months, Apple cancelled that effort.

This has spurred lots of discussion about the pros and cons of outsourcing. Not being one to keep my mouth shut about anything, I contributed my two cents. And since this is a subject of interest to more than just the Mac community, here it is (in expanded form) for you to see and comment on.

What people seem to forget is that India is a big place with lots of variety. Just like everywhere else.

"Outsourcing to India", with respect to quality, is no different from "outsourcing to New York" (or Los Angeles, or Atlanta, or any other US city/region where the typical people speak with thick accents.) In both cases, you can get good support staff that speak English well. And in both cases, you can get lousy support staff that don't speak English and are no better than phone-menu trees.

I recall a very painful exercise with Earthlink tech support a few years ago. The person was American, and spoke great English, but we wasted hours on pointless questions because he was not allowed to deviate from the corporate script. After three hours (and escalation to another support person who also wasn't allowed to deviate from a script), they finally opened a trouble-ticket. I found out the next day that it was a scheduled network outage. Apparently, their support staff doesn't get informed about this sort of thing.

I've also placed support calls to American call centers where the person spoke with a very thick accent (and Southern US is often just as hard to understand as a Chinese or Indian accent), but where the staff was able to quickly identify the problem and give me a solution.

In other words, the quality of support is a function of corporate policy and the skill of the staff and not the country the calls get routed to. Although foreign accents can make problems worse, it is possible for a corporation to hire people (even in India) that don't have these problems.

The real irony is that the costs for a call center are directly related to these factors. A high quality support center will cost a lot anywhere in the world. And you can set up a cheap support center in the US if you don't care about quality. A skilled support engineer can get employers to fight over him, even in India.

Which is probably the real reason why Apple has abandoned their outsourcing project. They probably realized that they won't save very much without destroying their reputation for quality support. And if you're not saving much, there's no point to outsourcing.

And this is the big difference between companies like Apple and companies like Dell. When Dell outsourced their support staff, they chose to give up support quality. Which destroyed one of the key things that made people prefer Dell over other brands. Let's hope Apple remains smarter than this.

Saturday, June 03, 2006

Couple's Supposedly Destroyed Hard Drive Purchased In Chicago - Yahoo! News

No comments:
This is yet another reason why I will never let the monkeys at computer stores do any maintenance on my computer.

A couple brought their computer to Best Buy to have the hard drive upgraded. They were assured that the old drive (which contained lots of personal information) would be physically destroyed.

Well, BB flat out lied. A few months later, that drive was bought at a flea market. BB didn't even bother to erase it. The person that bought the drive had everything intact, including bank statements, investment records and account numbers. This buyer was able to use the information on the drive to contact the original owner (who wanted it back.)

As far as I'm concerned, Best Buy is guilty of theft. If a corporation promises to destroy/recycle something on behalf of a customer, and then sells that something, they are selling stolen merchandise. They are (at least) in breach of contract, and should be held liable for all consequential damages (such as identity theft) resulting from their choice to not destroy the contents of the drive.

If you decide to replace a drive, do it yourself. If you're going to throw the drive out, physically destroy it. Drilling holes through it helps. An industrial shredder (which can shred a hard drive) is even better.

If your drive breaks and you try to get a warranty replacement.... Well, let's just hope it really is broken. I'd probably decide to forgo the warranty and just pay for a new drive, in order to keep it out of the hands of the incompetent pigs that work in computer stores.