Skip to main content

Posts

Showing posts from October, 2005

Ruby on Rails chases simplicity in programming

Great article on Ruby on Rails, the environment that 37 signals uses for BaseCamp and Backpack among others.

While I continue to hear about this framework to help web developers be more productive, I find myself thinking very much about West-Wind WebConnect 5.0, still in beta and the buzz that was generated at the Southwest Fox conference about it.

No, they aren't the same thing (one is open source, the other isn't) - but the key goals are the same - simplicity in web development.

VB + VFP = VB.Net 9?

Ken's latest blog entry raises some interesting points - 1) he's taking part in a chat on VB 9 Language Enhancements on Nov 1. We all know that the VFP team is working with the other groups especially as it pertains to data so this may be a good opportunity to hear more about it.

But perhaps more importantly is the following comment:

Parts of Sedna will be written in VB 9.0, and our current plans are to include all of the source code (VFP, VB, C++, etc.) of Sedna with Sedna.

And then considering his comment in the October newsletter about attempts to make aspects of the VFP source available and then also possibly making a change in the EULA to make it distributable...

Combine that with the SednaX project and you have a very COOL open community (not open source) initiative.

It will be interesting to see what (if any) other features from VFP show up in the VB 9 language.

VS & SQL Server 2005 Available

Craig notes it here and I just got my MSDN flash telling me so....this must be why the MSDN Subscription downloads page is SO SLOW this morning....

Congratulations to all teams involved - the first of many releases that MS has coming

I, for one, certainly hope Rick's last issue is dealt with - nothing worse than telling us versionitis is going away only to have it come back.

Ok guys - enough time in the sun - get back in and finish off Orcas

I agree with the B-man -
"We just can't make our customers wait three or four years for the things which should have been on more interim cycles," (Balmer) said at last week's Gartner Symposium/IT Expo in Orlando. "

DevBlog: VS & SQL Server 2005 Available

The Fox Show needs a cool graphic

Any budding artists (or companies who have used a good Fox logo recently ) - I need a good logo for the Fox Show.

I'm thinking of a cartoon Fox listening to a headset or a stylized logo with the Fox logo.

Anyways shoot me an email at foxshow / gmail.com if you have some ideas.

Thanks!

Some caveats here:

1. It can't use the MS Fox Head logo (that's copyrighted - since the show is Creative Commons - the logo can't use copyrighted stuff)

2. While I was thinking of using this :




I would rather something a little more "serious" - although it can certainly be fun.

Photo Blogging Gets Looped

FilmLoop is a new player that Guy Kawasaki noted in his Garage list. It's interesting - they call it photo broadcasting - sounds a lot like Flickr but the take is different. The slides are done in a nice looping show that you can add your own pictures to as you go through it.

Adding your own Loop - it's very cool - and easy to do - just add a bunch of pictures. People can comment on each one (like Flickr) but the slideshow context is a very neat idea.

And there are sponsors throughout to help make it worthwhile. I just wish there was sound....


FilmLoop is here
FilmLoop Invitation from Guy Kawasaki

VFP gets feedback

Ken posted it yesterday but VFP is now part of the MSDN Product Feedback center. So what does that mean?

Well this means you can submit bug reports, ERs, etc directly to the Fox team directly through this site, you can review existing bugs, etc.

And hey! Emerson Reed and j_h_p_l were the first to take them up on it.
What's especially cool are the stats

Statistics
41627 registered users
9282 suggestions
20063 bugs

Active Feedback
1192 suggestions
2988 bugs

Is there any way we can get that shown to be specific to a product or technology like, say, VFP?


All in all, another example of how, as Craig says, Microsoft IS supporting Visual FoxPro.

Ok, say it with me... "Not For Resale."

One quote should be enough to get the gist of this post:

So let me try to make this VERY simple for anyone "on the fence" over what NOT FOR RESALE means... It means, "NO YOU CANNOT SELL THIS SOFTWARE!"


I guess that would be kind of like those signed personalized copies of Visual Studio or XP that some individuals got that were promptly offered up to the highest bidder.



Microsoft Small Business Community Blog : Ok, say it with me... "Not For Resale."

