LOG4Fox: A Logging API for Visual FoxPro

Filed Under (Visual FoxPro) by WildFire on 02-10-2007

Lisa Slater Nichols: LOG4Fox: A Logging API for Visual FoxPro.

Stubborn and Optimistic

Filed Under (Visual FoxPro, work.BLOG) by WildFire on 20-03-2007

Now the bright side.

Yes we are eternally stubborn and optimistic.

0000 The cloud of uncertainty that have loomed over us for the past, what… 1215 years or so has evaporated. The announcement is over. We will no longer have those shrek-donkey-are-we-there-yet moments from within us and those surrounding us, which by the way is annoying.

Now we have to focus on what we have, which is enough really. The VFP core alone is a lot. Sedna being free and open source-d is of course, a plus.

0001 There’s more time to catch up. I don’t have to be bombarded with features that I don’t have the time to learn. I can still learn the old new features. Make the most of it. Probably I can even dig up undocumented ones.

Have more intimacy with VFP9.

0010 The VFP team can work on LINQ and other technologies that are being incorporated into VB.NET and C#. Those two languages still have a lot to do in terms of catching up with FoxPro… : )

0011 The whines generated online by that announcement is entertaining. It helps to ease the stress.

(Ah btw… if you’re wondering what this list is all about do check the details in the previous post.)

0100 Probably I can really move my arse to dig into that VS2003 I installed on SAKKHRA a year ago. Probably I can -R it (my attitude included) after letting it remain idle for some time. Now if only I can find a practical real world database application for that.

0101 CodePlex CodePlex CodePlex. Sedna Sedna Sedna. Insert the Balmeys somewhere here. (Animations included.)

0110 It sorts out the insecure developers, programmers and freelancers from the real ones.

There was a time when those Real Programmers don’t use C jokes were cool. Probably it’s about time someone writes a Fox version for that.

0111 It’s in our hands already. Sedna… in CodePlex… free and open source-d. With its promised extensibility, we can make a VisualFoxPro.NET 7000 with it, right?

We can even make our own OS with it if we like.

FoxPro-powered flight simulator… anyone..?

1000 VFP still works with SQL Server (MySQL and FireBird included), works with Office and even OpenOffice, runs on Windows XP and Vista, interconnects with .NET, understands XML… and a lot more.

VFP core still provides practical, reliable and cost-efficient solutions to your problems. Especially desktop-based applications.

1001 It gives you a good reason to really learn something new.

1010 Aliens will have a hard time invading us. Codes (Its syntax and semantics) generated from other languages, except for some, are more cryptic than the clarity FoxPro barfs out.

There’s more really… but I need to work.

No worries.

You can be sad of course, if you like. Disappointed perhaps… cry and do the rain dance. You can even compose and hum a melancholic tune if you want…

… but life goes on.

FoxPro puts Microsoft Out To Pasture

Filed Under (Visual FoxPro) by WildFire on 20-03-2007

FOXPRO PUTS MICROSOFT OUT TO PASTURE

I was offline for almost five days due to a series of client visits.

(Yes… I still don’t have an internet connection at home.)

Just minutes when I went online, someone sent me a private message with a link to The News.

Microsoft Puts FoxPro Out to Pasture
Daryl K. Taft / March 13, 2007

Along with that link came her ‘whine in the rocks’.

Those who have been following Fox-related matters knew this day would come.

Even the ‘stubborn and optimistic’ FoxPro programmers like me.

Personally in the past two years, I wasn’t bothered much by the ‘lack of support’ rants… I was bothered seeing VFP team members, leaving and transferring one after the other.

But I always remained optimistic.

Along with my dog… and my pet tiger.

Boom.

Magnifying the wound was it being announced on the 13th of March.

If MS or YAG announced it on April, May or even February or any other month it wouldn’t have bothered me. But March… March 13. Argh.

They should make announcements like that on February 14.

Seriously, it’s a sad day… for the people behind FoxPro and its users and developers. No matter how optimistic one is… no matter how we can always console ourselves with that ‘it’s a mature product we don’t need additional features anymore’ line.

It is a mature product indeed, but it still won’t change the fact that it’s sad.

Nor does it change the fact that, sad news like this does not mean it’s the end of the world.

MORE PASTURE LINKS

So after reading that article and the official announcement in Microsoft’s site, I went out to check Andrew’s site for a series of related links in his Future of (your) Development Lies in You, Not Microsoft blog post.

