Sunday, November 23, 2008

Giles Bowkett: TDD And Experiments: I Was Wrong

Giles Bowkett: TDD And Experiments: I Was Wrong

If you are extending an existing system, or architecting a framework TDD (Test Driven Development) is supreme.

But if you are inventing, the organic process of creative coding allows you the ability to stub things out in real-time... all neurons firing.

Sunday, November 16, 2008

All your data are belong to Redmond

It seems Facebook violated their own privacy policies when it comes to sharing data with 3rd parties.  With Microsoft investing in Facebook to the tune of 240 million, this could have been predicted.

Last week the Borg released their own social-network enhanced version of Windows Live.  

Tuesday, November 11, 2008

Alden Anderson 2.0 celebrates 4 years

Alden Anderson 2.0 is celebrating it's 4th anniversary this month, and we've put together a new website with information on our super not-so-secret project, RAVEN.

RAVEN stands for Relevence Action Value ENgine, it's our patented Business Rule Platform.

We will be producing a case study soon, more information to follow here and at the new site.

I guess you can say we're out of "stealth" mode.  ;)

Tuesday, November 04, 2008

Some election tracking links

Novel:

Distraction:

Essential:
Google election gadget (Note to self - make a timely gadget get a gajillion hits...)



Apple is losing the Hearts & Minds battle

Apparently, the new sexy MacBooks come with a version of iTunes that won't recognize an iTouch or iPhone that has been jailbroken or unlocked.

But, if you have iTunes on Windows somewhere (like in Fusion or that old HP notebook) you are still in luck.

Why would you jailbreak an iTouch/iPhone? Because Apple has a stranglehold on the applications that can be added to the devices, and has refused to allow alternatives to built-in apps like Safari, Mail or iTunes. Or, maybe you don't want/can't afford to pay AT&T's outrageous international roaming rates. 

This is another slide in the descent of Apple becoming the old Microsoft - only worse, because they own the hardware too.

Monday, November 03, 2008

Wednesday, October 29, 2008

Learn Arduino in Seattle



MAKE reports: 

Josh Kopel will be teaching an Arduino workshop through Seattle's 911 Media Arts Center.
The Arduino is a small programmable device capable of big things. With it you can examine the world through various sensors and use the data to control motors, lights and just about any other electronic device. Come learn how to build kinetic sculpture, audio sequencers, home automation systems or whatever you can imagine. This class will focus on controlling motors using the Arduino, and we will be investigating how to recycle/re-use commonly discarded ink jet printers for their component parts. Bring your best ideas and wildest concepts and lets get them moving. Course fee is 255.00 plus 40.00 lab fee: total 295. The lab fee will over a motor control kit, some additional electronics, and a supply of printers to hack. You will need to have a laptop computer (win XP or Vista, OSX, or Linux*), and you should purchase your own Arduino Diecimila.

Monday, October 27, 2008

Schneier on Barack Obama's Security Mindset

I have made this general point again and again -- about airline security, about terrorism, about a lot of things -- that the person in charge of the security system can't be the person who decides what resources to devote to that security system. The analogy I like to use is a company: the VP of marketing wants all the money for marketing, the VP of engineering wants all the money for engineering, and so on; and the CEO has to balance all of those needs and do what's right for the company. So of course the TSA wants to spend all this money on new airplane security systems; that's their job. Someone above the TSA has to balance the risks to airlines with the other risks our country faces and allocate budget accordingly. Security is a trade-off, and that trade-off has to be made by someone with responsibility over all aspects of that trade-off.

I don't think I've ever heard a politician make this point so explicitly.


More at Schneier's on Security

Thursday, October 23, 2008

VFP Investors to get their own bailout?



I wish I had heard the conversation leading up to this point. Why is Ken telling people to go out and buy copies of VFP9, so they can be sold on ebay when MS stops selling?

Wednesday, October 22, 2008

Android'd

I've had 3 of the last 4 Windows Mobile offerings, I didn't jump at the first iPhone, but I did try out the 3g when it first shipped. So my wife was not surprised when I left the house early this AM to stand in line for one of the first G1 phones in Seattle.

OMG.

It's not as slim and sleek as the 3g, but what it lacks in footprint it makes up for in sheer geek-ability.

I've had a hard time doing anything today other than fondling this lovely piece of gear and downloading (for free, for now) every app that I would ever want to think about using.

If you are a Facebook user, you'll find the process of adding apps to the phone familiar. It lets you know what services you are exposing to the app.

I've read several reviews, and yes -- there is room for improvement but... OMG.

I spent a long weekend trying to jailbreak my G3 just so I could capture videos and secure (crypto) email. With the G1, it's Prego baby -- it's all in there.

OMG.

Tuesday, October 21, 2008

Is It Worth Upgrading to SQL Server 2008?

Nice article by Nigel Maneffa, covering the features that come with the SQL2008 upgrade. It appears that most of the new features that were part of the CTP are Enterprise only.