Comments in Regular Expressions

Now this is something that would be really valuable when trying to make code readable. Granted, once you understand regular expressions, you probably don't need them - but still I'm glad Claudio was able to explain that @"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}\s$ isn't just a new swear word.

Claudio Lassala in Software Development: Can you please put some comment on that Regular Expression?!

Ted notes VFP in eWeek

Quote from Stephen Vaughn - Nichols:
I haven't been a big fan of personal database programs for a long time now. The only one out there these days that I care for at all is Microsoft's Visual FoxPro. Yes, I can say good things about Microsoft products—when they really are good.

Great quote - thanks Ted.
Ted's Radio Weblog

Ken's been busy posting....

Ken's got a variety of posts including a link to the Southwest keynote, some hints on accessing VFP 9's Report XML output, the PDC 2005 video, speaking at the Seattle Code Camp and Tamar's new Taming VFP SQL book.

Also, almost missed this but there's a new case study as well, where they talk about automating Visio with VFP. Hey! didn't I write about that somewhere?


Ken Levy's Blog

Who was that masked man? (correction)

- UPDATE: It was Tod Neilsen -

In Fox Show #28, I was commenting on how Jon Sigler is now working a FileMaker and there was another name from the past who was front and center at a recent Oracle Developer's conference. In the show, I threw out the name Robert Green, which is wrong. Ken Levy has pointed that out to me.

But does anyone recall the news story? So much for the power of Google and search - it was a very short story but the essence was "developers must have done a double-take when they saw ________ at the recent Oracle conference"

Thanks for the correction, Ken - now who was that masked man? It was Tod Nielsen.

See here and here - uh, unless you can read Chinese you won't have much luck with that last one - but funny enough, the English version didn't turn up on Google but hey wow! Google's translation did a good job - "Tod Nielsen is the Oracle whole world sale support and market department vice- President".

Too bad I can't find the orig…

The Database Is Dead - Gartner

Very amusing story in zdNet about how since individual devices will eventually all have RFID on them, a database is no longer required - just realtime access to where things are - right?

Well, if you read further into the article, it's not that it's about databases themselves (hopefully Feinberg isn't so naive as to think that tracking numbers isn't a job for a database- but then who knows) - but rather it's the DBAs.

The quote:
a point made by the Gartner analysts is that there's a bit of urban myth to the idea that data must always be stored — or cached — in a database. Sometimes when you really think about the business processes that the data must support and then the degree to which the data must persist to support that process, you may realize that you don't need a database after all. As data is moved closer to its source and only kept in one place, not only is the quality is better, according to Friedman, "the data is where you need it, when y…

Alex - Where's Clippy when you need him

As Rick Borup pointed out, it's hard to keep up with every post so I typically shy away from posts like this but Alex's
link to Coding Horror cracked me up.

What's more though - if you read the real Legend of Stinky, you'll find it even funnier (in spite or perhaps because of the bathroom humour)

One of my favorites:
""Well, at the beginning we tried COM components, especially Patrik was agile about that, but we encountered many problems with that compatibility stuff, new version of the application didn't work with old version of components or vice versa. So, to make things simpler, I just threw away all that component stuff and put everything into one exe file. Since then we haven't got similar problems. Who needs COM anyway?"" - funny as it may seem, I actually had a similar discussion just recently.

I've got to read the rest of these stories - they are hilarious.

Further Optimization Analysis

Calvin made a post about code optimization and noted that if you actually attempt to do a
FOR i = 1 TO num
IF wParam=ASC("a")
wParam=ASC("b")
ENDIF
ENDFOR

It would take longer than just using the direct values. So what happens if you used variables or #DEFINE statements.

I first thought "i'll use constants" , adding the following

#DEFINE cn1 ASC('a')
#DEFINE cn2 ASC('b')

and changing the logic to:
FOR i = 1 TO num
IF wParam=cn1
wParam=cn2
ENDIF
ENDFOR

The Result? A little faster but nowhere close to the performance improvements gained by using the literal values. Why? Because it is simply replacing the cn1 and c2 with the ASC('97') statements.

But even when I changed the #DEFINEs to variables and assigned the values, they still weren't improved.