Here I am thinking that the future lies in the whining and the ranting and that actual coding is only around 2 percent of the entire software development process… : )

If I can squeeze some time within the month, I will compile a series of posts related to this.

STATING THE OBVIOUS, AGAIN

So, since it is still 2:45AM, too early to fire up another Fox-related project in this day’s tasks-in-line list of mine, let me post once again the common facts that were posted again and again.

0000 There is no Microsoft Visual FoxPro version 10. It’s official. But there’s VFP X and there’s VFP Y, and who knows a Linux FoxPro 10 might come out somewhere. (Oh did I mention ‘facts’? (Hmm… did they mention there will be no Microsoft Visual FoxPro 11 and 12? (Was there ever a Visual FoxPro 4?)))

0001 VFP9 is supported and will exist until 2015. That’s 8 more years. Well at least that’s what the lifecycle says. I look around and I see applications developed in Clipper 5.2 and FoxPro 2.6. I still see Windows 98SE powered machines and… calculators still exist. Even typewriters.

0010 VFP9 SP2 will be released within 2007. Its target/focus is VISTA compatibility. And the FoxPro team always delivers.

0011 SEDNA Project will be released for FREE… more importantly as an OPEN SOURCE project.

Sedna is built using the extensibility model of VFP9 and provides a number of new features including enhanced connectivity to SQL Server, integration with parts of the .NET framework, support for search using Windows Desktop Search and Windows Vista as well as enhanced access to VFP data from Visual Studio.

So we have a VFP core… connectivity with the SQL Server, .NET framework integration, support for VISTA… extensibility… pancakes, magic potions and all.

0100 The FoxPro community exists… MVP VFP exists… the internet exists… MSDN articles are still archived… e-books exist… the whines will never die. Problems will still exist. Choices exist.

Come on. Do I really have to mention them all?

Bottom line is, we developers exist to solve problems.

Problem solvers… we are.

If problems are solved… become extinct, we can easily recreate them.

In fact, some developers who are in the ‘higher places’ have ‘invented’ so many problems already in the guise of ‘technologies’ that those ought to be enough to occupy us for the next few years.

We even compartmentalize the solutions to these problems. We give solutions that are web based (even if a simple desktop approach is enough). LAN-based solutions, mobile… web and more web.

No matter how the list will go on, there will always be a room for a 20++ year old mature and reliable tool.

Oh wait… this mind barf isn’t going the way I intended it to.

I’ll re-organize things later… let me just end with this:

If someone, your client probably, or perhaps your boss… will mention that VFP is discontinued/ravaged/pastured or whatever… tell him no. Tell him that in fact you are keeping TheLegacy alive by working on Visual FoxPro 7000 and point them to CodePlex.

Of course you have to move your arse to CodePlex before them.

But you have choices too, you can learn new things, no harm really. Integrate new things and other tools with VFP.

You can also opt to whine and rant, because it makes for good entertainment in between coding.

You can re-learn C/C++ and create a new XBase language with DBF support. You can even use CSharp, or Python or Java or assembly language if you like.

You can change careers too. Becoming an assassin or a spy would probably be more thrilling than proliferating the web with more whines.

And of course you can always continue working on practical solutions and applications using Visual FoxPro.

Your choice, Hal.

CH

Filed Under (Visual FoxPro) by WildFire on 21-11-2006

Calvin Hsia: The return value of a method can be intercepted using BindEvent.

TheDIFFERENCE

Filed Under (Visual FoxPro, work.BLOG) by WildFire on 14-11-2006

An old college classmate gave me an offline message containing a dailyWTF link on my newly upgraded YM.

I didn’t bother checking.

For one, dailywtf asks for a login password. Something it was not doing before. I have that site on my rssreader… but I haven’t been using an rssreader for months now.

(Update: It was asking for a password when I first scribbled this… around two weeks ago. And looks like the post itself was removed. Interesting. OR probably it was asking for a pasword because it has already been removed.)

An RSS reader is an information-overwhelming device I still have to figure out how to use without sacrificing productivity on my part especially these days that I’m only online for around 15 or so hours a week.

Second reason probably is this is another anti-FoxPro link from a classmate with whom I had constant VB versus VFP ‘battles’ before. (Those Visual FoxPro rules… VB drools types of ‘friendly arguments’.)

This is from someone who thinks Visual FoxPro is not object-oriented.

