Branching in Subversion

Brian Simser has a great step-by-step post explaining how to do branching in Subversion. Check it out!

Posted by Garrett on May 7th, 2008 in Source Control | No Comments

Returning from FoxForward

(Gorramit, why’d I turn scripts on in the middle of a long blog post?????)

I’m currently sitting in the Concord Trailways Portland waiting room. My journey back to Brewer went rather more smoothly than the trip to Alpharetta, as I didn’t walk in the wrong direction trying to get somewhere I hadn’t been before. :-)

My talk this morning went more smoothly than last night: I got through everything I wanted to demo this time, where yesterday I got frazzled in the middle, and couldn’t see how the demo fit into the notes where I had it — and I was rather dubious about the slides I was on at that point, too. (And thank you, Fox, for changing the case of the filename I was working with: that’s always a joy when working with a case-sensitive system.) Unfortunately, I ran out of time at the end, and didn’t get to demonstrate the Fox-specific tools that Cristof and Paul had come up with. My tendency to babble was also much on display, unfortunately, interspersed with bouts of silent concentration on the keyboard. Ah, well, practice makes perfect.

I got some good information out of the conference: Dave Bernard’s explained how instrumenting his VFP applications allowed him to not only fix bugs faster, but also to be more proactive about helping his clients. I think the most-currently-useful talk was Alan Stevens’ “Red, Green, Refactor”, about Unit Testing with FoxUnit. I’ve seen it demonstrated before, but this time it took: I can hardly wait to get back to the office to try it on some of the code I’ve previously written (I know you said it’s more for new code than legacy, Alan, but there’s little enough in these utility classes that a restart won’t hurt).

I was rather perturbed that I had to walk out of Bo Durban’s GDIplus session twice (once to finish packing, and then to head to the bus stop): I was impressed by the graphics capabilities that he had added to our toolboxes, but I was much more impressed by some of the optimizations that he and his cohorts had come up with. Wish I could have seen what he was showing about custom report controls in Sedna… but showing up late for my 13th anniversary might have been unlucky. :-)

Kevin Cully, the conference organizer, was great to work with. He’s been blogging his impressions of the conference and its runup over on Cully.biz. Thanks for making my first outing as a conference presenter so enjoyable, Kevin. :-)

I’ve uploaded my slides for the presentation over here: after I clean up my notes a bit, I’ll include them too.

Technorati tag:

Posted by Garrett on September 9th, 2007 in FoxForward, Source Control, VFP | No Comments

Greetings from Alpharetta!

I’m down at the FoxForward conference, where I’ll be presenting tomorrow and Sunday about using Subversion with FoxPro. I’d like to give a more-detailed description, but I’m pretty wiped out at the moment — more later. Pictures here for interested parties…

Technorati tag:

Posted by Garrett on September 7th, 2007 in FoxForward, Source Control, VFP | No Comments

My first conference presentation

FoxForward accepted my session proposal to speak on using Subversion with VFP. This is the first time I’ve spoken at a conference — before this, I’ve just done user groups.

Only problem is, it ends the day before my anniversary, and I get the strong impression that I had darned well better be home on time. :-)

Posted by Garrett on May 3rd, 2007 in FoxForward, Source Control, VFP | 1 Comment

Your code is suboptimal!

Eric Sink ordered too many t-shirts for SD West, and decided to give away the rest. The only requirement was that recipients had to be willing to send pictures wearing the shirt. I figured that Ael could do the pose a lot better than I could….

Posted by Garrett on April 30th, 2007 in Family, Source Control | No Comments

Source Control roundup

Over on the Coding Horror blog, Jeff Atwood has a good post on Source Control. What really makes it great, though, isn’t the original post, but the comments, and the links therefrom. Enjoy.

Thanks to the ProFox@leafe.com folks for linking here.

Posted by Garrett on August 21st, 2006 in Computing, Microsoft, Programming, Source Control | No Comments

Open-source version control

Christof Wollenhaupt put together a detailed description of how to get up and running with CVS and Subversion, two popular open-source systems for version control. If you’re a developer and you’ve never used version control, you’re living dangerously. It’s not just for multi-developer projects: you can track your own changes (and revert them, if necessary) just as easily as a team can.

Posted by Garrett on May 11th, 2006 in Programming, Source Control, VFP | No Comments

Testing and scalability

Eric Sink at SourceGear tells a story of how he created a test that exposed huge gaping holes in Vault 3.0. Good thing he found the issue before a client did. :-)

Posted by Garrett on October 31st, 2005 in Source Control, Testing | No Comments

Changing source control systems

Over the years, I’ve frequently mentioned SourceGear Vault as an alternative to Visual SourceSafe for source control — and more frequently once they made the single-user version free. So, I figured it was about time that I tried it out and saw what the differences were.

Read the rest of this entry »

Posted by Garrett on January 20th, 2005 in Source Control, VFP | 2 Comments

Previewing and zooming on a form

Yesterday, I needed to test something involving zooming in on a VFP9 report.

I came up with the following code after reviewing a post Lisa Slater Nicholls made on the UT explaining how to do it.

*!* Create a quick report
USE home(1) + "labels"
create report labels from labels

*!* Show the preview form
oForm = CREATEOBJECT("frmPreview")
oForm.Show()

*!* Add a shape for the actual preview
oForm.AddObject("shpPreview", "Shape")
WITH oForm.shpPreview as Shape
    .Height = 550 && get the proportions correct
    .Width = 425  && for 8.5x11
.Visible = .T.
ENDWITH

*!* Create a preview listener
oPreview = CREATEOBJECT("ReportListener")
oPreview.ListenerType = 3
oPreview.PreviewContainer = oForm

*!* Run the report. Nothing will display, since that's
*!* the listener type we chose above.
REPORT FORM labels OBJECT oPreview
DoSleep(2)

*!* Output the page at the current zoom level (smaller
*!* than 100, but I haven't computed the exact value)
oPreview.OutputPage(1, oForm.shpPreview, 2)
MESSAGEBOX("Hit OK to continue")

*!* Make the preview shape 4 times bigger...
oForm.shpPreview.Height = oForm.shpPreview.Height * 4
oForm.shpPreview.Width = oForm.shpPreview.Width * 4
DoSleep(.1)

*!* ...and re-render the preview.
oPreview.OutputPage(1, oForm.shpPreview, 2)

MESSAGEBOX("Hit OK to close")

oForm.Release()

*!* Wait for any needed windows events to get through
PROCEDURE DoSleep

LPARAMETERS tnSeconds
LOCAL lnSeconds

lnSeconds = SECONDS()
DO WHILE SECONDS() - lnSeconds < tnSeconds
    DOEVENTS
ENDDO

DEFINE CLASS frmPreview as Form
    AllowOutput = .F.
    WindowState = 2

    PROCEDURE Release
        oPreview.PreviewContainer = .NULL.
    ENDPROC
ENDDEFINE

Posted by Garrett on June 30th, 2004 in Code Sample, Original, Privacy, Source Control, VFP, Virtualization | No Comments