The only time it came close was if I explicitly did
#DEFINE cn1 78
#DEFINE cn2 79

Here's a basic breakdown (non scientific…

Markus Looks at international gas prices

Great read - I wish he had put in the Canadian equivalent of it because he missed one other aspect of it: the government taxes.

For example, in Canada, we're today at 90 cents a litre - but in truth, about 40% of that is taxes. Here's another site that explains it in more details. As the index shows , 98 cents a litre in Ottawa is really 66.9 cents when you take away the taxes.

So when we compare ourselves to the US, we always say when they pay far less than we do in Canada (using Markus' example, Canada we would be paying about $3.75 a gallon, far closer to the European example)

But then Markus actually then puts it into perspective - compare how far it is for 100KM and then look at the changes across the board.

Don't single out the US - everyone in North America is getting the short end of the stick when it comes to rising gas prices. (oh, except the Canadian government who makes money when the price goes up)



SW Fox 2005 Videos

There were a few videos of various sessions at Southwest that should be showing their heads shortly. I heard from Bob that he was just getting them all edited and arranged and stuff.

The opening keynote, Tips and Tricks I learned from Drew and Steve Black's What Do I Say session (as noted in Andy's own review of Southwest:
SW Fox 2005 is over, Get Ready for SW Fox 2006 - kudos to Bob for getting Steve to give that original session) - what else was taped?

The latest FoxShow has interviews with first time attendee Kevin Ragsdale as well as Doug Hennig, who managed to turn a 75 minute session into 20 minutes.

Understanding Buffering in Visual FoxPro

Don't understand Buffering?

You're not alone - Andy Kramek gives the whole low-down as to the hows and whys but still doesn't explain why the functions are named the way they are.

As he states

"For example, to set buffering for a Visual FoxPro DBF file (which is a table) we have to use the heavily overloaded CURSORSETPROP() function. Why not a separate, unambiguous, “SetBufferMode()” function? To confirm a pending transaction, the command is END TRANSACTION. Why not “COMMIT” as in every other database language - a choice which is even more peculiar since the standard 'ROLLBACK' command is used to reverse a transaction?"

Could have been worse - we could have to issue a

SYS(2011,3) or something else that would have made Ken proud.



SednaX

Now that's a good sign.

Yesterday, there was only one lonely member in the Visual FoxPro SednaX community and now there's 19.

I sense Craig is hearing some pushback from former community members but his post "Want to invent VFP's future?" is certainly a good read.

No, the community may not be able to get MS to do everything they want - but there have certainly been a number of times when a lone FoxPro developer has come to MS and said "here's what I did" and the reaction was nothing short of "wow".

And if you think about it - all of the little pieces found in VFP today - the FFC, the component gallery, the object browser, even the new Report Listener architecture - all of them are initiatives written, supported, developed, or architected by members of the community (heck, with few exceptions, most of the Fox team at MS is "FROM" the community)

So how to start? Maybe the best idea would be to look at the Wiki list of things people…

FileMaker Names Jon Sigler Vice President of Product Management

Remember Jon?

Wow - remember File Maker? I recall, I think it was at the Miami FoxPro DevCon that Jennifer, Geri from Advisor commented on the similarities between the FoxPro and the FileMaker communities (Advisor puts on both devcons)...now they have even more in common.


FileMaker Names Jon Sigler Vice President of Product Management: Financial News - Yahoo! Finance

Calvin Hsia's WebLog : Ctrl-C to capture MessageBox and dialogs

And you wonder how the little secrets get found out...

Calvin points out that on any VFP dialog, you can hit Ctrl+C and the entire text of the dialog is put into the Windows clipboard.

This goes for errors, messagebox, any native VFP form (in other words, ones that are built directly into VFP - not done through the FoxPro code itself like the Wizards)

Does that work for the C5 errors though?

Have to try that....

One of those days

What a weird problem....

My application uses a Cursor Adapter class connecting to SQL server. When it runs in the VFP IDE, no problems whatsoever but as soon as I take it out to run it as its own EXE, after every few minutes, the Connection becomes invalid.

Frustrating as...well, you know. Something is timing it out but I'm just not sure where it is...then again, it may be because I'm running the VFP 9 SP1 beta.