Yeah those types… : ]

VFP of course has been churning out OOP-powered alien repellants years before VB could even pronounce the word ‘inheritance’.

But I did promise myself not to bash another PL considering that somewhere in this Earth, a decent and honest programmer I’m sure is working on one, using it to provide a decent life supporting his decent family and probably a dog, while warding off alien invasions during his free time.

(Besides if you want to ‘attack’ VB itself, you can always point to their own wikipedia entry and quote Edsger Dijkstra’s words : )

I’m also pass that attitude where you ask what their PL can do and I’ll show you what FoxPro can do using three fingers in one third the amount of time it takes for that other PL to do… development, run time and maintanence related time frames included.

(Throw in cost-effectiveness and it’s a no match to the nTH degree.)

Of course I know FoxPro, though a mature product existing for two decades also has some limitations.

So when Mz told me he’ll shift modules from FoxPro to Delphi on one of his projects and pointed out the underlying reasons.

I understood his reasons.

He’s been using FoxPro for more than ten years. Though I strongly believe that with a proper overhaul and more intricate database structure planning on that project, VFP could have done it even without Delphi’s help.

I believe him because he has used FoxPro.

The problem here is there are so many humans who tend to blast Visual FoxPro without having have tried to use it in the first place.

During my immature VFP-versus-VB war days where I would involve myself in various anti-VB wars just for fun, I have already used VB (versions 3 and 5) for 4 years, ‘downgraded’ to Clipper 5.2/’87 and re-upgraded myself to VFP5 and later to version 6.

Most of those who attack VFP/FoxPro are those who haven’t used it.

Try using it for a month or two… you’ll see the difference.

SPS: VFP Compression

Filed Under (Visual FoxPro) by WildFire on 09-10-2006

SPS: VFPCompression Library (ZIP/UNZIP for Visual FoxPro). Updates here and here.

Gonzomaximus

Filed Under (Visual FoxPro) by WildFire on 07-09-2006

Foxwarp: Gonzomaximus.

AM: BindEvent

Filed Under (Visual FoxPro, work.BLOG) by WildFire on 07-09-2006

A BindEvent tip for Grids from Andrew.

If you’re like one of us who creates/sets grid objects and properties programmatically during run time, don’t forget to set the ColumnCount during design time.

It has been a very busy series of weeks for us here. Normal blogging and updates in TheLair will resume once we have regained momentum and normalized some activities.

Craig Berntson: Using Windows Component Services (COM+) with VFP

Filed Under (Visual FoxPro) by WildFire on 16-08-2006

Craig Berntson: Using Windows Component Services (COM+) with Visual FoxPro.

The droneMatrix

Filed Under (Visual FoxPro, work.BLOG) by WildFire on 16-08-2006

Bill Coupe dissects the droneMatrix term I made up in my previous post.

Well at least I think I made that up (GOOGLE considered) while I was scribbling that blog, unless of course (here we go again), aliens subliminally implanted that term in my mind while I was recharging my psi-defenses.

He follows it up with a why the model is collapsing… discussion.

One of these days I’ll sit down and scribble a developing country point of view of these matters.

… along with why freelancers like me opted to choose Visual FoxPro over other tools.

I wanted to delve into the droneMatrix, but I’m still thinking of how to put my sentiments into words without offending some friends of mine, who are possibly reading this, and who happen to be working in the ‘corporate world’… as drones… : ]

Funny thing is… you replace atc(‘alien’, cPreviousPost) with ‘human’ and the result/situation is still the same.

The only difference is… it’s more cruel.

Man of Steel, Women of Kleenex

Filed Under (comics, Visual FoxPro, work.BLOG) by WildFire on 10-08-2006

Larry Niven’s Man of Steel, Woman of Kleenex is a 12 YEAR old article which details the ‘facts’ why Superman can’t have babies.

I remember discussing that with a classmate during high school days. Paging comic-guru Richie Santiago… paging.

Found that link when a certain spoof-related site posted a similar but semi-pornographic version of that article. (No I won’t link to that site.)

Guy Kawasaki: The Art of Innovation.

7. Think digital, act analog. Thinking digital means that companies should use all the digital tools at its disposal–computers, web sites, instruments, whatever–to create great products. But companies should act analog–that is, they must remember that the purpose of innovation is not cool products and cool technologies but happy people. Happy people is a decidedly analog goal. (Source)

