Skip to main content


Showing posts from December, 2004

Adios 2004!

While it's been an exciting year for VFP, it hasn't been the greatest year overall and judging by the mayhem all over the world from the beginning of this year (Bam, Iran) to now (tsunami) and everything in between (snow in mexico, hurriances galore) and family issues, I'm sure looking forward to 2005 being a banner year.   Thanks to all the readers and colleagues who have pushed me into better blogging, more accountable writing and overall just letting me hear what you have to say!   Happy New Year to all! See you in 2005!  

Reinstalling DotNet/ASPNet on a Windows 2003 Server

So much for getting rid of DLL hell...I've just been through hell and back trying to re-install the DotNet framework to run properly with SourceGear's Dragnet product. We were experiencing some problems that only popped us running IE (FireFox was fine) and the suggestion was to reinstall DotNet. Oh sure. no problem -just go to Windows Installer right? Wrong - apparently the service packs don't show up under Add/Remove programs with a good name. Redownloaded DotNetFX again , thinking I should be able to install over it. Sorry - "This has already been installed on your OS." (Win 2003). Why is that? Because Windows 2003 comes WITH the DotNet framework built in. This means that you can't simply "remove it" and then "reinstall it". But there is a solution. Read on. Based on some other useful sites, I turned on Windows Installer Logging so I could see that the message was when I tried to install it - maybe I could find out where the

Reading MP3/WMA Information in FoxPro

A recent post on a newsgroup was looking for a tool that would let them read MP3 tag information (artist, genre, etc). After doing some looking in the new VFP 9 "Fox Media Player" solution sample, it's simply a matter of working with the Windows Media Player COM component. oPlayer = createobject("WMPlayer.OCX.7") loItems = oPlayer.MediaCollection loSong= loItems.add("c:\what time is it.mp3") ? loSong.duration ? loSong.getItemInfo("Artist") ? loSong.getItemInfo("Title") ? loSong.getItemInfo("Album") Best of all, you can also set the information back again: loSong.SetItemInfo("Artist","Kane Gang") I used to rely on a variety of media tools to help catalog my music but using the WMPlayer OCX, I have placed them all into one big Fox table and from there, I update the tags, refresh my files all in a database format that I'm comfortable with. The other benefit is that I know I'm

Dan Gillmor - Airline Meltdowns

Absolutely right on. And Now US Airways is asking employees to work for free on New Year's Day. You know something? The company is struggling and union action is NOT the way about it. If you want to keep your job, then support the company. Last time I checked, US Airways wasn't splurging millions on useless stuff (like Canadian did) - they're trying to make the company survive. What's better? A job you enjoy doing and get paid (albeit less than before) for or no job at all in an industry where there are very few jobs. Silicon Valley - Dan Gillmor's eJournal - Airline Meltdowns

Jim Grisanzio: Successful CEOs don't multi-task

