Sunday, August 28, 2005

Alex and Katrina

Good luck Alex ( I *think* you should be out of the worst by now) and to all of those who are embracing for Katrina's impact.

Hope everyone was able to get out when they could.

Saturday, August 27, 2005

Bradcast_050823: Why do you Blog?

GOod podcast about blogging by Brad Gibson, fellow TechPodcast network member and the importance of figuring out what you actually want to talk about.

This is why I have several blogs (one just for links, one for real content (this one), one for other stuff as well and of course, the FoxShow)

Thursday, August 25, 2005

Terminal Server to the server's active Console - Rick Strahl's WebLog

Never knew this either, Rick.

Funny the way a critical feature like this never gets openly documented (so that people can find it immediately) or made easily accessible through the user interface.

Wednesday, August 24, 2005

What I Want From NewsGator - Now It Does It!

A month ago, I complained that Newsgator needed to make it easier to add new feeds into individual folders.

Whaddaya know?

Today, I was subscribing to the Skinny on Sports and voila! I could now move it directly into my Podcasts folder.

Way to go guys!

Tuesday, August 23, 2005

Show It and Support It : Screen Casting tools for everyone

Here's an article that was previously promised to Advisor but they didn't feel it was useful specifically for Foxpro developers. Oh well. Enjoy.

It used to be that building a self-running video or demonstration of software required a great deal of expertise and money, hiring a production company who did the work in their own studio. Today, developers and trainers are building these "screencasts" themselves and in this article I'll go through several options that are available to you.

Andrew Ross MacNeill - Articles & White Papers: Show It and Support It : Screen Casting tools for everyone

Rick Strahl: I'm a RegEx Weenie

Ah yes - Regular Expressions - the expressions that make regular people say "back when I was a programmer, we could only code with 1s and 0s"

Could an expression be any more geekier?

"The following expression works well for this:

<(.|\s) ?>"

This almost looks like swearing in most cartoons.

From ProFox: Last Stand for First Sale

Heard on ProFox - you think the Visual FoxPro EULA is bad?

A woman wanted to resell software that she would no longer use.

...She met neither requirement, Livingsoft told her, particularly because "when the president of Livingsoft contacted you personally to remind you of company policy in this matter, you informed him that your reason for selling was that the software 'sucks' ... that reason doesn't qualify for an exception to our general policy."

...I find it similar to buying a car, deciding to sell it, and then being told that I can do whatever I want with the car but transferring the keys to someone else is illegal."



Ed Foster's Gripelog || Last Stand for First Sale: "r"

So this is what happens today when a network goes on strike

Those of you in the US, and those who really don't listen to government sponsored radio, may not be aware of this but our national broadcaster (CBC, similar to the UK's BBC) went on strike last week.

So Tod Maffin of ILoveRadio, who reported a number of items prior to the lockout (including a post that said "email is no more, oh so is my voice mail"), started CBC Unplugged.

The locked out workers have been doing podcasts, blogging and more. Even doing competing shows

Even the managers from within the locked out building are posting.

Some have suggested that this isn't the way to get people to appreciate them.

My brother, Keith, works for the CBC - at one time as a producer (even won some awards) and now I believe as a Manager. Haven't heard from him on this although he lives up in Yellowknife so who knows.

I'm not a big fan of strikes or lockouts but then I don't like unions to begin with. But what would be interesting would be if what Tod had talked about doing with CBC Unplugged actually came true.

Have a REAL online network - don't just gripe about your picket lines and blah, blah, blah. Show the world (and I guess your managers at the same time) that you love what you do so much that you are going to do it WHILE you're on the picket line and you're going to do it SO MUCH BETTER than the normal CBC could do it.

But enough anti-union spat, I think that it's very cool that if enough like-minded individuals wanted to get together and start a "network" for news, music, commentary anything - that they don't have to get the handouts from the government to do this. (CBC gets almost 1 BILLION dollars annually - maybe instead of looking for advertisers for the TheFoxShow, I should just go to the people who take all my money anyways)