I remember adding GK’s blog when he started blogging in my RSS feeder/reader. I stopped using a feeder a couple of months ago though.

Found the link to his site when Andrew posted a link to the Trademark Tips for Your Web App post.

Really informative and inspiring blog.

Also via Akselsoft, Bill Coupe posted these issues and factors developers outside the ‘droneMatrix’ are facing.

What’s a ‘droneMatrix’ you ask..?

‘It is a world pulled into your eyes to blind you from the truth.’

In other words, in your peaceful corporate world powered cubicles, up a notch by ten positions, located in sublevel 47 below, there exists an alien manipulating your companies, assets, and everything beyond and in between towards an alien invasion.

Ah… here we go again.

Think book not diary‘, WildFire. Think books.

aIndex

Filed Under (Visual FoxPro, work.BLOG) by WildFire on 01-08-2006

Old old code. I’ll post the tweak later and the general overview of why it is used.

It gets the index tags from a given table and stores them inside a combo box.

with thisform
�select &cDATABASE
�nTagCount = tagcount()
�if nTagCount > 0
��dimension aIndex(nTagCount)
��for nCount = 1 to tagcount()
���if !empty(tag(nCount))
����store tag(nCount) to aIndex(nCount)
���else
����exit
���endif
��endfor

��.cmbIndex.rowsourcetype = 5
��.cmbIndex.rowsource = ‘aIndex’
��.cmbIndex.value = aIndex(1)
�endif
endwith

Somewhere above this code exists this line:

cDATABASE = ‘FILECOUR’

CHsia: How To Display A List of Files in A Grid

Filed Under (Visual FoxPro) by WildFire on 01-08-2006

Calvin Hsia: How To Display A List of Files in A Grid.

William Coupe

Filed Under (Visual FoxPro) by WildFire on 06-07-2006

William J. Coupe: FoxPro Moves to 12th� No, Stays in 13th!. (via Craig Bailey’s VFP: TIOBE and Google Trends.)

Remind me to introduce you to my friend, ONGriej one of these days.

videos and academe

Filed Under (Visual FoxPro) by WildFire on 05-07-2006

Now if only we could bring these VFP videos back to the academe. That is one sector VFP should penetrate… students, teachers… schools… the molding blocks of the future.

(Now I can hear my previous boss again talking about his ‘academe should dictate the industry not the other way around’ insights in my mind. (But that’s another story for now.))

Visual FoxPro should make its presence felt back in this sector. Besides, there lies the future developers/system analysts and software architects. And yes… lazy programmers.

They may not end up using Visual FoxPro but at least they could learn tons from it and could apply the principles of speed, efficiency and all this ‘ultimate RAD database development tool’ has been pumping out for years into their future programming languages and applications.

Again, bring Visual FoxPro back to the schools.

support.microsoft.com/VFP9

Filed Under (Visual FoxPro) by WildFire on 05-07-2006

From the Microsoft Visual FoxPro 9.0 Solution Center: How to use Visual FoxPro to download a Web page from the Internet.

Fox-warps

Filed Under (Visual FoxPro) by WildFire on 28-06-2006

Fox-warps and other links:

More later…

control.EXE

Filed Under (Visual FoxPro, work.BLOG) by WildFire on 20-06-2006

DECLARE INTEGER ShellExecute IN shell32.dll ;
INTEGER hndWin, STRING cAction, STRING cFileName, ;
STRING cParams, STRING cDir, INTEGER nShowWin

ShellExecute(0, ‘open’, ‘control.exe’, ‘timedate.cpl’, ”, 1)

MY qs… is so cool. She’s dissecting WinAPI related stuff these days. Screams and grumbles are reaching a new level though. But that’s normal when you handle these kinds of areas.

The last few days have been very busy for us. We have a data entry module due this Saturday afternoon. But before that we have to hurdle three more client visits.

And we already had 7 client visits in the past 8 days.

The second leg of my sleep is even interrupted by client calls. They’re my alarm clocks these days. And I don’t even dare to whack their heads when they do the ringing. (The first leg stops when I have to randomly poke (and annoy) my kid to go to school. (Hopefully, education will not hinder his learning.))

Ah well… one of those days in the lives of us freelancers… : ]

Cesar Chalom: Crop images with GDI+

Filed Under (Visual FoxPro) by WildFire on 02-06-2006

Cesar Chalom: Crop images with GDI+.