Monday, August 22, 2016

New FoxShow Episode - Southwest Fox 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

Useful Tip: Exporting Test Cases in TFS 2013

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.

Short Answer: Use the Export approach

Long Answer
At first, I figured I would use SSRS to build a useful report. However, there is no easy way to get to the data. The post here suggested the following SQL:
use tfs_defaultcollection
declare @fldIdSteps int = (Select top 1 fldid from Fields where ReferenceName = 'Microsoft.VSTS.TCM.Steps')
select *
from WorkItemLongTexts
where FldID = @fldIdSteps and id=6514

This works except that you then see that the actual steps are stored as XML.


Then I come upon this link. While Microsoft is certainly pushing people to use VS Online to get the most current features, I was happy to see that this was also available in TFS 2013 Online.

Simple steps:
1. Find your Test Suite.
2. Switch to Grid Layout.


3. Now you can cut and paste it into Excel for nicer formatting.

But there is a better way - THIS one.

Just right-click on the Test Suite and Export for Email.

I then took the email and cleaned it up in Excel. Fast and easy and now the client is super happy!





Wednesday, November 11, 2015

String.Format for Visual FoxPro [feedly]

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.

----
String.Format for Visual FoxPro
// SaltyBlog

[Originally Published in FoxRockX, September 2010]

----

Shared via my feedly reader

Wednesday, August 05, 2015

Security in Windows 10


 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.


Of course, losing one's privacy is nothing new - it's happening all over the place (despite Santa Ana's police force's lawsuit http://reason.com/blog/2015/08/04/suspended-cops-say-video-of-them-eating or Dads who don't like low-flying drones over their homes -http://kfor.com/2015/08/03/it-was-the-same-as-trespassing-father-shoots-down-drone-in-backyard-hovering-over-his-daughter/)

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.

Andrew



Sunday, July 19, 2015

Rick Strahl: Rise of Javascript Frameworks

Rick Strahl just posted a fantastic article going through the rise of Javascript frameworks. It's only part 1 so there will be more.

For those still coding their javascript manually but starting a new project, Rick provides great pros and cons for choosing a framework.

I was surprised that Wakanda wasn't listed - but it seems to be far more than just a framework, more of a full blown application tool and stack.


And then I saw this great graphic which captures it to a T


Wednesday, June 17, 2015

Handy Visual Studio Tip: Creating Your Own Search Folder Sets

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.

Friday, September 26, 2014

Fwd: Great Article on Code Review


http://blog.salsitasoft.com/practical-lessons-in-peer-code-review/

Consequences of bad reviews
  • Not having time to deal with your review backlog.
  • Delaying a release because your reviews aren't done yet.
  • 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

AppleSoft

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.

So much for real Continuity.

Thursday, August 21, 2014

WPF - Setting Up Themes

Forcing WPF to use a specific Windows theme | I Got Rhythm

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

  <ResourceDictionary.MergedDictionaries>

        <ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml" />

    </ResourceDictionary.MergedDictionaries

to the Resource dictionary (or to the Application.xaml file).

Voila our tabs went from crap to zap!

To make the experience even more sweet, that post from 2006? The blog is still being updated today (a lot more posts than here recently as well). Well done, Aelij Arbel, well done and Thank you!

 

Monday, July 28, 2014

New FoxShow Episode featuring Southwest Fox 2014 Organizers

The latest version of the FoxShow (FoxShow #79 - Southwest Fox and Southwest xBase++ 2014) features an interview with Rick Schummer, Doug Hennig and Tamar Granor about what they have planned for this year's Southwest Fox conference, fast approaching in October.

If you haven't registered yet, be sure to listen for a special offer from Rick in the show.

Hope to see you there!