Sunday, January 30, 2005

the realities of publishing
Shel does an excellent job of explaining what is going on with the red
couch project.

Thursday, January 27, 2005

Apprentice Watching...

(Verna) Another perfect example of why NOT to always hire "perfect" university graduates...not every test is laid out for you, kids.
One of my best recollections is of working at Statistics Canada in the early 90s - the majority of people who were actually making things work were "College" (canadian) as opposed to "University".
What matters is what you put into it. If you can't do it, it doesn't matter what you've done, where you've been, or who you know, you just can't do it.

Talk to your browser

Now THIS is something I'm looking for. Not so much on the "voice recognition" (I can see the office with everyone shouting "Back" , "Home", "Block" at their computers) but rather the "reading of text".

My question is : why can't I get this on my Pocket PC?

I know the resources is one key issue especially with VOice Command but when I'm driving, I want my PocketPC to be able to read my messages just like the old Auto-PC did.

Back to Opera:

One problem with all of these voice commands is that you have to hit a key to initiate it (the default for Opera is the Scroll Lock). I'm using a notebook where the Scroll Lock is some mutation of holding the Function Key and hitting F12. That's just too tough in many cases. so I turned off all keys and seems to be pretty cool now. I just say "Opera, Speak" and it speaks whatever the highlighted text is.

But on the Text to speech, come on! I've been hearing the old MacinTalk speech. Even the Microsoft Agent control sounds ridiculous. Is the MS Audio Server any better does anyone know? It seems to me that if phone companies can offer intelligent voice recognition agents that SOUND like real people, then software vendors should be able to do the same.

Now, the same technology exists for your own applications. (I wrote an article for FoxPro Advisor on this a few years ago using the MS SAPI ). What is nice is that Opera manages to do all this with a 2MB download. (hey! they changed my picture on FPA - that's much better too)

BBC NEWS | Technology | Latest Opera browser gets vocal

Wednesday, January 26, 2005

Undocumented APIs and 16 bit DLLs

Calvin, ever the source of really useful information about how FoxPro works under the sheets, describes some undocumented API calls and how it may affect FoxPro.

Undocumented APIs and 16 bit DLLs

Why Not To Lease Your IM Window Open When Speaking


Reason #43423 - why not to leave your IM window open

From Scoble.

I am soooo pisssed on Flickr - Photo Sharing!

Mapping x2

When Dave mentioned Keyhole and ImageAtlas in the same post, I knew I had to check ImageAtlas out.

WOW! For a web product, that is truly awesome and only $29.95/month.

Mapping x2

Tuesday, January 25, 2005

OzFox in ComputerWorld AU: Bringing the Mountain to Mohammed

Craig points to a post by Kol Kiet about OzFox in ComputerWorld (Australia)

What's great about this piece is why Talman did it:
"Then the company hit upon the idea of hosting Sydney's resurrected FoxPro user group conference. "

As Peter Metcalf, managing director put it: "I guess our approach is, if Mohammed won't go to the mountain then you bring the mountain to Mohammed. "

And the conference was a HUGE hit! Great job guys!

Revenge of the Thick Client?

:: Markus Egger, in the latest Publisher's viewpoint, talks about how he sees a rebirth of the thick client, powerful desktop applications as opposed to lame feature-skimmed web clients.

I'm not sure I entirely agree, although when you read the entire column, you'll see that he is not advocating all and out thick clients. Yes, there will always be cases where the functionality on the desktop has to be there but I think design needs to be done to make an application treat its functionality as a service - available when needed and where possible.

To his credit, Markus notes that the Smart Client is really the technology that closes the gap and this is really where the power is needed. In response to his note: "Would you rather use Microsoft Outlook or Outlook Web Access? " My response is simply "it depends on where I am".

I want my information everywhere and I want tools that give it to me. Yes, if I'm doing heavy data entry, I don't want to be required to enter stuff on a web site but hey- WHY am I still doing data entry?

Technology was supposed to evolve to the point where I no longer have to do redundant input. No, we're not there yet but I would rather see developers concentrate on making the functionality accessible WHEREVER it is needed, rather than focus on building a "desktop" client.

Markus' point about the Tablet PC and ink-based interfaces is well placed. You don't want to be doing ink entry on a web-based interface but I also don't want to have to load an huge application to view my statistics. A CEO of a company shouldn't have to install software to see his company information and it's not similar to (as Markus puts it) - "public applications" or "occasionally used applications." Instead it's the "forest v. trees" scenario. He needs to see it on his home computer, his PDA, his pager - wherever he needs the information required to assign responsibility.

His non-scientific observations about web-based vs. Windows-based data entry (web IS going to be slower) are right on target (see page 2). But it also has to do with HOW the data is being put in. Hopefully, a company doesn't submit paperwork to a clerk who then orders books from Amazon. The purpose of the web-based interface is so that ANYONE (from the CEO to the clerk) can order books, as they need them.

I used to write trucking software and often heard demands for I want to dispatch over the web. Huh? Dispatching is the "art" of taking 1000 shipments and matching them with the 100 trucks that are best able to deliver the shipment. It is inherently, a visual and entry intensive operation and isn't well suited to web-based interfaces. Having someone book 100 orders that came in over fax is also not suited to a web-based interface but letting a customer submit their order or check the rates between one location and another, as they need it, IS.

Developers considering the service oriented architecture and smart clients should be very wary of making design decisions based on web vs. desktop clients. Web or WinForms is a USER interface choice - it shouldn't be the business or application architecture (if this is beginning to sound n-tier, that's because it is - nothing has really moved away from that concept).

