Wednesday, August 29, 2012

Torch Parts

Click to enlarge.

TorchParts Crop Test

Wednesday, August 31, 2011

Safari Books Online

Abstract: Safari Books Online is a development resource I wish I had subscribed to a long time ago.  There are some advantages over dead-tree books. The subscription would have saved money because I would have bought fewer books.  It works well in my multiple-monitor, multiple-computer development environment.  Like all software there is room for improvement.  The major limitation is that it is realistically an online-only product.  Most books I would like to download cost a token per chapter.

I loved to introduce myself to new programming technology sipping coffee while carefully & deliberately pruning a stack of possible books into the optimal subset I could carry and afford.  In general I was disappointed by the few books I bought sight unseen over the internet based solely on reviews.  The books were fine and the reviews accurate, just not a good match for my learning style.  It was worth it to buy a less comprehensive book I could grok quickly vs. a book with stellar reviews but not targeted to my learning style and tree-based bookstores gave the comparison opportunity.  I did my part to help keep them going and have the receipts to prove it.  But bookstores are closing so I had to try another way to find those authors that quickly make the MSDN Library my first reference.  Winking smile

I did a trial of Safari Books Online.  The trial has limitations and I could not determine from the trial – or Safari’s web site – if a full subscription would meet my needs.  I signed up for the Unlimited Access Safari Library ($43 / month) and am glad I did.

Key Features

If I could have found this information on the Safari site I would have subscribed long ago.  If one or more of these features go away I may discontinue my subscription.

  • Multiple-Device Simultaneous Access.  I can use the Safari Library on my laptop, desktop and Android tablet at the same time.  This supports the way I prefer to work.
  • Multiple Books Open At The Same Time.  Safari has never complained that I have too many books open, and I’ve had 10 +/- open as a result of searching.
  • One Book Open Multiple Times.  It is great to have a book open to every page you want.
  • Multiple Monitor (MM) Friendly.  Safari works fine on my MM desktop.  I have invested a lot of time and money to have sufficient screen space to have everything of immediate interest visible.  I can glance at another monitor quicker than anyone can <Alt>-Tab.  I tolerate few MM-unfriendly programs and no MM-hostile programs.  When needed I can have a Safari book open to 3 or more different pages in side-by-side-by-side windows.  You can’t do that with one copy of a dead-tree book!


Nice Features

  • Portrait Monitors Ok.  When I’m doing a lot of work with portrait-oriented documents I like to rotate the top row monitors to portrait to see more and scroll less.  Some programs look awful in portrait mode and some fail. I’m glad that Safari in Firefox looks fine in portrait mode.  There is a little “fuzziness” that as I understand cannot be avoided because of how the LCD pixels are manufactured.  But I didn’t notice it until writing this post.  Portrait mode is acceptable.  I don’t know or care what the ClearType settings are, no change is needed.
  • “Related Information” Helpful.  The related information feature has pointed me to genuinely useful data in other books in the library.  Note this feature is part of the Safari Library but not the Bookshelf.

Room for Improvement

  • Android Support.  I have not found a browser for my Android 3.1 Acer A500 that works well in both portrait and landscape modes.  Don’t know if this is a Safari, Android or user issue.  The form factor is nice but usability is poor.
  • Two-Page View.
    • Needs a Non-Continuous Mode like Adobe Reader.
    • “The Matrix” Related Content bug looks cool but is unreadable. Winking smile

  • Bookmarks & Other UI / Metaphor Topics.  Future posts.  Applicable to most eDoc systems, not just Safari.

Monday, November 01, 2010

TortoiseSVN Log Messages Filtering–Oh Duh!

I suppose it’s because I work in small teams or alone that I never realized how useful TortoiseSVN’s Log Messages filtering is.  The highlighted regular expression shows just those revisions with either or both of these two files:

  • SubField.cs
  • SubFieldElement.cs



is the regular expression and RegexBuddy explains it well.


ESET Smart Security

I use ESET Smart Security 4 for antivirus (AV) and firewall on 3 computers.  This was the 3rd AV / AntiSpam (AS) / Firewall program I tried in Windows 7 and didn’t see a need to try another.  The NOD32 AV/AS seems to work well – no problems so far – but the firewall was what convinced me to flex the credit card.  It is configured to let me decide internet access for each individual program.