Speaking of a "real network", I'm going to fire up the TechPodCast Network live feed. Why is this cool? Well, all 40+ members of the network upload their latest shows onto the Live Stream. As a result, you get the equivalent of "tech radio" - all day, all night.

Monday, August 22, 2005

Getting Week Ending information

A customer asked me recently about how to build a FoxPro expression that would give them a string like 21/08 for the week ending based on a 7 day week.

Using DOW , this is fairly easy;

? PADL(MONTH(DATE()-DOW(DATE())+1),2,'0') + "/"+PADL(DAY(DATE()-DOW(DATE())+1),2,'0')

Why do the +1? Because DOW() gives you the day of the week and by subtracting the DOW ( ) would take you to the end of the previous week.

Now, if you're sorting by this, you'll see I use the PADL so that it always put a zero in front of any single digit months (01 for January, etc).

Andrew Coates - MapPoint Web Service COM wrapper and VFP Sample

Cool - Andrew Coates shows how to call the MapPoint Web service via a COM component and VFP.

I do a fair bit of MapPoint stuff but it's all desktop based. This will make getting into the Web service much easier.

Thanks Andrew!
Andrew Coates ::: MSFT : MapPoint Web Service COM wrapper and VFP Sample

Joel on Software - The Project Aardvark Spec

Joel explains why XP isn't the answer to everything:

"Many times, thinking things out in advance saved us serious development headaches later on....As I worked through the screens ... I realized that Aardvark would be just as useful, and radically simpler...Making this change in the spec took an hour or two. If we had made this change in code, it would have added weeks to the schedule. I can’t tell you how strongly I believe in Big Design Up Front, which the proponents of Extreme Programming consider anathema. I have consistently saved time and made better products by using BDUF and I’m proud to use it, no matter what the XP fanatics claim. They’re just wrong on this point and I can’t be any clearer than that."

Saturday, August 20, 2005

Why do report layouts in VFP9 need wider field/expression controls than in VFP8 and earlier?

Updated: Fixed the links. Thanks Colin.

Colin provides the answer.

Why? GDI+. Really want to know why? Read further...

aLooking for a few good ideas - Why do report layouts in VFP9 need wider field/expression controls than in VFP8 and earlier?

Sweet Potato!- What a Calendar Class

Take a look at Craig Boyd's FoxPro calendar class (source provided). Ya, ya - it looks like the ActiveX one except check out the second picture - you can highlight multiple days - very cool!

The SPS Weblog - Visual FoxPro Grid - A Tip and a Calendar Class

Calvin Hsia's WebLog : Foxpro Language into a table

Wow - never even saw this function until Calvin highlighted it here.

ALANGUAGE() returns an array containing the names of all valid Visual FoxPro commands, functions and base classes.

You can even pass it a second parameter to dictate what the array will contain:

1 - One dimensional array with the Command Name
2 - Contains functions with the second column showing the number of parameters
3 - Base Classes
4 - DBC Events

Very cool - almost saves the trouble of having to look into WIZARDS\FDKEYWRD which contains operators as well.

Never looked into FDKEYWRD?

