Shared cross platform development is a concept that resonates very positively with all of us as programmers. It’s a nice outworking of the DRY principle, and seems like it would free engineers up to accomplish more. So why is it so rare that we do it?
I recently asked myself that question while planning a personal mobile project, and here’s what I came up with: (more…)
When people look over my shoulder, one of the comments I often get is, "What program is THAT?"
Since about 1990 or so, I’d been using this file management utility called XTree. The last version for DOS was called XTreeGold. I used it for many years, even after it became increasingly hindered. The biggest problem was that XTreeGold doesn’t support long filenames.
Fortunately, the persistent demand for the functionality provided by XTreeGold was great enough to prompt several clones. The most accurate and successful of these is called ZTreeWin.
Without trying to invoke stereotypes, I would say that the majority of the people around me today like to work on the Mac. Those people are excused. Those using Windows, however, should at least become aware of this utility. This program is basically what all other file management programs ever made wish to be. The many "commander" programs out there just don’t compare.
I know that more people aren’t using it only because it runs in a text window, not a Windows GUI. But that would be a stupid reason if you only knew the power of the dark side. I mean, uh, let me try to explain some of ZTreeWin‘s more powerful capabilities since they don’t become readily apparent until you’ve been using it for a while.
It’s much faster to use and more responsive than the Windows GUI. Your computer is faster than you again!
It can search a group of files faster than the Windows GUI.
It can perform any of its operations on any arbitrary selection of files across any drives and directories. It has powerful filtering and selection mechanisms. In other words, I can select files from anywhere on my system and act upon them as if they were “all in the same window.”
It can browse compressed archives (including docx files), and presents the contents in the same tree UI as for the filesystem. It can be configured to invoke virtually any archive utility, like 7-Zip, within its uniform interface.
It can show the differences between two text files and can also show differences between two directory branches.
It has a hex editor built in.
It can show how many bytes are being used by directory branches.
It can rename or renumber a group of files.
It can remember frequently used console commands and batch scripts to be invoked using the currently highlighted files or directories as arguments.
So, for example, I could view all the files within a directory branch in a single pane, filter the view to show only files with certain extensions, reduce those by date range, reduce further by a text search, then take the results, regardless of what directories the files in the resulting group are actually in, and 7-zip them (with or without relative paths), all within a few seconds.
After my boss witnessed me perform such operations with ridiculous ease, I was summoned on many occasions to solve tedious little problems that would have taken hours using the standard Windows GUI.
ZTreeWin may be overwhelming at first, especially if you’re fixated on using the mouse for everything. The difficulty in learning the program is due to it being entirely hotkey-driven, and the hotkeys, invented in the DOS era, don’t fully correspond to anything you’re familiar with. But it is well worth learning if you’re going to be using Windows for a while. I would be crippled without it.
Whoops, I forgot to put a disclaimer up front that this protip is only for "power users" or greater. If you have a thousand icons on your desktop, then uh, never mind.
Controversial title? Maybe. However, as yet another former, lifelong Windows user making the switch to Mac, it’s a question I’ve legitimately asked. As great as I think OS X is, I’ve caught myself a few times wishing that it had some particular feature, or an OS X-ish version of that feature, that I often used in Windows.
Of course, many Apple fanatics assure me that it’s not the OS; it’s something wrong with me (which is a theory I’m willing to entertain). The basic fact is that Microsoft did do some things right with Windows that could benefit OS X and it’s silly to pretend that isn’t the case.
As a very simple case, when I’m using a Windows application, if I hold down Alt (the traditional key to begin a menu item shortcut), all of the letters that launch a particular menu will be underlined on the main menu. It’s a very intuitive method for accessing application menus. There really isn’t anything in OS X like this out of the box. There are ways to use 3rd party applications get close enough though…and that’s the purpose of this article.
Developers tend to have to deal with lots of machines (especially if you include virtual machines). Developers also tend to be pretty picky about their development environments, and the tools they use. That means they tend to want to be able to install a particular set of software on any given machine they’re going to do development work on. I know I certainly do.
On Linux, this isn’t a huge problem, since Linux distributions pretty much always have a general package management tool like apt or yum or emerge, which makes installing software a breeze. These tools make it easy to install a whole set of software packages at once, so if you maintain a list of the packages you want installed into your "standard" development environment, it’s basically one command to install all the software you need to… build more software.