Free registration required @ SQLServerCentral.com, worth the time.

Monday, October 20, 2008

Geekthink on a Resource Based Economy

Zeitgeist, the movie has an addendum. If you haven't seen the original it makes for interesting viewing.

In the addendum there is a presentation of the Venus Project and the concept of a Resource Based Economy. Geeks are responding @ Microsoft's Channel 9. Good read.

Universal Design Pattern

Excellent, detailed discussion of the use of the "Properties Pattern".

  

Friday, October 17, 2008

FoxPro on Youtube and other tubes

Watch this (or at least skip through it), then check out related videos.

Props to the SWFoxPro Conference for putting the keynote up.  Great to see VFP grassroots conference attendance is growing.

May be a good time to start the SeaVFP group...

Thursday, December 14, 2006

More on the Zune - MS Genuine Advantage

So I kept the Zune. The hardware is a great bang for the buck, the software will come along -- and eventually a hacker culture will develop around it that will provide the level of control I want on the device.

I've ranted in the past about the Transnote. Lovely form - function... rivals many tablets on the market today -- except it's a 700mhz with 320 mb maxed.

Unfortunately I can't get a wireless solution to work with it. I've tried PCMCIA and CF Slot devices. They lock up or can't handle the slightest load before reseting.

IAC, I also can't get (many) updates from MSFT. XP is not what shipped on this machine, I bought it from eBay and received it with the XP upgrade. I updated to XPSP2 via CD, but once I hit Windows Update live I found out I was running an upgrade that did not qualify as "Genuine".

So now I only get "security updates".

With XP, this means it is more inconvenient for me to get security downloads. However with Vista it's a whole new ballgame. If Vista determines it is not "Genuine" it will start to "gracefully degrade". I've not seen this work yet -- but it will be interesting to see how such a feature goes over.

Saturday, November 18, 2006

Zune vs PS3

Bought a Zune, thinking about taking it back.

The software locked up my 6 month old laptop 3 times during install, feels like a munge between Media Player and iTunes and doesn't run on Vista.

But here's the kicker -- no Podcasting support. The work around? Use a 3rd party tool to manage the subscriptions... for many that will be iTunes.

Hey Microsoft, this is how you launch a damn product!

Update: Microsoft's Zune Only Looks Simple covers it.

Friday, June 23, 2006

What has MSFT done for us lately?

As part of my recent gear swapping, I've had the chance to rebuild a few machines and test-drive some newer MS software.

IE7: If you haven't checked the Beta, I recommend it. The RSS support is pretty slick, there are Tabs (and a cool Quick Tab feature that lets you see all your tabs graphically on one scrollable page) and performance seems snappy.

SQL Server Express: It's free, and the Management Studio tool works against SQL2K databases. Another new interface which I generally like, combining Enterprise Manager w/ Query Analyzer and again, tabs. You won't find a Data Transformation Wizard or access to Profiler in this free version, but it is quite functional for ad-hoc queries, writing sprocs and doing general table maintenance. One complaint; comments are now done with the odd shortcut of Ctrl+K, Ctrl+C -- that is, you have to do both key combinations. Ctrl+Shift+C was strange enough but this is just lame.

OneNote: not new, not even recently updated -- but I *love* this tool. Not just for use on Tablet PCs. In addition to a personal notes I keep client records; one folder per client, one page per day, each issue designated with a checkbox (Ctrl+1). When an issue is solved I can check it off with another Ctrl+1. When it is time to triage I create a note summary. Open issues show up on top, then with a few other Ctrl+# combinations I can assign priorities and severities. Onenote also supports locking a page, a password is required to read / search and the file is encrypted on disk. Another cool feature is creating a shared session. This allows for real-time collaboration on one or more pages in a meeting or even remotely.

Sunday, June 11, 2006

Back on the Mac

After the 2001 crash that took out our dotcom (Pacifiq Technologies -- you can still find the old website at archive.org) I spent a few years doing small gigs. There wasn't a lot of work in Minneapolis for ex-CTO's -- and there were plenty of us around.

So when our house was broken into in 2003 and my 3rd laptop stolen I had no specific reason to buy a WinTel machine. I'd always loved the Macintosh, and had started doing some Linux work -- so I decided to buy a G4. I bought the 1Ghz Powerbook. It was the last model that was made out Titanium.

Loved the machine -- most elegant laptop I've ever worked with. If you've never spent time with one on your lap you've missed out.

I also loved OSX. It was still pretty new at the time, but it sat on Debian and was rock solid. It took awhile to get used to where everything was. I've been on MS machines since DOS 2.0 and I can make any MS OS sing, and there were definately times when I felt lost on the Mac.

I was Mac only for a few years until we moved back to Seattle and I started my contract gig with the Fox team. After a year it was re-starting Alden Anderson -- and of course working in MS software exclusively. So the Mac became mostly a music machine; Itunes, Abelton Live and MAX-MSP.