It also alerts to changed programs.



I run in Advanced mode, as circled below.


Personal firewall is setup to use Interactive filtering.


“Configure rules and zones…” highlighted above brings up an editable list of programs and permissions.


There may be better programs out there but I doubt I’ll ever find out.

Monday, May 31, 2010

Testing Code Formatting Two

Code4Blog (VS 2010)

 <Window x:Class="FirstTwitterApp.MainWindow" 

Testing Code Formatting

Code4Blog (VS 2010)

 <Window x:Class="FirstTwitterApp.MainWindow" 

Code Snippet plugin for Windows Live Writer

   1: <Window x:Class="FirstTwitterApp.MainWindow"
   2:         xmlns=""
   3:         xmlns:x=""
   4:         xmlns:vm="clr-namespace:FirstTwitterApp.ViewModels"
   5:         xmlns:local="clr-namespace:FirstTwitterApp"

Sunday, May 30, 2010

Readable XAML in VS 2010

Follow Up.  I discovered ReSharper can format XAML too.  Details at the end.

This post describes how to set up Visual Studio 2010 to format “Attribute Hide & Seek” XAML like this
into the one-attribute-per-line format I prefer.

Adding the two formatting commands to the XAML editor context menu makes reformatting easy and convenient.

First, setup VS’s XAML format per this blog post (found via stackoverflow).  Then reformat all or just the selected XAML from the Edit | Advanced submenu:
Notice that the menu commands are Format Document and Format Selection.  The word “Format” is first in both.

Adding these commands to the XAML editor context menu was more of a hassle than it should have been, IMO.  I looked for “Format Document” and “Format Selection” without success in all the Categories in the Add Command dialog.  I found the commands quickly using the searchable Options / Keyboard dialog box.  Note they are “Edit.Format*”.

However, in the UNsearchable, UNfilterable Add Command dialog they are inconveniently listed as “Document Format” and “Selection Format”.

Here is my updated popup menu shown on some XAML whose top line is about 3 monitors long.  (I put Format Selection first because I think it will get used most often.)

I like the formatted XAML better.

Outlining helps too.

ReSharper formats XAML with its (duh!) XML Formatting Style.

A keyboard shortcut to ReSharper _Silent Cleanup Code works well.

Saturday, April 24, 2010

Live Writer Code Formatter Plugin

I briefly tried one code formatter back in January & it didn’t work very well.  I found this update blog post & will try again sometime.

Using VS 2008 & 2010 On The Same Code

A StackOverflow thread indicates incompatibilities in VS 2008/2010 solutions, projects, app.config’s & WCF Service References.  Links to a tool to switch back & forth between 08/10.

More related threads:

Thursday, April 22, 2010

URL Rewriting

From Joannes Vermorel's blog:

Do not break URLs: When migrating your web pages, it's important to include the proper redirections. I have been using UrlRewritingNet, a nice open-source URL rewriting tool. UrlRewritingNet is very convenient to migrate ASP.NET pages because ISS does not intercept the requests even before they hit the ASP.NET machine.

From Scott Guthrie’s blog:

The most common scenarios where developers want greater flexibility with URLs are:

1) Handling cases where you want to restructure the pages within your web application, and you want to ensure that people who have bookmarked old URLs don't break when you move pages around.  Url-rewriting enables you to transparently forward requests to the new page location without breaking browsers.

2) Improving the search relevancy of pages on your site with search engines like Google, Yahoo and Live.  Specifically, URL Rewriting can often make it easier to embed common keywords into the URLs of the pages on your sites, which can often increase the chance of someone clicking your link.  Moving from using querystring arguments to instead use fully qualified URL's can also in some cases increase your priority in search engine results.  Using techniques that force referring links to use the same case and URL entrypoint (for example: instead of can also avoid diluting your pagerank across multiple URLs, and increase your search results.

Wednesday, April 21, 2010

MSDN: Design Guidelines for Developing Class Libraries

Design Guidelines for Developing Class Libraries

