Pages

Monday, August 22, 2016

It's hard to believe but Southwest Fox has been going for 13 years. This year is the 10th time Doug, Tamar and Rick have put the show on and Doug and Tamar spoke with me on the latest episode of the FoxShow to tell me about what they have planned (they even have a special discount for FoxShow listeners - go to the site for more details).

Doug made a great point about how in this age of Google where you can find a quick answer moments away, the real value of conferences is the ability to deep dive into a subject and speak with experts and other developers. StackOverflow may rock for finding those answers but it certainly helps to listen to something longer than a 10 minute answer about issues that you may be having.

The conference is coming up quickly - September 22nd-25th and there are both pre and post conferences and other vendor training sessions. Rick Strahl is bringing his West-wind Web Connection training to the show and Tuva Vinistky is offering a FoxInCloud post-conference as well.

Friday, January 29, 2016

I've been using TFS for a few years now at a job. I know many will go with GitHub and other tools but when you're working in a Microsoft shop, you push them to use as many of the available tools as possible.

In this job, we're working for the main Development group who provides services to internal clients. Recently we showed these internal clients how we were doing full sanity tests prior to each iteration being marked as Complete (we do a three week iteration - more on that in a future post). When we showed the client the Test Cases and the steps, the client immediately wanted them. They were hiring new testers for their own testing and were worried about the time it would take to get them up to speed.

Note: while we've been using the automated tests, there are some aspects of the software that aren't supported under CUIT. In addition, test cases with steps help junior testers become more familiar with the actual application.

Wednesday, November 11, 2015

Thanks Eric for showing me Woody's string.format function. It reminds me of Steve Black's MsgSvc implementation ( which could also be used with a Text type).

I remember when I first saw String.Format in code and I had to take a step back and look again at it. Once you're used to it, it makes wording so much easier. I've seen code using it for building complex web URLs among other purposes.

But look at the date on the post -2010. How many other great functions have been lost inside the MSDN library of VFP posts. It might be great to revisit all of these in separate posts.

Wednesday, August 05, 2015

David Auerbach discusses some Windows 10 privacy settings and their implications.

"Finally, we will access, disclose and preserve personal data, including your content (such as the content of your emails, other private communications or files in private folders), when we have a good faith belief that doing so is necessary."

"In other words, Microsoft won't treat your local data with any more privacy than it treats your data on its servers and may upload your local data to its servers arbitrarily"

I did a quick install on a VM choosing the Express settings. When I fully deploy this on a real workstation, I will likely choose to wade through all of the individual pages, as David recommends.

When one is using a computer, however, one should expect it - whether it be your boss or ISP. But now knowing that your software is outright doing it, knowing that these companies are complicit in giving this data to whoever asks for it, it may be to rethink that approach.

Wednesday, June 17, 2015

I wasn't aware of this useful feature until just recently. It's been in Visual Studio for a while but if you've never come across it, you wouldn't know it was there.

A client application had a few distinct solutions: one for a web app, a separate desktop app, web services and finally a database solution. There were times when I was in one of the solutions and what I really needed to do was find any instance of a particular call - in short, searching the contents of every file.

(for VFP users, I would typically use Code References for this and just do a broad search. In fact, that's what I have done on occasion, but no more!)

Ctrl+F in VS brings up the Find dialog. By default, it's in Quick Find mode, so it will only search the current document. This can be expanded to "Find in Files", at which point in time, you can identify where you want Visual Studio to "Look in". The default list includes Current Document, All Documents, Current Project or Entire Solution. BUT, note the button with the ellipsis to the right of the drop-down.

Click that and you can define your own Search Folders Sets. In doing so, you've expanded the list of "Look In" places so anywhere can be searched. The way our application was laid out, I created separate search folders for "Everything", "Database" and "Web Services".

Now, whenever I need to search for code within files, I can do it all in Visual Studio, even if the project isn't loaded.

Note: This may be a known feature for many developers or it may have been one of those features that were heavily promoted when it was first introduced in seminars, but my experience has shown that many developers start doing things one way and never find out about handy features like this.

Posting reviews that are no longer relevant since the code has changed so much in the meantime.

Doing poor reviews since you have to rush through them at the last minute.

Ideas

>> something around 25% of the original development time should be spent on code reviews.

>>understand how the code fits into the larger context of the application, component or library it is part of. If you don't grasp all the implications of every line of code, then your reviews are not going to be very valuable.

>> empty their review backlog every day.

Fix One Area At A Time

>>If my colleague spends a week adding code willy-nilly across a large project then the patch they post is going to be really hard to review.

>> creating reviewable code is to annotate your code reviews.

>> Commit third-party code separately

When doing large refactorings,

>> refactor code incrementally. Figure out a partial change of reasonable scope that results in a working code base and brings you in the direction you want to go.

Wednesday, September 10, 2014

I'm not TRYING to be "fanboy-flame bait" but what I saw yesterday was a typical "Do it this way, now do it this way and then we'll go back to this way" all over again.... a move similar to what Microsoft does to developers on an ongoing basis.

Remember the first iPhone? Smooth and curved, at least as far as it could be back then. I still pull out my 3G and can see the curves on it.

Then the 4 came out and "boxy" was all the rage. Everything should be "tight with corners"

Now iPhone 6.... smooth and curvy is back. Granted I don't have the actual device yet, but that's the message.

Guess that means the iPhone 8 will be back to boxy.

And honestly, Apple Watch is not worth "one more thing" --- especially when everyone knows it's going to be shown. "One more thing" would be something no one saw coming. The device itself ? Very interesting and yes, definitely lots of potential but "one more thing" worthy? No. Maybe I'm just jaded.

One more "bad thing" is that the Apple Watch (which does look very cool) requires an iPhone. So now you can walk around with more Apple devices instead of just one. If you're going to change my life, make my load lighter, not heavier.

Thursday, August 21, 2014

At a client recently, we developed our WPF application under Windows 7, tested it under Windows XP and everything looked great.

Then it was deployed.

As it turns out, one of the deployments was over a Citrix server that forced applications to run under Classic mode.

Those of you who have worked with various operating systems over the years will know what I'm talking about. Classic mode isn't quite classic, unless you are one of the few who think playing bar pong on an 84" TV is superior to playing one of the more dimensional games. Or maybe one of the few who like to get up and change the TV channel rather than finding the remote. Or one of the .... (you get the idea)

While most things converted well, Tabs do not. In WPF, we have these beautiful tabs that look fresh but over in Classic mode, they have the look and feel of, well, Classic Windows 95 and VB 6 applications.

The application was demo'd to the client under Windows 7 but deployed under Windows Classic so all of a sudden, the user's experience went from "wow, that looks great" to "what kind of crap did you give me".

But all was not lost. I found this very old (2006) but super useful post about forcing WPF to use a theme. In the end, it was as simple as adding a forced reference to PresentationFramework.Aero in the solution and adding