The Service Oriented Architecture is aptly named. When you go to a restaurant, your server, the table, the background music is your UI. The actual work, interfacing with the food, is performed by the server, hopefully on demand. In the back, almost every restaurant works the same (and it isn't always pretty!), churning out the requests, presented on your behalf, by the server.

Take what you want your application to do and make sure it can be accessed on demand, as a service - then build the appropriate user interface, be it thick, thin, web, smart or dumb, for what is needed.

Now that's being Smart.

Sunday, January 23, 2005

WiFi in Cities: Soapbox

Maybe I'm just jealous of hearing Adam Curry talk about the entire town of Guildford having Wifi access because of stores and restaurants (like Starbucks) offering it.
It would be nice if Ottawa did that but I doubt it. Ottawa is built like many major cities today with a downtown and then suburbia. This approach works well for those who want to get out of downtown ( some studies said they cause health problems but were easily debunked) but the reality is one more of how towns and communities get built.
Ottawa (and other cities) basically build neighbourhoods and then eventually build a small strip mall where a convenience store goes, along with a pharmacy, or a bank and a pizzeria and so on. The ratio often feels like about 500 homes to one mall area. Well, although some people can walk there, typically the end result of these malls is to have people drive there.
Trish and I were talking about this today. England has it right. Towns are only a few miles apart (Liverpool and Manchester are less than 33 miles apart (according to Expedia). Between the two are about 10 small cities that you can walk through with ease. Almost every two blocks is a pub or a store or a social club. You can always get somewhere because there's always somewhere to go. And each town has their own distinct character and flair. Yes, they are slowly getting larger with larger supermarkets coming in and I can only hope they don't change things (I can't ever see them merging Liverpool and Manchester).
Ottawa recently amalgamated several smaller cities (including my own, Kanata) into one (in a bid to create a bid supercity with at least a million people). We finally got WiFi in our airport (and yes, you have to pay for it). Everyone complains about the sidewalks (it's winter), the erosion of the downtown core, suburban sprawl,etc, etc. Then the city complains when businesses close down and move out, wondering where all old tech business went. Hey guys! Yes, there are more important things to worry about than WiFi in cities (sidewalks should take priority) but it is kind of ironic when the first city to be completely wifi was done so by a company called Ottawa Wireless.
I'm not trying to suggest that the city take this over - businesses can certainly run it better - but if you want to have the city be a hi-tech capital, they should be doing more to promote Wifi in the city.
But the main point here is that as long as cities continue their concept of suburban sprawl, it will never be enough because the Wifi will be "downtown" only and that doesn't help deal with the thousands of people who live out miles away from downtown. If cities followed the original English model, it would be easier but sadly, I don't think that will ever happen in most North American cities, at least in Canada.
The solution? Well, one Wifi network in my home is wide open for any to use, including my neighbours (between four homes, there are currently three WiFi networks) but if cities opened up their suburban neighbourhoods to allow for real corner stores (much like many of us had while growing up), then the cities might actually enjoy the real community that they "say" they want to promote. (updated) Chances are those corner stores (that act as gathering places for many communities) will start to support WiFi as the demand grows.

Death of a legend...

Good night, Johnny. What amazing memories I have of watching him from being a child to when he left the Tonight Show. He was responsible for the best of what television comedy has to offer in yesteryear, today and tomorrow.
He will be greatly missed.

Remind anyone of the movie Toys?

This isn't entirely unexpected but it is Kind of eery. Next you'll see
the army recruiting at the next Halo game conference?

Saturday, January 22, 2005

Touring Visual FoxPro with PodCasts, Blogcasts or webcasts

I've been taking advantage of my new SDRAM card with my iPaq and catching up with Adam Curry's podcasts as well as others (Carl Franklin's DotNet Rocks). (I would watch the blogcasts on channel 9 but it's not generally recommended to watch video while driving). I've tried both iPodder and Doppler with great success.
I know that Doug did a web cast on some of the new reporting and VisionData has done some others here: but I'm thinking of something maybe a little more interactive. Ya, and Ken's overview with Scoble was nice but we need more. I'm especially thinking of other developers like John Jones who don't get the opportunity to get to conferences.
Where are the Visual FoxPro ___casts? I'll find them or I'll be asking you to collaborate on some.

Windows Mobile Gripes

It seems all I'm doing these days is complaining but why is it that when I forward a link from a web site on my iPAQ, it doesn't get recognized as a valid hyperlink in my email? It's being sent as plain text and not HTML.
I'm not crazy about having to upgrade to a brand new ipaq to fix this and since Windows Mobile 2005 won't be available for mine, maybe I'll find another way of reading my feeds. Why can't the mobile team just get a fix for this and just release it as a patch?
If Apple can make a Mac for $499 and I can upgrade the OS, why can't I buy a Pocket PC for $399 and have it at least last longer than one year without having to upgrade it?

Outlook 2003 is beginning to wear on me

I'm having a particular problem that only recently started happening in Outlook 2003 and it's beginning to really bug me.
Whenever I send an email, it goes into my Outbox before sending. No problem there, right?
Well, if I go back INTO my Outbox just to look at the messages, the messages no longer get sent. It's like they think they are "DRAFT" messages. This never used to happen (and I can't think of what's changed unless it was a service pack or something). I have to actually re-open the message, cut and paste it and then resend it as a brand new email.
But now, it's even worse. If I am in the Outbox folder, and try to open the email to create a new one (so it will actually send), it automatically looks as though I'm reading it and so it won't send.
I'm going to post this to a forum somewhere but if someone off hand knows the solution, please advise. I'm currently running a few add-ons in my Outlook including Lookout, Newsgator and OnFolio (wonder if that's the culprit).
I'll keep you posted.

Thursday, January 20, 2005

Mindjet: Presenting at Demo@15

Now I'm excited. MindJet's MindManager really changed the way I do planning for a variety of things. I use it on both my PocketPC and my main desktop (I still want a tablet for it)

I was complaining a few years ago about where's the latest user interface and found that many of the "mind-mapping" user interfaces worked just like MindManager - which is an application for just about everything.

Now, they get to present at Demo@15, a tech show designed to show the latest and greatest. If what they show is as revolutionary as MindManager, then we're all in for a real treat.

Mindjet: Software for Visualizing and Managing Information

Tom Peters: 100 Ways to help you succeed

Every now and then, I find Tom Peter's Dispatches from the new World of work a lot of fun, including his earlier posts on bad advertising . His blog page logo states "Lead the customer" which actually links very well into Craig's latest post on "The Customer Is Not Always Right" (great post Craig).

But his 100 ways to help you succeed are quite interesting to read. #44 states :
"Are you ... Hip? If not, what ... EXACTLY ... do you plan to do about it?"

which created a number of comments about how hip wasn't really a good success strategy at all. Here's where I think the readers were wrong (as posted into his comments as well)

Apple is a "hip" company. Why? Because they CONSTANTLY redefine themselves.

You're hip if you are able to change (and change successfully) to the point where people or customers look to you for that fresh state that says 'that's where we want to be'.

Yes, what constitutes "hip" changes regularly - so therefore, as a company, do you embrace change and provide that leadership into what is becoming popular (before it does so) or do you follow the trend?

The "hip" people typically drop a trend once it gets too popular - that is , they go find ANOTHER market to conquer.

That's not to say that you should just drop what you're working on for the sake of being "hip". But you need to be able to turn on a dime if what you're doing doesn't make sense or isn't going to change what you want to do. You need to be able to convince people that you're doing is really going to "Change the world" which is exactly what "hip" people can do - inspire change.

100 Ways to help you succeed

Wednesday, January 19, 2005

GM - Find The Message- home page

Sounds like GM got on the Tom Peter's Bad Billboards bandwagon...

GM - Find The Message- home page

VFP Version 10 Wish List

The Wiki has started a fairly comprehensive list of what users would like to see in VFP 10.

While some are unlikely (removing the 2GB limit, converting activeX controls into native controls,etc), some are great ideas.

I love the idea of doing DEFINE CLASS xxx (without specifying an class) and have it automatically do a DEFINE CLASS xxx as EMPTY.

A particularly interesting idea though was to make SQL Server access built directly in. The example provided was:

open data mysqlserverdb
and then let me use sqlsv tables like vfp tables. with use, select,

Realistically, it would have to be something a little more comprehensive but what's wrong with :

OPEN SQLDATA ServerName.DatabaseName

so you might do:

OPEN SQLDATA Local.NorthWind
USE NorthWind.Customers

As more of a comment, it seems some things that people want are things that are READILY available in the PublicDomain or within the code (like object menus, etc), so adding support for some of them shouldn't be that hard (easier said than done, of course).

VFP Version 10 Wish List - FoxPro Wiki

Tuesday, January 18, 2005

Advisor now offers RSS

For those of you who subscribe to FoxPro Advisor, be aware that Advisor now offers RSS feeds to many of its magazines, including listing all new articles.
It's too bad they don't post more of the summary though - the one line tag just doesn't do it for me.

Monday, January 17, 2005

Boing Boing: How copyright is killing culture

Interesting post that shows copyright issues are starting to hurt education needs as well.

I think, for purely education reasons, things like this should be more a matter of courtesy after x number of years. (I don't know what "x" should be but I think there is likely a useful number). Who owns the rights to the Zapruder JFK shot? If someone was doing an educational (i.e. no money being made for it - and YES that includes documentaries!) broadcast/video, then common sense should prevail, ensuring that valuable footage is never lost.

Boing Boing: How copyright is killing culture

beyond bullets: Zen and the Art of PowerPoint

Once again, Cliff nails it on the head with a simple and easy way of making presentations more meaningful.

I've been doing a number of presentations online for a while now where the slide show is about 45 slides long and about a quarter way through, I stop it and switch right over into the demo. I keep on trying to find time to change the entire presentation and make it simply more meanginful.

One or two slides, all leading into a demo. Slides that don't have a title but simply have a meaning - an image that demands explanation but doesn't offer one - one that forces the presenter (me) to make the connection, instead of a slide that does it for them.

Great post.

beyond bullets: Zen and the Art of PowerPoint

Working Between Visual FoxPro 8 and 9

Many developers have production applications running with one version of a runtime yet do development in a later version. This lets daily work take advantage of the newer productivity tools while the final application is still using the older runtime. The challenge here is ensuring you don't use features in the newer version in code that will run in an older version.
A great example is using MESSAGEBOX() to show numbers or dates. Recent versions of Visual FoxPro let you do a MESSAGEBOX(5) and it will do the internal translation between the numeric value and the string equivalent. Seemingly a very simple function yet if you get used to using it, and then have to run on an older version of FoxPro that doesn't support it  - you get a invalid type error message.
Likewise with VFP 9 and VFP 8 but this time, it's something a little more hidden. VFP 9 allows developers to take advantage of MemberData, the ability to extend the property sheet further with your own goodies. VFP 8 doesn't have this feature. Yet when working with the two versions side by side, it always seems as though you can write in one and then produce in the other. This is almost true.
If you specify member data in a class in VFP 9 (and this can be done very easily using the add-ins provided on the Solutions Sample page), you won't be able to edit them in VFP 8. Instead, you'll get errors where VFP can't find the correct memory variables. The solution is to manually open the VCX or SCX file, find the Properties field with the memberdata in it and remove it.
At the bottom of the memo field, you'll see a line that says Name = "classname" but everything before it will be square boxes or binary data, just remove everything from the line that says _memberdata = and all the way down. Then you'll be able to open your class again in VFP 8 and earlier versions.
Yes, you will lose your Memberdata (like Favorites, and advanced editors, etc) but the value of cross-version compatibility is far greater, in my opinion.

Saturday, January 15, 2005

Friday, January 14, 2005

RSS Popper: Free RSS aggregator for Outlook

For those of you looking for a low-cost RSS aggregator for Outlook, check out
RSS Popper: . It's still in beta but works fairly well and automatically includes links to a few common places, such as BBC News, Microsoft Watch, Rolling Stone, etc. You can import from OPML as well as export your feeds into your own OPML file.

It works in a simliar fashion to NewsGator but the Outlook edition of Newsgator costs $ (not expensive but still $) whereas RSS popper is free. All of the feeds are put into a new folder in Outlook called RSS.

The post says it reads both RSS, Atom and RDF but most of the feeds I see are all RSS.

Wednesday, January 12, 2005

Scoble and the Mac Mini

I don't think Scoble gets it completely. There's no way you can compare an HP Pavilion from Walmart to a Mac mini. Why not?

1. HP Pavillions are not built the same way. I've owned a few - they hang regularly (not just due to Windows) and they are VERY limited boxes.

2. The Mac Mini is targeted as a second computer for someone who wants to experience the Mac for the first time and already has the other stuff (Monitor, keyboard, mouse).

Apple still has things to do to get it right (read MS Monitor for a good analysis of the challenges ahead) and the Mac mini is not going to cause a huge dent in the Windows market share but would you pay $499 for a machine that is extremely stable and "just works"?

It will be interesting to see how inventory levels are by the start of summer.

Mini Macintosh announced by Apple today

Saturday, January 08, 2005

Using Online Bug Trackers within VFP

If you use one of the various online or web-based bug tracking systems (DragNet, BugCentral, etc), add it to your VFP task pane to make it easier to access.
1. Bring up the Task Pane.
2. Click on Options and go to the Task Pane Manager.
3. Click on Customize and go to the Customize Panes section.
4. Add a new pane as a  Web Page.
5. Click to the Data Tab and enter the URL for the web site.
6. Click Save and you're all set up!
Now when you bring up the Task Pane, you can go directly to your bug tracking system and have it available to you while you work directly within Visual FoxPro!
At first I thought about simply trying to hook into the SQL Server database and link all the bugs to the VFP Task List but this way, I'm still using the online component but I have access to my items quickly and easily. Yet another way to stay completely in my VFP IDE and still use other tools at the same time.

iPod Photo Galleries - iPod Concepts

With Apple set to rock the world next week, possibly with a home device (iHome ?), I found this neat site that has all kinds of cool ideas, including (likely for Scoble's benefit, the MSN iPad ). Some very cool ideas here.
iPod Photo Galleries - iPod Concepts

Thursday, January 06, 2005

Calvin answers: What is an index anyway?

There have been many articles (Discussions, posts, whatever) on how Visual FoxPro gets its speed from and how the VFP index actually works.

Calvin's most recent post,
What is an index anyway?, goes into full detail.

As a quick note on indexing and VFP 9, VFP 9 includes a new Binary index, useful for handling logical indices. The new BINARY index is smaller and also much faster.


Example: Table with 8000 records (a few deleted)
INDEX ON DELETED() TAG DELETED : CDX file size was about 22K


There used to be a time when almost every application created an index for DELETED() until Chris Probst (referenced here on ProFox - I would link to the entire article but FoxPro advisor never put it online - hey Chris! did you know you could revise it and put it online yourself?) shattered the illusion that it would make things faster.

As it notes in the VFP9 help file, this new BINARY tag can be very helpful on networks or WANs where the old approach could cause performance problems.

Wednesday, January 05, 2005

CHUM Media Tsunami Relief in Canada

All 38 different stations of the CHUM Media network are doing a donor show all day today to provide relief to the tsunami-stricken areas through the Red Cross and other organizations.

So far (as of 9:25am today), they have raised over $250,000 (not including an initial $100,000 donation from the CHUM network itself).

As Trish and I were discussing last night, if every person in Canada only gave $1, we would be giving over 36 million dollars. If every person in the Western world only gave $1, imagine how much it would bring.

If you can, give generously.

Monday, January 03, 2005

Scripting News: The Media and the Story

I'm not always a big fan of Dave Winer's blog but in his first set of posts this new year, he hits the nail on the head
Bringing the Press into the story

I'm VERY tired of reporters saying they are objective yet their bias shows through regularly. Maybe it was ironic then that the pro-democratic media pretty much shut down Dean's campaign by making him appear as a ranting maniac (that seems to be Dave's comment " when a campaign can be deleted, and its supporters disenfranchised, by cable networks because a candidate showed enthusiasm," - but Dean pretty much did do it to himself - there's a difference between a rant and enthusiasm).

But his point is bang on: "Net-net: the professional journalist is totally part of the story he or she is writing. That they believe otherwise is the major bug in their process."

His other reference to his comment on competition from three years back is absolutely right on as well:

"Simply stated, here's my rule. Where you want competition, give away the technology. Where you want to be competitive, keep it to yourself."