So last week my Dell 5160 gave up the ghost. Power supply went bad, I'd already fixed it once and new another few hundred $$$ was a bad investment. But before I pulled the trigger on another Dell I thought long and hard about what I used my laptop for these days.

1) Email - Outlook... which is a pig, but is still the only email client that will let you tag a message to be reviewed for follow-up at a specific date/time in the future.
2) Onenote - Invaluable tool for documenting day to day client activity
3) Web browsing - Firefox
4) Remote Desktop
5) VFP
6) SQL Server
7) Visual Studio

Why are VFP, SQL et al so low on the list? I do most of my dev work remotely with RDC, if you've got a good connection it is a superior way to work IMO. Easier version control and much less exposure when the laptop suddenly disappears, again.

So, I decided to dust of the Mac. Installed my recently upgraded 100gb 7200rpm hard drive from the Dell, got the latest OSX release (10.4.6 or Tiger) and installed Virtual PC for the Mac.

Well, I love it. I've got VPC setup with VFP9 and SQL Server and the rest of the MS apps, installed Firefox Mac and other than that I'm using what ships with the OS.

Of course what I'd really like is a NEW Duo-Core Powerbook. With Boot Camp and Parallels it gives me the best of both worlds -- but a sudden $2500 hit on cashflow isn't in the cards, so I'll sit with my 3 year old Powerbook and enjoy working with a work of art on my lap once again.

Saturday, June 03, 2006

TPCI - TIOBE Programming Community Index - VFP #12 and rising!

TPCI - TIOBE Programming Community Index

The death of VB6 has something to do with this IMO, but the VFP community deserves a great deal of credit.

Sunday, September 25, 2005

Downloads from PDC 2005

Downloads

Thanks to jMM' . for the tip.

Wednesday, September 14, 2005

LINQ - Language INtegrated Query

As has been rumored C# and VB.NET are being enhanced to include native data access within the language -- along the lines of SQL in VFP.

Read more here


Wednesday, July 27, 2005

Google Toolbar for Firefox

Gmail, Desktop search, BlogThis, News, Spell Check in HTML forms (except for the BlogThis popup).

Good stuff, maybe I'm ready to come off of my accidental blogging sabbatical...

Monday, June 13, 2005

SpeakEasy DSL

We just moved (part of the reason posts have been so few and far between lately) - so I called SpeakEasy.net to cancel my DSL service at the old place.

To cancel the contract is $300.

Looking over my original paperwork, it appears I paid $150 for hook-up. So it's not like they are trying to recoup those costs.

Of course they are willing to transfer my service to a new location. But service is already setup there -- and it would no doubt mean that I'd be starting my year all over again.

As goes cell-phones providers, so goes cable and now DSL.

Wednesday, May 18, 2005

Google Maps + Craigslist = HousingMaps

Yet another super cool thing you can do with Google Maps.

Now they just need to get it work with Pocket PCs...

Wired article here

Tuesday, May 17, 2005

The Jeff Pulver Blog: E911/VoIP: Death of the Broadband Parasite in the USA?:

Upcoming FCC rulings may kill independent VOIP by requiring 911 service.

"...Strange as how it sounds, even Canada looks to be a more fertile ground for continued technology innovation than the US, if E911 becomes mandated for VoIP, including nomadic VoIP offerings. If VoIP was the first great driver of broadband, I fear that America will drop even further down the ranks of the countries in broadband penetration and that will further sink the US economy for many decades to come.

Unless something was totally misunderstood with regards to the FCC immediate intentions, 2005 may go down in history as the time we saw both the rise and fall of the unaffiliated VoIP service provider..."

more

Monday, May 16, 2005

UML for BioHacking...

We are rapidly moving into a world where biology can be as manipulable as data. After all, DNA is code; life is information. The new tools and methods we're developing for bioengineering reflect this parallel, and the philosophies underlying the "hacker" ethic (in the original sense of someone devoted to exploration, invention and discovery) are being absorbed by the biological disciplines.

more...

Don't miss the link to Biomodeling.


Monday, May 09, 2005

CSLA .NET

CSLA .NET is the architecture and framework described Expert Visual Basic .NET Business Objects and Expert C# Business Objects books from Apress

CSLA .NET

Friday, May 06, 2005

Groove Virtual Office - Virtual office software for sharing files, projects and data.

Microsoft has purchased Groove

It looks pretty slick from the overview. Don't forget to check the Rapid Solutions section.

Integrates with SharePoint, seems more powerful than Infopath, I could see it being used as a Team Studio lite...

Wednesday, April 27, 2005

PlateSpin Products - PowerP2V

100% Automated Conversions between Physical and Virtual Machines are the claims made by this tool.

Sunday, April 24, 2005

The Fox Show

Andrew MacNeill has thrown himself in the Podcasting ring with The Fox Show.