Of course not - that's what they want their computer to do for them. Case in point: I don't want to have to visit 500 web sites to get my news ; Newsgator - do it for me. I don't want to worry about downloading this 100MB file; BitTorrent do it for me. I read my weblogs in the morning and in the evening, when I'm not doing much else and want to catch up on things. During the day, I try to stay focused on one thing at a time (in fact, that's a pretty good new year resolution - and for those who know me , it'll be tough) - staying focused on one thing is hard when you've got IM, support calls, emails amid 10 other projects that need to be worked on. A few years back, one piece of advice ( I think it was actually in Dynamics of Software Development by Jim McCarthy) was to only check email once every x hours. The big problem now is that there's so much more email than ever before (and that's not including spam)- that it's easy to miss

Portable Sound: Belkin - TuneCast II Mobile FM Transmitter

I've been looking at one of these ( Welcome to Belkin - TuneCast II Mobile FM Transmitter ) for a while with some trepidation: most say that the quality of the FM broadcast isn't that great. But now I have one and I can say: That's not what I found. I now have a 1GB SD card with various podCasts downloaded and plug my TuneCast II into my iPaq 1940 and can now listen to what I want to when driving to and from clients. I go to client office's only sporadically (most I can connect to remotely) and work from home but having this on my PDA, which is my main source of information, makes it an awesome tool. Great frequency (88.1 to 107.9) and powers on and off automatically and runs on 2 AAA betteries. (I'll find out how long these really work) Maybe now I'll start PodCasting my own stuff.

Mainstream Coverage of the Asia disaster

I don't know where Scoble found the "mainstream" media but I was completely amazed at the lack of coverage given to this story by television news outlets CNN and MSNBC. (yes, I know the blog coverage was likely far better) - We switched over at BBC World News first thing where they brought nothing but quality coverage the whole day. (first rss feed update came in at 11pm EST on the 25th). Thousands of people are dead and the only thing CNN and MSNBC chose to broadcast (at least on the "north american wide feed") was "Headliners and Legends" and debates on Iraq. Our daughter has a friend who was vacationing in Thailand and we're still waiting for some kind of "yes, I'm ok" type of conversation. Thoughts and prayers are with everyone in the region... Scobleizer: Microsoft Geek Blogger

Merry Christmas 2004

Just a quick note to say Happy Holidays and Merry Christmas to all my friends, colleagues and blog readers. May this season (and the various celebrations you may enjoy) find you all safe, happy and surrounded by those you love.    

Onfolio - RSS in the Browser

Onfolio has a great product here. I'm running the beta but it seems really quite solid. In particular, because going through my 156 feeds in Outlook seems way too time-consuming in Outlook 2003 (where the Favorite Folders feature seems to have outgrown my entire space available). If you want to see what RSS Browsing is like, check out OnFolio - very cool.

Taking Heat for a Great Idea

Johnnie Moore's take on Scoble is definitely a bit fresher than the others comments . Corporate deals with the "what is a blog supposed to be" ramifications. Some immediate points on Scoble's letter and the comments afterwards: 1. Robert is a microsoftie in the same vein as the Excel 3.0 team : that is, we can create the best ________ possible. You know something? They can. The Fox team does it regularly (despite some comments posted on Channel nine's video ). It's not arrogance - it's a challenge. I want my software to run on everyone's computer - I want everyone cool to be using my music player.... the fact that he works for the biggest software company doesn't mean it's going to work. It just means he's laying the challenge: build a "cool" media player. (and some people are responding) 2. Points should be given for anyone who is willing to write an open letter to his boss for everyone to see and also put the ste

Announcing SourceOffSite 4.1

Congratulations to SourceGear for once again improving an already great product! Any chance for an update to SourceOffSite Collab? Or at least an "upgrade" to Dragnet? Update - spoke too soon. OF COURSE you can import from SourceOffSite Collab to DragNet ! Announcing SourceOffSite 4.1

Cool Newsgator Feature: Headlines

Scoble got me started looking at some of the other cool features in NewsGator. I'm a little hesitant to put my blogroll on my site (it's just way too big) but I immediately thought that headlines would be cool. While the NewsGator default is 100, I've limited mine to the top 10 since I link to about 200 different other blogs. I have to clean that up... What an awesome feature though. NewsGator really is one of the premier news aggregator tools and the fact that it keeps on adding new features is just awesome! Way to go, Greg!
Screen shot of AddInfoX. The numbers beside each method tells you how many lines of code are in each method.

AddInfoX - Very useful Class Browser Add in

I was searching around for some other files and came across AddInfoX at Ed's Downloads area. Very cool addin for the Class Browser that displays not just the names of the members,etc but also their property values (for anything non-default) and the number of lines of code in each event. Check out the next post for an image of it.

Art of the Start: Causation

I recently started reading Art of the Start by Guy Kawasaki. Guy was probably one of the first "recognized" technology evangelists and has written lots of books on the topic. Each of his books always seem to be slightly different variations on the same theme - on how to create something that completely changes lives (loosely: Selling the Dream was on how to sell it, How to Drive Your Competition Crazy was on how to compete with it, Rules for Revolutionaries was on creating it) - so I wasn't too sure how his new Art of the Start would read, especially since his new focus is on helping startups get venture capital. But once again, he's really done a good job.   The first chapter, Causation identifies what you really need to work on: Meaning, Mantra and MAT (Milestones, Assumptions and Timetables).   Instead of all those books that say study this and plan for that, come up with a mission statement and the like, Guy promotes the easier to remember style

Inspirational Ideas from Guy Kawasaki on Starting New Things

I've been reading Guy's new book, Art of the Start for a while now (it's been hard between other projects but I was able to read it on my flight down to NC). It's a great book for start-ups, filled with Guy's humour and thoughts. If you've read his other stuff, you may find it a little repetitive (he always includes a chapter on how to be a better person - or in this case a Mensch) but I dog-eared a few things that just make it worthwhile. Rather than simply say a page # and tell you to go look it up in the bookstore (yes, Robert, Page 173 talks all about how much every company needs evangelists - not a new concept for Guy), I thought I'd pass on a few quips here. Pg 73: The worst thing to do is write a "deliberate" plan and then stick to it simply because it is "the plan". Guy notes the difference between a deliberate (which is based on road maps and analysis) and an emergent plan (which is based on reacting to opportunities as t

Yet Another Airport To Avoid

I try to give every airport I travel through a chance. But if I spot a trend, be it by location, or service or "do I really want to be stuck here for x hours", then it usually ends up on my list of Airports to Avoid.   I was supposed to get back home Friday morning at 10am, flying through Washington Dulles. Got off from Greensboro ok but when we arrived in Washington airspace, the fog was too thick. (note: never pick an airport near a coastline where fog or bad weather is a possibility).   I finally got home at 10pm, having been rerouted to Harrisburg (for fuel), back to Dulles where our original flight had been canceled and the only other flight was at 4:50, delayed until 5:20 and then stuck on the ground until about 6:30/7.   To their credit, United Airlines staff on the ground were amazing. Just never going through there again....

What VFP 9's Removal of Array Limits Really Means

Interesting post by John K. about how the limits in VFP 9 have been substantially removed and yet may still rear their ugly head because of machine constraints. But it explains very well how and why you may want to rethink how your applications may be built. A great example is the removal of the limitations of an array. Let's say you have 1,000,000 records in a table named X. I created this table by listing all of the files in a folder showing two columns: one for the file name and another for the size. CFIELD1 C(30) NSIZE N(10) =ADIR(la,"C:\windows\system32\*.*") CREATE TABLE x (cField1 C(30), nsize N(10)) lnRow = 1 FOR lni = 1 TO 1000000 IF lnRow+lni>ALEN(la,1) lnRow = 1 ELSE lnRow = lnRow+lni ENDIF INSERT INTO X VALUES (la(lnRow,1),la(lnRow,2)) ENDFOR This ensured I had at least some variety of data in my results. In VFP 7, you couldn't do SELECT * FROM x INTO ARRAY la You would run out of memory. However y

Joel / Tamir on problems with MSF

Joel comments from Tamir about MSF : "The trouble with MSF is that it starts with a group of successful developers, who are successful because they are resourceful, intelligent, experienced, well-meaning,...." Actually, what I've found is the biggest problem with MSF is lack of buy-in from all partners. A good project is only as good as its weakest link because if there is one person who isn't motivated to follow the best practices concept, then the whole project will eventually fall apart, despite the best intentions of everyone. It isn't so much about unskilled developers as much as it is about someone who's attitude becomes "why bother?" or a manager who decides "this little R&D effort isn't as important as my critical issue" so "everyone do what I say instead". The end result is the impression is that MSF didn't work when in fact, it's more the implementation that failed. Classic problem with any project

FW: SQL Server Presentation

 Val Matison will  be in Ottawa on the   December 15th doing a SQL Server 2005 overview presentation for Microsoft. You can sign up here:   Matison Information Architects E: Web:  

Kok Kiet's Blog: New FoxPro WebRAD Tool : FoxFusion

Yes the actual site is in French but hey! here's a great example of FoxPro running with COM, IIS and more. The sample apps are quite interesting (I can't get the Timer working but the FoxChat is fun to look at - note IE Only - no firefox support there) Brought to you apparently by Ikoonet Thanks to Kok Kiet for pointing this one out. Kok Kiet's Blog: New FoxPro WebRAD Tool : FoxFusion

Working with Edit Boxes in Visual FoxPro

I had a circumstance where I wanted to show a potentially large piece of text in a read-only edit box in VFP.   I was changing the height of the box to only show the actual content therefore if I only had one line, I wanted the edit box to only take up one line in height.   Sounds simple, right?   Not quite. My other requirement was that the user should be able to change the alignment of the text in the box. Left Align worked beautifully but whenever I switched the Alignment to Center or Right, the text disappeared.   What was going on?   When using alignments other than Left, Edit boxes have to be at least a certain height to display properly. What is the magic number? As it turns out, it's 34.   Try it yourself: x = CREATEOBJECT ("Form") x. AddObject ("editbox","editbox") x. editbox . Visible =.t. x. editbox . FontSize = 8 x. editbox . Value = "Here is my text" x. Show x. editbox . width = x. Width x. editbox

The Red Couch: Announcing a corporate blogging book: the Red Couch project

This will be an interesting project to see how it takes flight... I can't honestly see publishers lining up for the rights to a new book that technically will have already been "published" but there are certainly enough ways of adding value that will make it worthwhile. And as Scoble puts in, people who don't read the blogs will buy it to better understand it. The only issue? Timing. It needs to be out soon. Good luck Robert! The Red Couch: Announcing a corporate blogging book: the Red Couch project

MSN Messenger Beta - Can't Send Feedback yet

FYI - if you're trying to send the MSN team feedback, you may need to wait a bit....Choosing Send Feedback from the Help menu gives you a "This Service is Currently Not Available" page. It's nice to know that even larger companies go through what every other developer else tries to avoid as well. So here's what I want: - support for multiple logins (yes, login with two passports) - custom status messages (MSN Messenger Plus has had it for a while now) And why is there a menu option called Billing Information sending me to Blue Mountain? Seems like it should be called Add-Ons ($) or something else. Billing Information makes me feel like I'm going to start getting charged for Messenger. MSN Messenger Beta : "Send Feedback: Tell us what you think. Send the MSN Messenger team feedback right from the MSN Messenger Help menu."

MSN Blogging service: still a beta service

It's up and running but " Part of the fun in using a beta service as a platform for communication" So the MSN Blog is simply a beta (like the MSN Search?). You would think from the other posts that it was ready for primetime. Granted - it's on the web and we'll likely start seeing it improve but I wish the press (and other bloggers) would be a little clearer about its status. At least Mike was and of course there is that big "Beta" sign right above every note. And on the MSN Messenger 7 beta - when are we finally going to be able to log in with multiple accounts? I know it's tricky - I know it's tough - but it certainly would make my life easier (and isn't that what should be priority? :)) Mike's Space: Hiccups

VFP 9.0 Release Date

(from foxblog but I can't ref its archives so...) December 15!!!!! That appears to be the official release date for Visual FoxPro 9.0, barring any unforseen showstoppers. Andew Coates, a former VFP developer and now Microsoft employee, blogs that Ken Levy announced the date at OzFox . MSDN subscribers should be able to download the bits a few days after release (RTM in Microsoft speak). If you absolutely must have it in the CD case, it generally takes 6-8 weeks after RTM. 587