The design guidelines for developing class libraries are for library development that extends and interacts with the .NET Framework. The goal of the .NET Framework design guidelines is to help library designers ensure that their users reap the benefits of API consistency and ease of use by providing a unified programming model that is independent of the programming language used for development. It is strongly recommended that you follow these design guidelines when developing classes and components that extend the .NET Framework. Inconsistent library design adversely affects developer productivity and discourages adoption.

These guidelines are intended to help class library designers understand the trade-offs between different solutions. There might be situations where good library design requires that you violate these design guidelines. Such cases should be rare, and it is important that you have a clear and compelling reason for your decision.

Extensibility, Exceptions, Asynchronous Design Patterns, etc.


About Scratch

Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web.

As young people create and share Scratch projects, they learn important mathematical and computational ideas, while also learning to think creatively, reason systematically, and work collaboratively.


Initial article:  Kid-friendly programming app an unfortunate casualty of Apple’s new app policies  :-(

How to Use altChunk for Document Assembly

From Eric White’s BlogThe link.

Merging multiple word processing documents into a single document is something that many people want to do.  An application built for attorneys might assemble selected standard clauses into a contract.  An application built for book publishers can assemble chapters of a book into a single document.  This post explains the semantics of the altChunk element, and provides some code using the Open XML SDK that shows how to use altChunk.

Instead of using altChunk, you could write a program to merge the Open XML markup for documents.  You would need to deal with a number of issues, including merging style sheets and resolving conflicting styles, merging the comments from all of the documents, merging bookmarks, and more.  This is doable, but it’s a lot of work.  You can use altChunk to let Word 2007 do the heavy lifting for you.

Coding Horror: So You'd Like to Send Some Email (Through Code)

Jeff Atwood is in fine form today.  ;-)

Despite my misgivings, email is the cockroach of communication mediums: you just can't kill it. Email is the one method of online contact that almost everyone -- at least for that subset of "everyone" which includes people who can bear to touch a computer at all -- is guaranteed to have, and use. Yes, you can make a fairly compelling case that email is for old stupid people, but let's table that discussion for now.

From So You'd Like to Send Some Email (Through Code)

P.S. Good solutions in the comments.

Tuesday, April 20, 2010

Sketchflow in 90 seconds

You are pressed for time, but you are dying to know what SketchFlow is? The thought of watching an hour of demo video, like presented here, makes you look frantically at your watch?

The solutions is here: Jon Harris presents SketchFlow in just 90 seconds in this video, and does so with a friendly British accent to boot. It does not get any shorter (or better) than that.

Missing a Meeting Due to Volcanic Ash? Check Out These Tools

Snipped from

While in some cases a face-to-face meeting is an absolute necessity, sometimes you can get by using technology. If you’re grounded this week, give these apps a try — they’re all available for very low cost (and some of them are free).

  • Skype For a quick teleconference with a few participants, VoIP service Skype is great. You can use a webcam for video calling, and the latest versions of the software enable screen sharing. The basic Skype service is free, and the client software is available for Windows, Mac, Linux and many mobile devices.
  • Dimdim — For larger meetings, you’ll need a more robust web conferencing tool than Skype. My personal favorite is Dimdim, as it’s got a great feature set for a good price. Other tools available include WebEx and GoToMeeting.
  • SocialText — Corporate social networking tools are useful for communicating with colleagues and keeping them up-to-date with what you’re working on. SocialText is very full-featured (it’s kind of like Facebook for businesses), but there are other, simpler tools, such as Yammer and
  • 5pm — A good project management tool can go a long way toward keeping stakeholders informed about the progress of a project, reducing the need for update meetings. I like 5pm as it’s well-designed, but other good options include Basecamp and Wrike.
  • OffiSync — The latest version of OffiSync (a nifty little program that allows you to sync Office documents using a Google Docs account) allows for document co-authoring — which means that two or more people can work simultaneously on the same document. While it’s never going to be as good as being in the same room with your co-workers, if you need to collaborate on a document remotely, it’s worth trying. Free.
  • Tungle — Need to reschedule your meeting? Free app Tungle will help you find a time that’s convenient for everyone.

Tuesday, April 13, 2010

Nearby Welding Instruction

Maybes via 



    ”This one on one training is done at an hourly rate of $35 plus materials used.  This training is available Tuesdays and Thursdays by appointment, subject to available booth space. Please contact Don Hodges at 410 687-8400 or email at for scheduling.”