He has a great read on the pulse of the Fox community, the show covers a broad range of topics. Enjoyable and informative!

Thanks Frank Burcaw from the ProFox list.

Tuesday, March 29, 2005

Project Documenting Machine

Document your Visual FoxPro projects with this tool.

Thursday, March 24, 2005

What runs when Windows starts?

Silent Runners - script documentation

VB script that interrogates the windows registry for programs that run at startup.

Great for identifying adware, malware, and those lame programs that HP and Epson install etc to tell you all about your printing process...

Foxite.COM Community Weblog

There is a new VFP blog in town, and I'm now a part of it.

This may cut down on my posts here at Musings, certainly related to VFP -- but head on over and checkout the FoxCite.com blog -- maybe consider starting one of your own!

Wednesday, March 23, 2005

FoxCast

FoxCast

"FoxCast.org supports user groups by providing top VFP speakers, presenting from locations around North America and abroad. User groups can connect to the live, interactive monthly meetings or replay recordings of past events at their monthly meetings."

Registration and most (if not all) seminars are free, great resource.

Monday, March 14, 2005

Developers Report on Power, Productivity and Extensibility of New Visual FoxPro 9.0

A Press Release about developers and tool vendors adopting VFP9.

"Visual FoxPro 9.0 is the biggest upgrade since the product was first released," - Doug Hennig

We couldn't agree more, this *is* the version to move to. Look for future postings "99 Reasons to Move to Visual FoxPro 9" on this blog.

Tuesday, March 08, 2005

VFP: Call Report Writer from COM

We needed to move a number of existing VFP reports to the web quickly. One technique is to issue REPORT FORM ASCII TO from a COM object.

After digging around and testing we found that it was possible. There are two things to keep in mind.

1) COM objects cannot raise UI events.
The commands to ensure this are:
SET NOTIFY OFF
SET TALK OFF
REPORT FORM myRepo NOCONSOLE ASCII TO myrepo.txt

2) COM objects must be compiled as OUT OF PROCESS (EXE) not IN-PROCESS (DLL).
(Special thanks to Malcolm Greene of ProFox for this tip)

Here is the code we used to test the premise:


* run as is, assumes you have a FOXUSER file in use
***************************************************
* clear prior runs, create report from FOXUSER
CLEAR
CLOSE ALL
CLEAR ALL
ERASE myrepo*.*
USE SET("RESOURCE",1) AGAIN IN 0
CREATE REPORT myrepo FROM ALIAS()

* create main program with COM class
TEXT TO cMain NOSHOW
DEFINE CLASS myRepo AS Custom OLEPUBLIC
PROCEDURE DoReport(tlTest)
SET NOTIFY OFF
SET TALK OFF
SET SAFETY OFF
IF m.tlTest
STRTOFILE("This is a test","myrepo.txt")
ELSE
REPORT FORM myRepo NOCONSOLE ASCII TO myrepo.txt
ENDIF
SET SAFETY ON
RETURN FILE("myrepo.txt")
ENDPROC
ENDDEFINE
ENDTEXT

* write out the main program
SET SAFETY OFF
STRTOFILE(m.cMain, "myrepo.prg")

* add to project, compile EXE (not DLL)
CREATE PROJECT myrepo NOWAIT NOSHOW
_VFP.ACTIVEPROJECT.FILES.ADD("myrepo.prg")
BUILD EXE myrepo FROM myrepo
RELEASE WINDOWS PROJECT
SET SAFETY ON

* call without com
SET PROCEDURE TO myrepo.prg
o=CREATEOBJECT("myrepo")
TryMyRepo(o)
RELEASE o
SET PROCEDURE TO

* call with com
o=CREATEOBJECT("myrepo.myrepo")
TryMyRepo(o)

PROCEDURE TryMyRepo(o)
TRY
? o.DoReport(.T.)
? o.DoReport()
CATCH TO oExc
? oExc.MESSAGE
ENDTRY
ENDPROC

Sunday, February 27, 2005

What Great .NET Developers Ought To Know

"How many years .NET experience did you say you have?"

Thursday, February 17, 2005

Regular Expression Library

Regular Expression Library: "Welcome to RegExLib.com, the Internet's first Regular Expression Library. Currently we have indexed 898 expressions from contributors around the world."

An execellent website, thanks to Stuart Dunkeld via ProFox for pointing it out.

Wednesday, February 16, 2005

VFP 9 & opportunistic locking

A reader sent in the following:

“We recently discovered that our VFP8 app was encountering corrupt databases (error 2091) regularly and have determined the cause to be opportunistic locking on the server and workstations. We have been unable to find any reference to opportunistic locks or their impact on VFP RDBMS in any of the VFP documentation from vfp5 through 8.”

The resolution is related to how the OS is disk caching.

Windows XP SP2 / Win2k*:

Cut and paste the following into a file called woplocks.reg and run it on the workstations:



REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkStation\Parameters]
"EnableOplockForceClose"=dword:00000001
"EnableOplocks"=dword:00000000
"UseOpportunisticLocking"=dword:00000000


Cut and paste the following into a file called soplocks.reg and run it on the server

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]
"EnableOplockForceClose"=dword:00000001
"EnableOplocks"=dword:00000000


Novel settings are:

Opportunistic Locking set off
Cache Rights set off
Delay Rights set off
Packet Burst set off
True Commits set ON

Wednesday, February 09, 2005

Malicious Software Removal Tool

New tool from Microsoft, deals with malicous programs.

This tool scans for and cleans malicious software associated with the following security threats:
• Berbew
• Blaster
• DoomJuice
• Gaobot
• Korgo
• Mydoom
• Nachi
• Netsky
• Randex
• Sasser
• Zafi
• Zindos

Tuesday, January 25, 2005

EMS Professional Software and Specialty Services

Looking for a copy of old software manuals, or the install disks themselves? Check out EMS Old Software Exchange from here.

Also links to shareware, IQ testing, survival publishiing and build-it-yourself reading primer templates.

A golden find, thanks to Dave Bernard via the ProFox list.

Friday, January 21, 2005

Sleep Fox

Put VFP in a minimum resource wait state, but still pay attention to the internal event loop:


PROCEDURE DoSleep
LPARAMETERS tnSeconds
LOCAL lnSeconds
DECLARE Sleep IN WIN32API integer

lnSeconds = SECONDS()
DO WHILE SECONDS() - m.lnSeconds <> m.tnSeconds
    SLEEP(m.tnSeconds*100)
    DOEVENTS
ENDDO
CLEAR DLL SLEEP


Thanks to late night buddy
Garrett who has a recent post on using SourceGear Vault with VFP Project Manager. The single user version is free (as in beer).

Thursday, January 20, 2005

Named References in VFP-SQL

VFP allows us to use named references for fieldnames, tablenames, filenames, etc with its various commands. But, not always with the SQL sub-language...

This works:

REPLACE ALL (crsUpdates.FieldName) ;
    WITH (crsUpdates.NewValue);
    FOR PrimaryKey = (crsUpdates.PK)

but not this:

UPDATE table1;
    SET (crsUpdates.FieldName) = (crsUpdates.NewValue) ;
    WHERE table1.PrimaryKey = (crsUpdates.PK)

or any of these...

UPDATE table1 ;
    SET &crsUpdates..FieldName = (crsUpdates.NewValue) ;
    WHERE table1.PrimaryKey = (crsUpdates.pk)

UPDATE table1 ;
    SET EVALUATE(crsUpdates.FieldName) = (crsUpdates.NewValue) ;
    WHERE table1.PrimaryKey = (crsUpdates.pk)

However, if you hard-code the SET field, it works:

UPDATE table1 ;
    SET MyField = (crsUpdates.NewValue) ;
    WHERE table1.PrimaryKey = (crsUpdates.pk)

I'm sure it's been this way forever -- I've just don't recall running across it before.

Thursday, January 13, 2005

Joel on Software at Crossroads, Tues Jan 18th

Joel on Software Dinner: Bellevue WA Jan 18th

"I'm planning to come to Seattle in January to speak at an Amazon.com developer's conference. While I'm there, I thought it would be fun to meet some readers over dinner, so if you're going to be in the area, I hope you will be able to come!

I suggest we meet at the food court at the Crossroads Mall, at 7:30 PM Tuesday, January 18th, 2005."

Monday, January 10, 2005

Automating Telnet with Expect

As long as Telnet has been around, I was suprised to find that there is no native way to automate it.

I need a process on a Wintel box to access a TSX system remotely and kick off a process. Manually I can Telnet to the box, provide user/pass and then start the process. But when trying to automate the process I find there is no native way to respond to a password prompt from Telnet.

Enter "Expect". Written for *nix in TCL there is a port that runs on Wintel. The documentation is a bit sketchy, but I got it to work.

You can call Expect with -f and provide an input file. The input file for the whole process looks like this:


spawn telnet 1.0.2.24
expect "Logon please:"
send "myusername\r"
expect "Password:"
send "mypassword\r"
expect "32sys>"
set timeout 1000
send "c:\\bin\\myscript\r"
expect "32sys"


The \r is the return control, notice double back-slash for the directory name. The package comes with TCL source and its own version of telnet. The expect "32sys" lines have expect looking for the command line prompt.

Whatever you are calling on the remote side should have limited output, when working with TSX I get a minimum of 2 lines of control characters that look like garbage. Originally the remote process was reporting progress on exporting data... this made for too much information for Expect to ... well, expect.

Wednesday, January 05, 2005

Execscript kicks the Lama's ass

