Click to enlarge.
Wednesday, August 31, 2011
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.
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.
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!
- 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.
- Bookmarks & Other UI / Metaphor Topics. Future posts. Applicable to most eDoc systems, not just Safari.
Monday, November 01, 2010
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:
is the regular expression and RegexBuddy explains it well.
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
Sunday, May 30, 2010
Follow Up. I discovered ReSharper can format XAML too. Details at the end.
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*”.
Saturday, April 24, 2010
More related threads:
Thursday, April 22, 2010
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: weblogs.asp.net/scottgu instead of weblogs.asp.net/scottgu/default.aspx) can also avoid diluting your pagerank across multiple URLs, and increase your search results.
Wednesday, April 21, 2010
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.
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 :-(
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.
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.
P.S. Good solutions in the comments.
Tuesday, April 20, 2010
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.
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 present.ly.
- 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
Total Welding & Contracting
2841 Belair Drive, Bowie - (301) 262-9517
Jones Certified Welding
4911 Lottsford Vista Road, Bowie - (301) 306-0915
8204 PULASKI HIGHWAY BALTIMORE, MARYLAND 21237
10792 TUCKER STREET BELTSVILLE, MARYLAND 20705
”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 email@example.com for scheduling.”