QText 3.00 (Beta)

Those with big number of files in QText have reason to rejoice. This version brings support for multiple folders. Unfortunate “victim” here are hidden files that are no longer with us. Do not worry - they are still accessible - installation procedure will move them into separate folder.

Corporate users might find it useful to run QText without installation. Running without installation was possible in previous versions but it also meant that QText left it’s traces around system. Now QText will only write in sub-folder from which it was started and nowhere else.

While QText has no synchronization mechanism by itself, special care was done in this version to make it behave more friendly toward third-party software (e.g. SugarSync and DropBox). This should prevent crashes caused by someone else holding file open.

Saving is now done 2.5 seconds after your typing has stopped. If file cannot be written to because some other program is holding it (see DropBox) three retries will be done. In addition to that immediate save will be triggered by folder change and closing of program. Of course you can save manually at any time.

I hope that not many users will cry for menu which is gone. All functions are accessible both from toolbar and context menu so there was not much sense in keeping it. Keyboard heavy users can always useorto access toolbar and+to access tab-specific menu. As beforewill bring you context menu for text.

There are some changes to existing shortcuts (++and+) and few new ones. Do consult ReadMe.txt for full list. If you are wondering where key is, that is that key next tothat has picture of menu. And Microsoft called it. Go figure…

Lot of effort has gone into this version to make it as stable as possible so I would encourage all to update regardless of beta status.

Check it at beta page.

One PCB, to Go

Illustration

My hobby is playing with electronics. And that is quite expensive hobby to have. Few years ago any soldering iron would do, but as world moved toward more and more SMD and RoHS components, one needs a little bit better piece of equipment. And that is just start…

As your projects get complicated, sooner or later, you will need professionally made PCB. Things are made little bit more difficult by the fact that you have no need for thousands of boards. All that you need is one or two of them. And you need that at affordable prices.

One place where amateurs can get PCBs made cheaply is Laen’s PCB Order at Dorkbot PDX site. Whole PCB manufacturing is work of one guy. You send him design, he will add it to his PCB panels combining it with orders from other customers. As he collects enough orders he just forwards this to professional PCB manufacturer. Since there is whole panel or more, cost (per board) is way lower than what you would be able to get at from same company.

PCB that you get from Laen is very recognizable since it is colored purple! Although he promises just plain lead-free HASL almost every time I got nice ENIG (aka gold) finish. On amateur level there is hardly need for such good finish but I must confess that it looks brutally good on purple board. Specification of PCB includes 6/6 traces on 2-layer board with soldermask and silkscreen on both. Not bleeding edge but probably more than any amateur will need.

Small curiosity is also that you can order PCB only in threes. That is, you can have 3, 6, 9 or any other multiplier at humble $5 per square inch (per three). If you have board design that measures 4 square inch, you will pay $20 for three PCBs. While shipping is free withing US, international customers need to pay $5 more (which is better deal than anywhere else).

While I do use some other companies as well (e.g. BatchPCB and Fusion PCB) I would say that Laen has simplest process of them all. Just zip damn files and he will sort it out. :)

I would not say that Laen is cheapest option for any board size. Nor I would say that boards are absolutely best quality. Neither I would call purple best color there is. What you get here is high-quality board at more than acceptable price and helpful human on other side. As long as it stays like this, I have found my PCB house.

In the Year 2011

Illustration

As usual, first post in 2012 is great chance to recapitulate what was going on in previous year.

There was total of 106 posts (which is slight decrease from last year) with around 40% of them being related to programming and 10% being related to my programs. Rest of posts is anybody’s guess - I am annoyingly bad at assigning categories to posts. Improving on that might even be my New Year’s resolution. And, as it happens with all of those, it will fail miserably. :)

Total number of visits has increased to 90,000 (from 54,000 last year) so I would say that blog has some traction going. Search engines bring little bit over 50% of traffic (90% of that being from Google). Referral sites bring 30% which means that there is almost 20% of people who enter this link directly.

Analysis says that 25% of you are from United States, 10% from Germany and further 30% from all around world. My own country (Croatia) brings 2.7% to the table. That leaves something like 35% of people that have no location on this world. Either browsers got better at hiding their tracks or aliens just love my blog. :)

Internet Explorer still leads in browser wars with 36% of visitors using it. I was pleasantly surprised that majority of those using it were at version 8 (55%) or version 9 (33%). That leaves only 12% for older versions of IE. Firefox was second with 33% and my favorite Chrome was third with 25% of a pie.

This year also marks special moment for me - I left Blogger platform for self-hosted WordPress site. This step included not only efforts of installing WordPress (which was really easy) but also manual conversion of 340+ posts. And it was worth it since WordPress gives me much better control over almost every aspect of my blog, since speed is improved, since I was able to integrate everything with my old site, and list goes on and on. Only downside is that I am now responsible for making backups and paying for hosting costs but it is small price to pay (and one can always make a donation).

Happy new year to everyone.

OpenFolderDialog

Illustration

I hate FolderBrowserDialog. It is limited, ugly and stuck in Windows 2000 GUI. Whenever I had to select folder, I would resort to using SaveFileDialog instead. User would select any file name and I would just use directory part. It was non-optimal but still better than FolderBrowserDialog.

Vista brought new common file dialogs but I pretty much ignored them - most of my programs need to run under XP so there was not much benefit in using Windows Vista specific controls. However, those controls had special mode that finally brings folder selection in normal FileOpenDialog.

Code (after you define all needed COM interfaces) is actually quite straightforward. Once FOS_PICKFOLDERS is set, half of work is done. All other code is just plumbing to show the form and get user’s selection in form of path.

var frm = (IFileDialog)(new FileOpenDialogRCW());
uint options;
frm.GetOptions(out options);
options |= FOS_PICKFOLDERS;
frm.SetOptions(options);

if (frm.Show(owner.Handle) == S_OK) {
    IShellItem shellItem;
    frm.GetResult(out shellItem);
    IntPtr pszString;
    shellItem.GetDisplayName(SIGDN_FILESYSPATH, out pszString);
    this.Folder = Marshal.PtrToStringAuto(pszString);
}

Full code with Windows XP compatibility and little bit more error checking is available for download. However do notice that all unneeded COM fat has been trimmed in order to have it concise. Short and sweet I say.

[2012-02-12: Fixed bug in source code.]

QText 2.50

Illustration

QText is improved once more. There are no bigger changes (I am holding them for 3.00 :)) but many will enjoy fixed text manipulation. It is shame to admit that multiline tabs were fundamentally broken for few versions now.

Finally there is upgrade procedure in place. It is not automatic but requires user interaction. I like it better that way but I am open for other suggestions.

Other notable changes include quite a few interface tweaks and bug-fixes.

Try it.