Andrew Ross-MacNeil turned me on to some interesting ideas with EXECSCRIPT at Devcon this year. I've always had a little program to set hot keys to clear my environment , build a project, ala Tom Rettig's CA.prg.

Writing conditional code from execution in a hotkey was always a bit limiting, but with EXECSCRIPT this is no longer true!



ON KEY LABEL f5 EXECSCRIPT ;
( ;
[ CLOSE ALL ] + CHR(10) + ;
[ CLEAR ALL ] + CHR(10) + ;
[ CLEAR ] + CHR(10) + ;
[ SET SYSMENU TO DEFAULT ] + CHR(10) + ;
[ BUILD APP myapp FROM myapp RECOMPILE ] + CHR(10) + ;
[ IF FILE("myapp.err") ] + CHR(10) + ;
[ MODIFY FILE myapp.err NOWAIT ] + CHR(10) + ;
[ ELSE ] + CHR(10) + ;
[ DO myapp ] + CHR(10) + ;
[ ENDIF ] ;
)

Tuesday, January 04, 2005

Visual FoxPro 9 Goes Gold / BetaNews babbles on incoherently...

A weak article with bad information about VFP9 release here.

Some mention of the extended report writer and …
“…FoxPro 9.0… embeds SQL in the FoxPro language, and is more extensible, allowing developers to introduce code that benefits their end user applications.”

How about the *native* SQL syntax has been extended to include virtually unlimited tables, joins, sub-queries and unions; projections, derived tables and enhanced correlation support?

How about new data types, new index types, enhanced data adaptors for cursors and xml?

How about more granular control on how tables are opened, records are refreshed, transactions are implemented?

How about Rushmore enhancements (especially the late breaking improvements to query optimization)?

How about language additions like CAST() and ICASE()?


If you’re gonna try to write an article based on a press release, at least get it fact checked.


Of course, the comments add salt to the wounds…1 Comment on the article entitled "Fox is Dead", then 4 comments on that comment defending the product.

Thursday, December 23, 2004

VFP: Change DSN Database on the fly

So I had to do some import work, using both SPT and Remote Views (which means a connection pointed to a DSN). Needed away to easily switch between databases.

It goes a little something like this...


*-- Flavor SERVER, UID and PWD to taste.
*-- Change server name in SetDataBase proc as well
#DEFINE C_CONNECT_SQL "DRIVER=SQL Server;SERVER=MyServer;UID=me;PWD=*;DATABASE="
#DEFINE HKEY_LOCAL_MACHINE -2147483646 && BITSET(0,31)+2
LOCAL lnConn && connection handle for SPT

SetDataBase("LIVE", @lnConn)

* do some stuff to LIVE data

SetDataBase("STAGE", @lnConn)

* do some stuff to STAGE data

*********************************************************
PROCEDURE SetDataBase(tcDatabase, tnConnection)
* Set connection handle to current database
tnConnection=SQLSTRINGCONNECT(C_CONNECT_SQL + m.tcDatabase )
* change DSN to current database
lcRegFile = HOME()+"samples\classes\registry.prg"
SET PROCEDURE TO (m.lcRegFile)
oReg = CREATEOBJECT("Registry")
oReg.SetRegKey("DataBase",m.tcDatabase ,;
"SOFTWARE\ODBC\ODBC.INI\MyServer",;
HKEY_LOCAL_MACHINE)
SET PROCEDURE TO
RETURN m.tnConnection
ENDPROC


sorry about the wrapping... this template isn't very code friendly...

Wednesday, December 22, 2004

100 programmers are lined up in a row by an assassin...

answers to technical interview questions

I was asked this question several months ago when I interviewed for a full-time gig at Microsoft. There were only 10 in the room, and I figured out how to save 6... but the best solution is much simpler than I imagined...

Thanks to John Donaghy for the link!

Monday, December 20, 2004

A Taste of XQuery for the DBA

A Taste of XQuery for the DBA

Eric McMullen has a good article on XPath in SQL 2005. XPath is the way to query XML data sets -- it's been well integrated into the next version of SQL Server.

VFP9 ships!

December 2004 - Letter from the Editor

WoHoo!

Mad props to the team, you guys did an amazing job!

Really large datasets in VFP

FoxPro Advisor :: The Ultimate Power & Speed of VFP


This article has been around for awhile, but it just surfaced in conversation recently. VFP is being used for the "Euro Tunnel". The data requirements for this application include 128 GB of data. Yes, VFP has a 2GB per table limit (not going to change), but this article points out how you can work around this limitation.

Monday, December 13, 2004

New Google trick

Well, new to me. Google Suggests type in a few characters and wait... (or hit the down arrow if you must...)

Friday, December 10, 2004

RF exposure FCC

I need a new cell phone, considering Bluetooth so I can have a wireless headset. Came across this:

"Tests for SAR are conducted using standard operating positions specified by the FCC with the phone transmitting at its highest certified power level in all tested frequency bands. Although the SAR is determined at the highest certified power level, the actual SAR level of the phone while operation can be well below the maximum value. This is because the phone is designed to operate at multiple power levels so as to use only the power required to each the network. In general, the closer you are to a wireless base station antenna, the lower the power output. Before a phone model is available for sale to the public, it must be tested and certified to the FCC that it does not exceed the limit established by the government-adopted requirement for safe exposure. The tests are performed in positions and locations (e.g., at the ear and worn on the body) as required by the FCC for each model. (Body-worn measurements may differ among phone models, depending upon available accessories and FCC requirements). While there may be differences between the SAR levels of various phones and at various positions, they all meet the government requirement for safe exposure.

For body worn operation, to maintain compliance with FCC RF exposure guidelines, use only accessories that contain no metallic components and provide a separation distance of 15mm (0.6 inches) to the body. Use of other accessories may violate FCC RF exposure guidelines and should be avoided."

Boot Camp - Mashing for Beginners

Great tutorial on "Mashing" -- puting two songs on top of each other. Includes Mackie's currently "Free" editor.

Tuesday, December 07, 2004

IBM Sells PC Business for $1.75 Billion

Well, maybe this means the Transnote could make a comeback.

Wednesday, November 24, 2004

Windows Installer Appears Every Time I Start an Application


I've run into this more than once, here is a an "unsupported" work around. Annoyances.org is a repository of such things...

Thanks to Tristan of ProFox.

Tuesday, November 23, 2004

Construx: Construx Estimate

"Construx Estimate contributes to project success by helping improve your software estimation capabilities. Estimate leverages a blend of proven estimation models to predict effort, budget, and schedule for your project based on size estimates. Estimate comes calibrated with industry data, but is most powerful when calibrated with your organization's data.
As part of our mission to advance the art and science of commercial software engineering, we provide Construx Estimate™ version 2.0 free of charge with a limited license."

Construx is the group that Steve McConnell (of Code Complete) runs. Great book, interesting tool. Thanks Boudewijn Lutgerink.

Monday, November 22, 2004

Firefox Extensions

Everybody knows how cool FireFox is... I've been addicted to tabbed browsing since Mozilla first introduced it. FireFox doesn't stop at just the browser... check out the extentions!

First -- if you love tabbed browsing, check out the Tabbrowswer Extentions. Great control over how tabs load and save. You can have all tabs come back up after a crash or even shutdown...

BlogThis! is like the Blogger link you get in the Google Toolbar...

FlashGot lets you pull down multiple files from a webpage in one move...

FoxyTunes lets you control Media Player, WinAmp, REAL, etc from a small controller in the browser status bar...

Oh... and a native behavior for FireFox... if you are on a site that supports RSS feeds, you should see a small orange icon in the bottom right hand corner of the screen. Click on it, and you'll create a bookmark that pulls the RSS feeds. Save the bookmark under the BookMarks ToolBar Folder and when you click on the link, you'll see the last several feeds from the site... too cool!

-dta
Toad® for SQL Server

"Toad® for SQL Server is a freeware tool that improves the productivity of developers and administrators by providing an easy-to-use development environment for T-SQL code."

Been around for awhile, this is a great tool -- a must for SQL Server DBA's and developers. Stored procedure version control, lots of automation...

Fully functional 60 day eval version available under Software Downloads.

Thursday, November 18, 2004

Who wants to be the Next Top Model?

Business Model Generator

"This is a free service provided by a research group of volunteers from the Sprott School of Business and Faculty of Engineering and Design at Carleton University in Ottawa, Canada.

We believe that sound business models are an essential, even fundamental, building block for new and established enterprises. For startups, a good business model can mean that the harder you work, the more money your enterprise will make, an obviously important consideration for new entrepreneurs. For existing businesses, even mega corporations, they need to continually update and revisit their business models to ensure that they are changing and responding to evolving conditions in their marketplaces."
Visual FoxPro 9.0: Still Here, Still Relevant

An OpEd piece I did for DevX.com.

I tried to provide managers a reason to give respect where it's due, and VFP die hards a reality check.

I was late getting it in, so I didn't get a chance to see the final before it went up, so there are a few errata.

If they don't get fixed, I'll post a follow-up here.

-dta

Tuesday, November 16, 2004

FlashPost

So the last month or so has looked like completing the contract testing gig with the Visual FoxPro team at Microsoft, restarting Alden Anderson (note to self: get a designer), speaking at DevCon, writing these articles and working at DevConnections and trying to restart this cranky Seattle Visual FoxPro Special Interest Group... which really, really needs a better name. ;)

Sorry I've been light on the posts, emails and phone-calls.

Thursday, October 28, 2004

CSharpFriends.com - C# Class Generator, ASP.NET Tools:

This is tool will automagically generate a complete c# class for you using 'raw' field inputs ( i.e input 'UserName', not 'strUserName' as my tool will prefix the type shortcut for you).