Go figure.

Gada Be - or not gada be

I really like the concept behind Gada be - I mean hey, you can do a search by saying http://foxpro.gada.be and there it is.

EXCEPT - this is what happens when I do something like trucking.gada.be. Hmmm.....


Chris - you always struck me as a Windows fave and here you are wearing a red hat ....

Object not found!

The Life

This is a tremendous read for every software developer who works on his own or in a small company. It outlines what happened this past week with the acquisition of NetNewsWire, the Mac RSS reader by NewsGator.

It was found from Scripting News but it's so hard to read everything in there that I've separated the link.

It's hard to imagine the days of indie sw developers but there are lots of them. Rick Strahl manages to straddle being both primary coder and the business person behind West-Wind, along with other various jobs. But it's certainly not the life for everyone, especially when you develop an RSS reader that is being used by thousands of people.

But it would also do well for those "shocked" about the purchase to realize that Newsgator started as one of those types of tools as well and only became the entity it is in the past little while.

NewsGator is in an interesting position - while today, they can claim to be one of the leading (if not the leading)…

Run the wizards modelessly

Calvin shows one of the cool features found in the FoxPro Wizards.

You can tell it wasn't part of the actual spec - after all, who would have made a requirement that the third parameter be "snoqualmie::flew"

In the last FoxShow, I noted how everything in Visual FoxPro is about extensibility. This illustrates the point further. Want to mess around with a wizard? This way you can do it interactively.


Calvin Hsia's WebLog : Run the wizards modelessly

Universal Thread Conference Coverage - Southwest Fox 2005

Craig's first posts from Thursday are a riot:

"This is my first face-to-face run in with Rick. He exudes confidence and a certain amount of energy which makes me think... should I challenge him to a coding duel, or should I join forces with him so we can try and take over the world?"

Looking forward to the rest of the posts....

Universal Thread Conference Coverage - Southwest Fox 2005

FoxShow Interview with Toni Feltman

So the Southwest conference has begun and I'm not there - but I did manage to slide in a last FoxShow interview with speaker Toni Feltman.

It was a fun interview because Toni teaches database design at the university of Toledo as well so she sees both beginners and advanced users and the types of mistakes they make.

She also lets us in on what's in the toolbox for F1 Technologies and the new release of Visual FoxExpress.

Check it out.

VFP's ADDPROPERTY Function

Sheesh - the things that just seem to slip through....Someone on the ProFox list was asking why his VFP objects created with
SCATTER NAME didn't have an AddProperty method.For example, if you do USE HOME(2)+"DATA\CUSTOMER"
Then
SCATTER NAME loCustomerThe object is essentially an Empty object and has no methods or events.
Which means you can't add new properties to it, right?Not in VFP 9. (uh correction, not in VFP 8 either - thanks Colin for noting it) Kevin Cully of http://www.cullytechnologies.com noted the
AddProperty function that lets you add properties to objects that don't have
the AddProperty method.=AddProperty(loCustomer, 'NewProperty', .T.) Very handy as I use SCATTER NAME in lots of different places. Thanks for the
tip, Kevin!

What's New in Visual FoxExpress

Mike, Toni and the team at F1 have put out Visual FoxExpress 2005 - smart naming idea , especially seeing that no one really knows what VFP 9 + Sedna will be called.

Looks like a lot of new features are available - first and foremost a multi-user DBCX explorer and an improved App Builder interface.

I'm hoping to hook up with Toni for an interview right before Southwest Fox for the FoxShow so I'll be sure to ask her about it.