USE HOME()+"WIZARDS\FDKEYWRD"
The Token field shows the actual word or operator (including #, !, .AND. etc)

The Code field identifies more of its purpose. P for Property, M for Method, C to identify that the term is more of a complementary keyword. Example: CURRENCY is marked for a CODE of "C"

That's because there is no CURRENCY function - rather it's simply

SET CURRENCY TO $

Very cool function!

Friday, August 19, 2005

On Relational Databases

Nothing quite like it when the original architects get interviewed and attempt to debunk recent statements on the criticisms of the implemented world. Such is the case with this interview that Ted points to with Chris date.

I think he may have a point when he refers to the fact that "an object/relational system done right would simply be a relational system done right, nothing more and nothing less. "

But he does sound like a bit of the arch-typical college professor when he says "But the trouble with the relational model is, it's never been implemented--at least, not in commercial form, not properly, and certainly not fully."

Great interview. Thanks for the link, Ted and congrats on your MysQL Certification!

Ted's Radio Weblog

ScreenCast: GKK ProjectManager

Gregory Greene (sorry for mis-saying your name in this quick screencast) recently posted the GKK Project Manager for Visual FoxPro in the Universal Thread for downloads.

Here's a quick screen-cast on what it looks like and how you use it. Works with VFP 9.

It combines a lot of the great features found in separate tools in VFP and puts them into a new Project Manager, with built-in search, file compare, todo list, custom editors and more.

Check it out! You can download the GKK Project Manager here

Thursday, August 18, 2005

What Role Are You Doing?

The FoxShow is one of my FoxPro and development business-related podcast. The latest episode (issue, cast, whatever) had an interesting piece that a colleague suggested I share in other areas as well.

It starts about 8 minutes into it and talks about how even though every one may have a different title in a company, when it comes to customers, EVERYONE is a sales person, a support person and a developer.

Part of this comes from the Return on Customer book I'm reading but it's also something that I think many people see in their every day life.

You're always selling something - an idea, a product, a service, a design methodology
You're always supporting something - same as above
and everyone is always developing something - it may be an idea, a software product, a hardware product, - you're always trying to take it and make it into something more.

The key takeaway - if you see someone in your organization that isn't thinking this way, then think of the consequences. Do you want that person speaking for you in front of others?

The FoxShow

What can you build with VFP?

The Wiki is such a wealth of information but i recently saw this topic being updated and just had to post on it.

As developers we often hear critics say "what can you build with FoxPro or VFP?" - well, with a few of these pages, you have the answer.

List of Applications by Industry


VFP Shrink Wrapped Products

If you don't see your application listed there, be sure to add it.

Wednesday, August 17, 2005

Dijjer: A new way of getting around large file downloads?

Dijjer, is kind of like BitTorrent, only it doesn't require you to have special software loaded. Instead, just add add "http://www.dijjer.org/get/" to your link and it should work.

Hmmm....but where is the file located?

It's on their site and you do have to install some software to get it going but it offloads the bandwidth requirement from your server.

Interesting.

Is Wal-Mart dropping rfid ?

I heard this mentioned by a few people but still haven't seen any real news reports on it.

Wal-Mart supposedly has RFID readers in many of its stores since the Jan 1 deadline is looming but are they now going to pull the plug?

While I can certainly see it from a privacy perspective , there are a lot of benefits of RFID for inventory management.

Does anyone know any published source on this?

From the Horizon FrontLine: walmart dropping rfid ? - an informal diary about working with the Horizon trucking software

Tuesday, August 16, 2005

Word Up for Blogs

Well Scoble can't talk about it yet but the fact that Blogger now offers a Blogger add-in for Word in "kind of cool", I guess.

I spend more time in other products than I do in Word but I do know where I'll be enjoying it - when writing articles.

Blogger Buzz: Word Up

Monday, August 15, 2005

When is a Beta a Beta

This has been discussed numerous times before but Windows Vista brings it up once again.

I went on a rant on this on this week's FoxShow related to user interface design but I agree.

"As I pointed out last week, it's not a beta until it's feature-complete. Microsoft is showing off a prototype, a demo. When they have the new UI in place, and lock down the features they plan to actually ship, then it is time for beta evaluation and testing."


Ted's Radio Weblog

Why Too Many RSS Feeds May Not Be A Good Thing

Rick Borup notes that he's reaching the point of information overload, even with RSS.

What is needed to make it easier to read 1000 RSS feeds a day? It would be useful if the News reader learned about the types of items that you DID read and then suggested key ones to you. (I can envision an interface similar to that of the Automatic Playlists in Windows Media player - feeds I read at night, feeds I read during the day, random pick, etc)

This might make it a little easier - it would also be useful if the NewsReader aggregates the feeds themselves - so that if 10 sites all referenced the same main story - it only appeared as one news item, instead of ten (but with 10 different "story comments")

Hey Greg and Nick - you guys listening?

fiat volpes: Deja View, or Why Too Many RSS Feeds May Not Be A Good Thing

Saturday, August 13, 2005

The SPS Weblog - Skinning a Form in Visual FoxPro

Definitely something to check out.

The SPS Weblog - Skinning a Form in Visual FoxPro

The Bradcast: Biz Tech Ruminations from Calgary Alberta | The Bradcast: Engineered Thought from Brad Gibson

I was listening to The Bradcast: Biz Tech Ruminations from Calgary Alberta | The Bradcast: Engineered Thought from Brad Gibson and when he was mentioning his favorite Business podcasts, I just had one thought:

Steve's Transition Journals

If you've never read Steve's posts, they are amazing. I don't like that his Atom feed only shows the shortened text version (the posts themselves are full - Thanks Rick for clarifying that in comments) but it's rare that I don't forward them onto my business associates.

And he was a FoxPro guru too....Great blogs Steve.

Claudio : What's up with zero-based arrays?

Claudio - I always thought that it was because C programmers didn't know how to count (or was it ActiveX developers?)

Maybe it was just the Microsoft ActiveX guys - because by the time they got to the Outlook object model, at least they remembered that 1=1.

It may just be a throwback to when people said "I'm going to punish the punchcard guy by shuffling his cards" or wouldn't it be fun to do

#DEFINE True .F.
#DEFINE False .T.

right at the start of my code?

But your comment on "logic" reminded me: I took a philosophy class in university and after going through Plato, Aristotle and others, we came to logic. Do you know what the prof said? (this is why I hated that class)

"Don't try to understand logic - Logic doesn't make sense - just memorize it" - Philosophy professor , Trent University, Canada around 1989.

In fact, Logic (and Aristotle) were about the only things that made sense in that whole class.

(I think the prof must have become an ActiveX developer )
Claudio Lassala: What's up with zero-based arrays?

Glen Taylor's WinMerge plugin for VFP files

Glen Taylor just released a plug-in for WinMerge that makes it easier to compare Visual FoxPro's VCX, SCX ,FRX and LBX files.

This is "for those who are not using the Source Control integration in VFP where you put the project into Source Control and VFP uses SCCTEXT to build the VCA, SCA and etc files."

Definitely interested in that!

Visionpace: WinMerge plugin for VFP files

Alex Feldstein - Welcome Claudio

Alex Feldstein notes that Claudio has started two blogs - sounds like the boys at EPS are really embracing the blogosphere.

Welcome aboard!

Friday, August 12, 2005

How to Shoot Yourself in the Foot

Kevin notes that the entry for xBase says you have to use Clipper to shoot yourself in the foot. But if you read a little further,you'll see:

dBase
You buy a gun. Bullets are only available from another company and are promised to work so you buy them. Then you find out that the next version of the gun is the one that is scheduled to actually shoot bullets.

That sounds like an awful lot of other products that aren't mentioned in this article too.

But I love the ones near the bottom :

Perl
You shoot yourself in the foot, but can't figure out how you did it so you find a dozen new ways to do it.

Python
You shoot yourself in the foot and everything goes so smoothly that you go ahead to to shoot yourself in the other foot then your legs, then your torso and then your head. Problem solved.

How to Shoot Yourself in the Foot

Friday, August 05, 2005

FoxTalk 2.0 GDI Article Available Online

Craig's GDI article is now online at the FoxTalk 2.0 site. As Craig shows, GDI+ isn't just for FoxPro reports. You can also do it with forms as well.

The SPS Weblog - FoxTalk 2.0 GDI Article Available Online

Joel on Software - Hitting the High Notes

Great article on hiring great programmers, as opposed to good ones.

What's interesting is when Joel takes the stats of min vs max hours and then only looks at the top 25% (in terms of grades) - the differences in time are still there. As he notes with these studies: The quality of the work and the amount of time spent are simply uncorrelated.

It's not just a matter of "10 times more productive." It's that the "average productive" developer never hits the high notes that make great software.

Joel on Software - Hitting the High Notes

Thursday, August 04, 2005

ScreenCasting just got a lot easier - thanks to GoToMeeting

The latest version of GoToMeeting now includes recording functionality as well as annotation.

This means that you can record a meeting (yes, you still need a microphone for the audio) and annotate it during the meeting and then play it back.

Yes, for more advanced usage, you may still want to use Camtasia or the free Camstudio product.

I won with Dave's iPAQ

Well that was fun. Just got a Skype call from Dave Ciccone at Dave's ipaq. Looks like I won the iPaq hw6300 they were offering through their podcast.

Nothing like being "skyped" when you won! Thanks Dave!

Can't wait to try this phone out.

iPAQ news, reviews, shopping, discussions @ Dave's iPAQ

Mozilla Foundation Announces Creation of Mozilla Corporation - MozillaZine Talkback

As noted on Cnet's Buzz Out Loud , all for tax reasons - ah yes...

Not for partnering with other companies such as Google? Of course not.

Let's see...Mozilla provides a full cross-platform development environment with Xul and then Google provides the home page...who needs a GoogleOS? Would this be called Mozoogle or simply Goozilla?

Mozilla Foundation Announces Creation of Mozilla Corporation - MozillaZine Talkback

Past the AJAX Hype - - Rick Strahl

Rick is wondering about where to put Ajax technology in something like the West-Wind store.

I've been reading a lot of the Michael Mahemoff's posts about Ajax as well as I become more and more familiar with Ajax.

Certainly, it makes certain things easier to work with but it is just an approach that reduces screen redraws and server trips.

That said, where could it be used in an e-commerce approach?

1. Searching for products in a large inventory. As it finds new items, they get added to the list of what's available.

2. Recommended items based on what a user has chosen.

3. Reducing the way "pages" are handled in a web -based application. Instead of having to go back to the server for each page, it could "flip" automatically.

Sure, these are things that can be done today with a traditional approach but they all require server round-trips. You order an item and then once it's been processed, it makes some suggestions. When I am just looking at a product, it would be cool if it could make recommendations without requiring an obvious trip back to the server.

Take a read through Rick's post, though - as he makes some valuable points about the impact Ajax may have on scalability.

In the end, I think the AJAX approach will be just that - an approach to making web applications work better. It changes the expectation that users have about web applications - web apps don't have to be slow and cumbersome - they can be instant and fast just like their desktop counterparts.

(Of course, if developers just made their desktop apps slower, then we wouldn't have this problem would we?)

Past the AJAX Hype - Some things to think about - Rick Strahl's WebLog

Wednesday, August 03, 2005

One Minute Tip: NewsFeeds from Google

If you haven't listened to the OneMinuteTip before, it's a great podcast that's quick and easy to listen to. (it just takes one minute of your time )

But this particular tip was great. I recently set up a personalized Google home page but was lamenting the fact that I couldn't access my feeds.

Heh! Now I can. It's all under Create a Section.

Damn and their Drag and drop rocks!




One Minute Tip

David Stevenson's Talking Fox: Sedna and the Future of Visual FoxPro: Interview with Ken Levy and Alan Griver

David Stevenson has posted his entire interview with Ken and Yag on Sedna (no longer the tenth planet) and the future of Visual foxPro.

Great stuff David.

I find it interesting that Alan Griver is referring to the decision to support Vista with Sedna to be akin to shifting from DOS to Windows or from 16 to 32 bits.

I hope that is to do with the XAML support that Ken showed in his Channel 9 video.

My favorite part of the Interview:
"People always talk about programming languages being written in themselves. The .NET framework was written in C# and in VB. More and more parts of Visual Studio are now written in the managed (.NET) languages. It’s the same reason that anything that we add for ourselves benefits our customers. This means that if we add new extensibility capabilities in Sedna and we prove how much can be done – you know, if we can do half the things we defined in Sedna without touching the core product, you know what, Fox is a hell of a product."


David Stevenson's Talking Fox: Sedna and the Future of Visual FoxPro: Interview with Ken Levy and Alan Griver

Monday, August 01, 2005

Craig Bailey's thoughts: VFP Solution Explorer - any interest?

Interested? Hell Yes!

That was my reaction over a year ago when Craig showed me what he was doing and it still is. Combine a solution explorer with Arg's Property Browser and now this is precisely what Craig Boyd was talking about when he said build better developer components.

When's the beta?

Craig Bailey's thoughts: VFP Solution Explorer