Friday, October 22, 2004

Pop!Tech - The Impact of Technology on People

"Pop!Tech is a one-of-a-kind intellectual and creative conference that explores the social impact of technology and the shape of things to come."

Wednesday, October 20, 2004

William Gibson blogs!

Of course he does... the father of "Cyberpunk" and all... but now it's marked!

Thanks GF!

Wednesday, October 13, 2004

NHibernate - a .NET based object persistence library for relational databases

NHibernate is a port of the excellent Java Hibernate relational persistence tool.

Hibernate is a powerful, ultra-high performance object/relational persistence and query service for Java. Hibernate lets you develop persistent classes following common Java idiom - including association, inheritance, polymorphism, composition and the Java collections framework. The Hibernate Query Language, designed as a "minimal" object-oriented extension to SQL, provides an elegant bridge between the object and relational worlds. Hibernate also allows you to express queries using native SQL or Java-based Criteria and Example queries.

Thursday, September 23, 2004

CoDe Magazine - What's New with Data in Visual FoxPro 9?

I little ditty I wrote late one night...

... well maybe it was more than one...
RE_INVIGORATE

The Data Archiving Service (DAS) is a piece of software that monitors and analyzes the traffic on websites. Each participant helps by contributing their websites data which is pooled together and displayed on this page (avaliable under 'DAS Community Stats') to help shed a greater understanding of current web surfing idiotisms. In return participants get realtime stats for their site! All reports are generated in real-time.

Wednesday, September 22, 2004

Tuesday, September 14, 2004

HELP?!

We find ourselves in need of a new place to live -- and quick!

Looking for a 2+ bed 1+ bath, pets allowed (2 female bassets, indoor raised), fenced backyard in the Seattle area. Need to be moved in by September 27th (yup, less than 2 weeks!).

Prefer older home, hardwood floors. $1200

If you have a lead please email house@sun-moon.net.

Thanks!

Friday, July 30, 2004

Sorting Algorithms Demo:

"We all know that Quicksort is one of the fastest algorithms for sorting. It's not often, however, that we get a chance to see exactly how fast Quicksort really is. The following applets chart the progress of several common sorting algorithms while sorting an array of data using in-place algorithms. This means that the algorithms do not allocate additional storage to hold temporary results: they sort the data in place. (This is inspired by the algorithm animation work at Brown University and the video Sorting out Sorting By Ronald Baecker from the University of Toronto (circa 1970!).) "

Thanks Garrett
YukonXML.com Home Page - The SQL Server 2005 Community Web site
Sample Code: Using Dropdownlist in Editable DataGrid ASP.Net sample code.

This was the kind of example I used when I did VFP training. It exposes containership and related databinding issues.
IBM Rational: Rival Microsoft Faces Uphill Battle:

"At the recent Rational Software Development User Conference, IBM Fellow and IBM Rational Chief Scientist Grady Booch delivered a keynote on his predictions of the software development landscape circa 2032, the 50th anniversary of Rational. Following his keynote, Booch sat down with eWEEK Senior Writer Darryl K. Taft to discuss Rational's development strategy going forward and the new competition from Microsoft Corp., which will enter the application lifecycle development tools market next year with Visual Studio Team System. Booch, a co-creator of UML (Unified Modeling Language), also discussed why the language is so relevant to the tools space. "
The .NET Developer's Guide to Windows Security

"A group of about forty people from the community kindly donated their time to help me port the copyedited version of the book from Word documents into this Wiki. Each person who helped added a PortedBy attribute to acknowledge their work. Thank you very much for the help - we ported a 400 page book into Wiki form in under a week, friends!"

Monday, July 26, 2004

Teemings - Extras - The Horror of Blimps Very, very funny. Thanks Garrett.

Sadly, it appears that ZanyBrainy went out of business as part of the FAO Shwartz Reorg.

But there are some pretty cool toys here...
Visual Studio 2005: Visual Studio 2005 Product Line Overview The new express tools are pretty slick. This page outlines the difference between express and pro systems.

Wednesday, July 21, 2004

AVERATEC I love my tiBook, but this Tablet has the right price...
USB Floppy Disk Drive RAID Too cool...

Monday, July 19, 2004

Cω What happened to Xen / X#?

say "C Omega"
PC Repair when all else fails...
 
(Thanks Woody)
The Jargon File Hacker speak.

Thursday, July 15, 2004

Monday, July 12, 2004

ODBC DSN Less Connection Strings for most every kind of ODBC driver out there.

Thursday, July 08, 2004

Wednesday, July 07, 2004

XP SP2 Windows Firewall various bits on dealnig with XPSP2 firewall issues.

Tuesday, July 06, 2004

TestFu 0.2 database testing tools (SQL Server)in .NET

Thursday, July 01, 2004

www.converters.tk Interesting site... but I can't vouch for the validity of the apps.