R.I.P. WYSIWYG - Results-Oriented UI Coming (Jakob Nielsen's Alertbox)

Saw this on ProFox (thanks AGAIN , Malcolm)

It's interesting that Neilsen jumps over the new "results-oriented user interface", as noted by Office 12's interface. His big statement: "We know from user testing that users often demand that other user interfaces work like Office"

It will be interesting to see how this plays out - but keep the key poitns in mind from the new Office 12 interface - it's still all about the document-centric vision.

What do I mean by that? The O/S used to be application-centric - that is you choose the application to do the job you need done. Windows (and the web for that matter) has always tried to be more
document-centric - you work in a document and choose the right tools to do the job.

This new results-centric approach says you choose the tools based on the results you want and it's the job of the interface to make it easier to show what the results are - in short, you don't have to deduce or figure out what the to…

Less as a competitive advantage

Sounds like Jason's been reading Bill Jensen's Do Less Accomplish More Simplicity Survival book.



You need Less More, Less People, Less Time, Less Abstractions, Less Software - oh, and more constraints.

Well put - from one of the minds behind 37signals.

Google's RSS Aggregator

Scoble notes Google's new RSS Aggregator - but I'm in the same boat as he is - I'm not swithcing from NewsGator.

I LOVE the Podcasting support within it.

Google needs to get back onto the cutting edge instead of trailing as they have been with Google Talk and now Google RSS.

UPDATE: Reader does have built-in podcasting support but the audio transfer seems a bit off. Maybe it will get better. Check it out here

Scobleizer: Microsoft Geek Blogger

FoxPro Tip: Be Aware of Disappearing Index files (IDX)

There's still a lot of older FoxPro code that relies on the old IDX file - especially for temporary indexes that only need to be created on an as needed basis.

Now, you can create indexes on temporary cursors just as with regular tables but there's a trick to be aware of.

When you create an IDX file on a DBF file that physically exists , the IDX file will still be there after you close the table.

However, if you create an IDX file on a temporary cursor, as soon as you do anything that may close the index, the IDX file is instantly deleted.

Try it:
USE HOME(2)+"DATA\CUSTOMER"
INDEX on customer.city TO t
DIR t.idx && the file is there
SET INDEX TO
DIR t.idx && the file is STILL there
SELECT * FROM customer WHERE region ='WA' INTO CURSOR wacust
BROWSE
INDEX on city TO wat
DIR wat.idx && the file is there
SET INDEX TO wat.idx && Error file does not exist

Why ? Because the SET INDEX TO statement clears the previous index and attempt…

+Macros - more than what you may think

You may have seen the FoxCentral ad for +Macros 3.5 - I'm writing a review of it for FPA but it's also being talked about in the upcoming FoxShow. It's essentially a collection of useful FoxPro pieces, including some text editing macros, a better Data session window, and stuff like that. (many frameworks provide similar tools for viewing tables) The ActiveDesktop has a very cool surprised me with a Project Manager pane (shown here) that only appears when you click on it - you then find the file, double-click and the project pane disappears. Very cool.

It's inexpensive ($60 US) and has a free 30 day trial.

Macros :

What's in a Name?

There's a great story in the Big Moo on page 69 (actually there are a bunch of good stories on pages 1 through x) but this one stood out to me this morning.

It was about how Isaac Newton "discovered" gravity. Of course , he didn't discover it - in fact the biggest part of what he did was NAME it.

Which brings us to Avalon's renaming. Yes, I know it's been known for a while but I was listening to Buzz Out Loud (Cnet's podcast of indeterminate length) and Veronica ("I love apple above all else) commented on how she had seen the new Windows Presentation Foundation (WPF) and really liked it...except what's with the name?

In the days when people complain about Miicrosoft's ability to come up with cool names, Avalon wasn't bad but its renaming has me scratching its head. It's easy to get excited about a new operating system named "Tiger" (roar!) or , heck, even "Vista". But hey, everyone raise your hands and get excited…

Comments and Spam

Argh! I got mega-comment spammed this weekend.

I'm thinking of turning them off or forcing logins but we'll see.


Update: well that was easy. Google's added WordVerification to their comments. That's the "enter the words in this image" code verification tool. That approach should make it a little easier at least for some time. Thanks Blogger! (uh, google)

Cindy's Circus: The best of both worlds

Cindy's talking about some of the cool stuff she saw at the MVP Summit (I'm sure other posters will be shortly).

In my recent interview with Ken Levy on the FoxShow, he noted how everything he discussed at the summit will be made publicly available (almost joking "what nda?") - within the next few weeks.

It's an interesting interview because I had asked members of the community for questions - well, Ken had seen those and went to great lengths to answer most of them (even the ones about EULA and 64-bit).