Thu, 14 Dec 2017


I listen to a lot of podcasts, usually while I'm in the car, but also when I'm doing yardwork and similar solitary tasks. These are the podcasts I listen to.

I break my podcasts into several categories and generally listen to the categories in order. (I listen to all of the news podcasts before starting on the politics podcasts, and so on.) My currently-preferred podcast client, BeyondPod, lets me set up a "smart playlist" that puts everything in the appropriate order automatically every time I update my feeds.

BeyondPod also lets me speed up podcasts. I listen to most of my podcasts at 1.5x playback speed. I can still process the information comfortably, but it gets through them faster. Exempted are more highly-produced podcasts and ones that are really short anyway.


First, I listen to my "News" podcasts. These are short and, well, about news. I listen to these in reverse chronological order, so I get the newest news first.

NPR News Now

The NPR News Now podcast is updated every hour and contains a recording of the five-minute news summary they make available to their member stations at the start of every hour. I have BeyondPod update its feeds within an hour of my normal times for leaving home and work, so I always start off my listening with an up-to-date news summary.

Up First

Up First is NPR's podcast version of a morning show. It's hosted by the same people who host Morning Edition, and it's available every weekday morning. It spends about ten minutes discussing two to four news topics in more depth than the hourly news summary can cover them.

WAMU Local News

WAMU Local News is just what it sounds like; short news items from WAMU in DC. (WYPR is closer to me, but the reasons I instead listen and donate to WAMU are a whole other post.)

Politics / Topical

The podcasts in this section are ones that cover topical issues, with a focus on politics. I try to stay up to date on all of their episodes. Sometimes I skip individual episodes in the interest of keeping up with all of them.


I'm a bit on the fence about 1A, hosted by Joshua Johnson. I want a podcast that covers a wide range of relevant topics, particularly politics and cultural issues, and I want to come away from discussions with a sense of understanding the perspectives on all sides of an issue, regardless of whether I agree with them. The Diane Rehm Show used to be very good at that; Diane assembeled good panels for discussion, and she was extremely talented at guiding the discussion for the edification of her listeners. 1A took over Diane Rehm's time slot and covers the same sorts of topics, to a first approximation, so I've been listening to it since its inception.

1A is different in a few ways, of course. The focus of the cultural topics is a bit different, but I generally like the topics covered by the show. I don't think Joshua Johnson is as good a host, though. Diane was good, in my opinion, at guiding her guests to present useful information and perspectives to her listeners. Joshua has often come off as condescending or offputting to his guests, in ways that I don't think have contributed to genuine, useful conversations. (In more than one show he's asked a guest a question that basically came off as him saying, "Do you even understand why people think you're wrong?") I'm a little on the fence about what they've done with the podcast format, too. The radio show is two hours long, with a different topic each hour. For the podcast, they pick one of the two topics and edit that show down to a half hour. If you want to listen to the other show, you have to go to the website; it's not available in a podcast.

I still feel like I'm getting useful information and perspectives from the show, but not to the same degree as I got from the show that previously filled my "topical panel discussion" need. If anyone has suggestions for better podcasts, I'm open to them.

Diane Rehm: On My Mind

On My Mind is the podcast that Diane Rehm has been doing since she retired from hosting the on-air Diane Rehm Show. Every week she records and collects conversations with people where she discusses political or cultural topics. Her new format doesn't really cover the sort of broad, multifaceted discussions that I really liked about her old show, but she's still informative and insightful, so I'm still listening.

The Economist Radio

The Economist has multiple podcasts; I listen to all of them through their "all audio" feed, available at the top of that page. I do skip their "Tasting Menu" episodes; I find the format they use for them jarring. (It consists of one person reading excerpts from an article they've written for the magazine intercut with the host's commentary on the article. It feels like a conversation format where the two people aren't actually talking to each other and I don't like it.)

The Economist has the nice additional benefit of giving coverage of the US from an outside perspective. I appreciate that because pretty much all of the other podcasts I listen to are based on the US.

FiveThirtyEight Politics

The FiveThirtyEight Politics Podcast doesn't have its own page, but you can find it on the FiveThirtyEight Podcasts page. This weekly podcast features concrete, numbers-based discussions about political developments. I really like their approach to trying to understand the population's political opinions by asking them (generally through polls) and trying to fairly listen to the answers.

On the Media

On the Media is a weekly show that discusses how the US--and sometimes global--media is covering (or miscovering or failing to cover) the news, particularly political news. They also tend to discuss free speech and various other things that fall within a similar penumbra


These podcasts are excellent places to learn new things. They're not necessarily as time-sensitive as the ones in my "Politics / Topical" section, so I get to these only when I've caught up on all the topical stuff. I am currently about five months behind on this section.

99% Invisible

99% Invisible discusses the design of things made by humans, with a focus on architecture. I've learned a lot about all sorts of things that people have made from this show.


Radiolab tells stories about science. I've learned a lot from this podcast about new developments in science, obscure but interesting scientific discoveries, and science history. They also do a lot to try to express concepts and atmosphere through audio cues. At least one person I know finds their "bleeps and bloops" offputting and can't listen to them.

Ted Talks (audio)

The TED Talks audio feed is just that: an audio-only podcast of TED talks. I'm a little on the fence about this one. I've listened to some really great talks through this feed, but a lot are just okay or worse. The ratio is not really in the feed's favor. I haven't fully given up on it yet, though.

What's the Point

What's the Point was a podcast from FiveThirtyEight that discussed uses of data in various aspects of our world. One of the early episodes I distinctly remember was a discussion of analyzing traffic data in New York City to optimize traffic flows in Manhattan (including closing a street to improve the traffic). The podcast has ended, but I haven't yet listened to all of the episodes in the feed.

Catching Up

If I ever get caught up on my "Education" category, I have the "Catching Up" category to work on. When I find a podcast that I like and want to listen to every episode of it, I put it in this category. Once I'm caught up on the podcast, it gets moved into an appropriate other category (usually "Education"). 99% Invisible, TED Talks, and Radiolab all started out here.

Intelligence Squared US

Intelligence Squared US holds one or two debates every month on interesting topics, often political ones. Each debate begins with a motion, e.g. "Video games make us smarter." There are two teams in the debate; one argues for the motion and the other argues against. Each team has two members. The debate has three phases: opening statements, answering questions from the moderator and audience, and closing statements. The audience is polled about their opinion on the statement before and after the debate; the side that had the greatest increase in supporters is said to have won the debate. I don't care so much about who wins or loses, but the debates are generally good platforms for understanding opposing perspectives on contentious topics.

Mon, 30 Oct 2017

How to Buy Batteries for Flashlights

Questions about buying batteries come up periodically on the /r/flashlight subreddit. This is the guide I wish had existed when I had those questions. The primary focus of this guide is on batteries that go into flashlights, though some of what's here can certainly be applied to other battery-powered devices.

If you just want to know how to get 18650 batteries, skip down to the Lithium-Ion section. Be careful when buying lithium-ion batteries from marketplaces like Amazon; unsafe batteries abound. See the section for advice on making safe purchases.

Types of Batteries

Batteries can be separated into different types that largely have to do with their voltage. A battery's voltage is determined by the chemical reactions it uses to generate electricity (and occasionally with additional circuitry added to the battery). The usual way we refer to batteries (AA, AAA, C, etc.) specifically references their size, not voltage. Fortunately, for the most part, particular sizes only come in particular voltages. I'll note a few places you might have to take care.

Flashlight batteries generally fall into one of three categories (links go to the sections on each type of battery):

I'm omitting stuff like 9V batteries and 6V "lantern batteries", since they're not used in flashlights to the same degree that the above categories are.

1.5V Batteries (AA, C, etc.)

Flashlights that use AAA, AA, C, and D cells are very common. They're useful because those cells are also very common.

People sometimes refer to these batteries as either "primaries" or, less often, "secondaries". "Primaries" are synonymous with non-rechargeable; you use them and then throw them away. "Secondaries" are synonymous with rechargeable, though people will more often just call them "rechargeable".

The main consideration when choosing 1.5V batteries is the chemistry used inside. There are three common chemistries:

There are rechargeable alkaline and rechargeable lithium batteries, but rechargeable NiMH are the most common at the moment. Nickel-cadmium (NiCd) used to be the most common rechargeable chemistry, but it's been replaced by the NiMH, which is better than NiCd in practically every way.

In most cases, you should get NiMH rechargeable batteries for flashlights that get used frequently. For flashlights that sit and wait to be used (emergency flashlights, bug out bags, etc.), use lithium primaries.

Lithium batteries handle temperature extremes better than NiMH and alkaline batteries, so lithium is also the best choice for things like flashlights that live in cars.

The Wirecutter has recommendations for NiMH AA and AAA batteries and NiMH AA and AAA chargers.

3V Batteries (CR123A, etc.)

3V batteries are common in a number of more niche devices, like cameras. There are a lot of flashlights that use 3V CR123A batteries. Pretty much every 3V battery uses lithium, so everything about lithium in the 1.5V section applies to 3V batteries, too.

The higher voltage lets some CR123A flashlights put out more light than similarly-sized AA flashlights. Aside from that, there's not much to consider about buying CR123A batteries.

The Parametrek battery database lists several CR123A batteries ranging from $1.50 to $5 apiece. On Amazon, Amazon Basics, Streamlight, and Energizer CR123A batteries range from $1.50 to $2 apiece.

Some places sell "RCR123A" batteries, which are basically CR123A-sized lithium-ion batteries. (Specifically, they're 16340 cells; lithium-ion naming conventions are covered below.) Some RCR123A batteries have integrated voltage-regulating circuitry to deliver a constant 3V so they behave just like a regular CR123A. Others do not; like other lithium-ion batteries, they'll be 4.2V when fully charged. If you're going to buy RCR123A batteries, either make sure your device can handle voltage up to 4.2V or check the specs on the RCR123A to see whether it has a 3V output. (Lithium-ion batteries will often be listed as having a 3.6V output or so.)

All of the usage considerations in the lithium-ion section apply to RCR123A batteries, too.

Lithium-Ion Batteries

Lithium-ion batteries brought a revolution in compact energy storage. They can hold more energy and discharge it faster than any of the common handheld battery technologies that came before them. Lithium-ion batteries are used, in some form, in devices ranging from smartphones to laptops to electric cars.

Lithium-ion batteries supply 4.2V when fully charged. As their energy is drained, their voltage drops. When they reach 2.5V or so, they're considered empty. Although a lithium-ion battery can continue to supply power beyond that point, doing so will permanently damage the battery's chemistry. That might reduce the energy the battery can hold when full, render the battery useless, or cause an internal short circuit that could lead to a fire.

Lithium-ion batteries are also potentially more dangerous than the other batteries described above. If they get too hot, they can catch fire or explode. Charging and discharging lithium-ion batteries both generate heat, so doing either one too fast can cause a fire or explosion. A short circuit--connecting the positive and negative ends without enough resistance in between--will almost certainly discharge the battery too rapidly. (For people who remember the Samsung Galaxy Note 7 fires, those were caused by unsafe lithium-ion batteries.)

The above doesn't need to put you completely off lithium-ion batteries. They're incredibly useful; you just need to take a little more care with them than other common batteries. Some lithium-ion batteries are more safe than others; that'll be covered below.

You do need to be careful about where you buy your lithium-ion batteries. Many large marketplaces, like Amazon and AliExpress, have unsafe or mislabeled lithium-ion batteries for sale. Because of the dangers of unsafe usage of such batteries, you need to make sure you're getting them from a reputable seller. That will be covered in the buying lithium-ion batteries section.

Some flashlights have built-in charging circuits. If yours doesn't, you'll also need a charger, covered in the chargers section.

Lithium-Ion Names and Shapes

The Lithium-ion batteries that flashlights use--at least, flashlights with removable batteries--are generally cylindrical and are described by a five-digit identifier, like "18650". The first two digits give the diameter of the cylinder in millimeters (mm). The last three digits give the length of the cylinder in tenths of a millimeter. Thus, an 18650 cell is nominally 18mm by 65mm. There's some variation in those values, particularly in the length, but they give a rough approximation.

Some common sizes are:

A number of flashlights allow you to use either an 18650 battery or two CR123A batteries. As with 14500/AA and 10440/AAA, don't do this unless the flashlight manual says you can, since two CR123A batteries in series will give the flashlight 6V.

When speaking, most people break up the five digits of a lithium-ion battery into three groups: xx-y-zz. Thus, "18650" is pronounced "eighteen-six-fifty". ("14500" is usually pronounced "fourteen-five-hundred".)

What You Need to Know About Lithium-Ion Options

With 1.5V batteries, you have just one thing to decide about: the battery chemistry. With lithium-ion batteries, there are four options you need to consider: protection, top shape, capacity, and discharge rate.

If in doubt, you'll probably be okay with protected, button-top batteries of the highest capacity you can afford (ignoring discharge rate).


Dimensions of plain, button-top, and protected 18650s.

As noted above, lithium-ion batteries should not be discharged below 2.5V or so and should not be discharged too quickly. Many manufacturers take plain lithium-ion cells and add small protection circuits on top. These circuits stop providing power if the battery voltage drops too low or if the current draw gets too high, protecting the cell from things that could damage it. This makes the protected batteries a bit safer, since it's more difficult to accidentally push them too hard.

A protection circuit makes the battery a little longer, and sometimes a little wider. There are flashlights that have so little extra space inside that they must be used with unprotected batteries. Usually such flashlights will have their own low-voltage protection (LVP) and will stop trying to use the battery if the voltage gets too low. If you use an unprotected battery in a flashlight without LVP, you'll have to be careful not to drain the battery too far or you risk permanently damaging the battery.

Protected batteries usually cost a little bit more than their unprotected counterparts, typically in the realm of an extra $1.50 or so.

Some high-powered flashlights need to draw so much current that they can't use protected batteries because they'd trip the protection with their power usage. For those flashlights, make sure you get unprotected batteries with a high enough discharge rate (covered later).

Flashlights that need unprotected batteries should say so on their website and in their manual. If there's nothing about protection, you should be able to use protected batteries (and you ought to do so).

Top Shape

Tops and bottoms of flat top, button top, and protected 18650s.

Lithium-ion batteries, like all other batteries, have a positive end and a negative end. Putting a lithium-ion battery in backwards can damage the flashlight, the battery, or both. In some cases, it can start a fire.

On a plain cylindrical lithium-ion cell, the disk on the positive end is a little smaller than the disk on the negative end. Some manufacturers take bare cells and put buttons on top of them, like the buttons on top of 1.5V batteries. This makes the battery a little longer, but not as much as a protection circuit does. Most unprotected-batteries-only flashlights will still work with button top batteries.

Button top batteries usually cost slightly more than flat top batteries. The extra cost is generally somewhere around ten to twenty cents.

Many flashlights will work with either button top or flat top batteries. Some are shaped so that only a correctly-inserted button top battery will work. This serves as mechanical enforcement of correct battery polarity. If your flashlight takes more than one battery in series, you'll need to use button-top batteries.

Protected batteries pretty much always come with button tops.

In general, any flashlight that works with flat tops will also work with button tops, except for rare cases where the battery compartment spacing is incredibly tight. Consequently, I'd recommend getting button top batteries unless you specifically know you need flat tops.


A battery's capacity, most commonly measured in milliamp-hours (mAh), governs how long it can continue providing power. More mAh generally equals more flashlight runtime. Even if you don't expect to run a battery all the way down, keep in mind that as a lithium-ion battery discharges its voltage drops. In many flashlights, that means that a partially-discharged battery can't support the brightest modes on the light. A higher-capacity battery will continue to provide higher voltages for longer periods of time.

If all else is equal, you should get the highest-capacity battery you want to spend money on.

Many disreputable battery vendors claim impossibly high capacities for their batteries. As of January 2018, here are the highest manufacturered capacities for some common lithium-ion sizes; if a battery claims significantly higher numbers, it's probably lying (and if it's lying about capacity, it's a lot more likely to be lying about other things, like safety):

(Note: Efest, a reasonably reputable brand, sells "850mAh" 16340s, but testing indicates that they're more than a little optimistic about that claimed capacity. In practice, 700mAh is the most you'll get out of a 16340.)

(Note: Only one 18650 cell claims a 3600mAh capacity, and it's arguably cheating a little to get that number. For most practical purposes, you can regard 3500mAh as the highest available 18650 capacity, and consider any "3600mAh" battery to really be 3500mAh.)

Discharge Rate

Depending on their particular chemistry, lithium-ion batteries can have a maximum discharge rate anywhere from 3 amps (A) to 40A. Most flashlights stay under 3A-4A, so pretty much any battery will be fine for them. Some of the higher-output flashlights need or can benefit from 10A, 15A, or even 20A batteries.

There's a tradeoff between battery capacity and discharge. The chemistries that do very well on one metric are not as good on the other. As of January 2018, the best high-capacity batteries store 3500mAh with a maximum discharge of 10A, while the highest-discharge batteries can sustain 40A but only store 2000mAh.

The most-demanding flashlights I've seen top out at about 20A, so you probably don't need to go out looking for batteries with higher discharge rates than that. (Unless you're also using the batteries in your vape or something.) Many people with high-drain flashlights like to use Sony VTC6 or Samsung 30Q batteries; both are 3000mAh/15A.

Some people refer to high-discharge batteries as "IMR" batteries, after a commonly-used chemistry for such batteries.

In general, you should see if your flashlight has a maximum current drain listed. If it doesn't, ignore discharge rate and get the highest capacity batteries you want. Otherwise, get the highest-capacity batteries with a high enough maximum discharge rate.

Other Considerations

There are all sorts of other characteristics that people care about with their batteries, but those are less relevant than the above four things, especially if all you care about is getting your flashlight to work.

There's actually a really complex relationship between batteries' capacity, voltage, and current. Batteries are a little less efficient at higher amperages, so a flashlight that's constantly used on its turbo setting will generally drain its battery even faster than the numerical difference between the light's brightness levels would indicate. Similarly, batteries providing higher amperages will have their voltage drop a bit relative to the same battery with the same charge but at a lower current draw. Different batteries will have different balances among those relationships (e.g. Samsung 30Qs exhibit slightly more voltage sag than Sony VTC6s, even though their top-line ratings are the same).

These sorts of things only tend to matter to people who want to squeeze every last lumen out of their lights, and those are just a small subset of the people who use lithium-ion flashlights on a regular basis. If you're interested in this level of detail, though, you will want to look at HKJ's battery and charger reviews. The website is a little confusing in its layout, but there's a wealth of information about all of the batteries HKJ has tested, and HKJ has tested a lot of batteries.

Where to Buy Lithium-Ion Flashlight Batteries

Don't just go to Amazon, search for "18650", and buy the first search result. There are a lot of cheaply-made and more-unsafe-than-necessary batteries in large marketplaces like Amazon. You should buy from a vendor who will only sell properly-labeled stock from trusted manufacturers.

One of the easiest ways to do that, as well as to search for batteries that match all of the options you need, is to use the Parametrek Battery Database. The person who maintains the database has links to purchase batteries from reputable sellers. For a search example, here's all of the protected 18650 batteries, with the highest-capacity ones first:

Note that to search for capacity, the mAh numbers I've talked about are on the "mAh" category. The "capacity" section sorts by watt-hours (Wh) instead. (The basic difference is that milliamp-hours are only directly comparable for batteries at the same voltage, while watt-hours give meaningful comparisons even between batteries with differing voltages. Lithium-ion batteries are generally marketed with their mAh rating--since the voltage is known--so that's what this guide uses, too.)

If you have questions about a particular battery seller, you can always come ask about it on the /r/flashlight subreddit.

Notes on Particular Lithium-Ion Battery Brands

Unprotected batteries are pretty much all made by LG, Panasonic, Samsung, Sanyo, or Sony.

Some of the more popular brands for protected batteries include AW, EVVA, and Keeppower. (As mentioned previously, these companies buy unprotected batteries from the above vendors, add their own protection circuits, and sell the resulting batteries.)

Many flashlight manufacturers have their own branded batteries. Those are generally of good quality, but they're often more expensive than equally-good batteries from other reputable sellers. Some people prefer to pay the extra amount just to avoid trying to figure out whether a particular other seller is reputable or not.

Batteries from Olight are a little unusual. They're a reputable manufacturer (and seller, if you buy directly from them), but they do some extra things to their batteries. The tops of their batteries have a positive button, like any button top battery, but also a negative ring around the button. This is required for the batteries to work in their proprietary flashlight charging cradles, but it increases the chances of short-circuiting the batteries. (The protection circuit should prevent a short-circuit from starting a fire, but it's still not something you want to do to a battery.) Unless you're using an Olight flashlight with an Olight charger, you probably don't want an Olight battery.

Ultrafire batteries should be avoided. They're known to cut corners on their batteries in order to make them cheaper. If you buy one of their batteries, you might get something that works, but you also might get a battery with a defective protection circuit, or a battery that contains a smaller, cheaper battery, and a lot of sand to fill the extra space. Given the care that needs to be taken with lithium-ion batteries, the risk isn't worth the lower prices.


If you go with rechargable batteries, you'll need a charger. (Some lithium-ion flashlights have built-in charging, but even with those an external charger can be useful sometimes.)

The best option is to look at the list of chargers reviewed by HJK, pick one with the features you need (number of bays, NiMH, lithium-ion, etc.) and a good rating (two or more smiling faces), and buy it from one of the reputable battery vendors discussed above.

Thu, 04 Dec 2014

The Best Android Apps of 2014

(According to /r/Android.)

Google recently came out with a "Best Apps of 2014" list. It was not well received, with many people feeling that the majority of apps present were there because Google was making money from them, not because they actually deserved to be on such a list. Consequently, the Android subreddit attempted to compile its own list. This post is my attempt to collect the most highly-voted submissions on that /r/Android post.

What follows are the 35 top apps, based on Reddit's "best" sorting algorithm. If I have time, I'll add more to the list later.


Gives you root on your system.


SSH client with optional cloud syncing and other features.


TV episode (and movie) watching management. Tracks things you've seen, tells you about upcoming things. Syncs with trakt or tvtag.

Pocket Casts

Podcasting app. "Buy it for the hilarious changelogs, stay for the awesome Podcast App."


Album app. Browse, display, and select images on your device.

Nova Launcher

Alternate home screen. Very customizable.


Manage your device from your desktop or laptop web browser over the network. You can transfer files, send and receive SMS messages, see notifications, and generally fully control your Android device.


Easily send information between your device and desktop computer. Serves as both a cross-device notification system (e.g. see your Android notifications on your desktop) and a data sharing system (e.g. send a URL from your laptop to your phone).


Take photos of documents with your phone and turn them into PDFs.


General-purpose automation for your Android device.

Moon+ Reader

Ebook reader.


Fitness app for tracking your running and bicycling.

Today Calendar

Material-designed calendar app.


Material-designed SMS app.

ES File Explorer

File management app.


Game. The gameplay's a little difficult to describe. You control two objects that rotate in sync around the same point and you have to move them to avoid obstacles.

Sleep as Android

Sleep tracker and sleep-cycle-aware alarm clock.


Synchronizes device data with a Microsoft Exchange Server.


Very customizable, multi-featured, and good looking clock app. Has a clock, alarm clock, timer, and stopwatch.

Reddit Sync

Reddit client with a card UI.


Encrypted messaging app.


Security program. Lets you track, manage, and even wipe your device remotely in case it's lost or stolen.


Traffic-aware GPS routing and navigation.


Sync local folders to various cloud storage providers.


Short for "If This Then That". Android client for the IFTTT web service. IFTTT hooks into a lot of other sites (and your Android device) and lets you set up triggers so if something happens in one place, it causes something else to happen in another. (e.g. if it's going to rain, it can have your phone pop up a notification to take an umbrella when you leave the house.)


Kind of the reverse of AirDroid. Lets you manage your desktop computer from your phone.


Android device automation, similar to Tasker. (Or Tasker is similar to Llama. Plugins for either will work with both.)


Offline maps. Not available in the Play Store, so you have to sideload it.


Client for the Plex Media Server.


Shows notifications while the phone is locked. Detects when you pull your phone out of your pocket and turns on the screen to show your notifications. Similar in concept to the Moto X's Active Display.


Reddit client.

Morning Routine

Alarm clock that lets you define a sequence of steps necessary to turn off the alarm. The idea is that you encode your entire morning routine into it, which makes sure you're awake by the end and makes sure you do everything you're supposed to.


Journey planning app, including transit, auto, foot, bike, and taxi. Only for specifically-supported cities.

Sunrise Calendar

Calendar app.

Xposed Framework

Framework for installing Xposed modules. Each module patches some aspect of the running system in order to change it. There are modules for all sorts of things, from working around Android bugs to adding cosmetic tweaks to making stock Android behave like a custom ROM. Root required. Must be sideloaded, since it's not in the Play store.

Solid Explorer

File manager.

Fri, 13 Dec 2013

Portable Filesystems for Portable Disk Drives

I periodically need to set up a USB hard drive so that its files can be shared between different operating systems. I recently tried to update my practices. This is a record of my findings.

The short version of my conclusions is: If you need good portability between Windows, OSX, and Linux (and you're only writing data from Windows or Linux), use NTFS. If you don't need filesystem metadata like ownership or permissions and your files and disks aren't too large, FAT32 might work for you.


FAT32 is often the filesystem of choice for flash drives and smaller media. Windows, OSX, and Linux all have native support for it. It can span filesystems up to 2TB in its default configuration and up to 16TB or so if you tweak its block size. It cannot support files larger than 4GB, nor does it include support for file ownership and permissions. Its support for filenames longer than eight characters plus a three character extension is something of a hack. It's not case-sensitive (though it does preserve case).

Basically, FAT32's biggest strength is its cross-platform support. In most other areas it falls down when compared to more modern filesystems.


NTFS is a bit nicer than FAT32 in many ways. It supports filesystems up to 16EB in size, and you can fill all of that space with a single file, if you want. (In other words, there's effectively no limit on file size other than the size of the containing filesystem.) Filenames can be up to 255 characters long, just like other modern filesystems. NTFS supports POSIX-compatible file ownership and permissions, hard and soft links, case-sensitivity, and sparse files, all of which which make it a lot more interoperable with Unix than FAT32.

Its main drawback is that it's proprietary and what support exists has been reverse-engineered. Windows supports NTFS, since it came from Microsoft originally, back to Windows 2000 and Windows NT 3.5. Max OSX has had native read-only support since 10.3 (Panther). Linux can read and write NTFS volumes via NTFS-3G, which runs in userspace (via FUSE). NTFS-3G doesn't give tremendous performance when accessing SATA or SAS disks, but modern hardware is more than capable of keeping up with USB-attached disks. (At least for USB 2.0; I haven't done comparisons with USB 3.0 hosts and disks.)


exFAT is an attempt to extend the aging FAT family (FAT12/FAT16/FAT32) to support larger files. Its size limits are somewhat crazy: maximum recommended filesystem size is 512TB (though it can theoretically go up to 64ZB); maximum file size is 127PB. Like FAT32, it does not support file ownership or permissions, hard or soft links, or sparse files, and it's case-preserving but not case-sensitive. Many of the unsupported features aren't completely necessary in a lot of USB drive use-cases, so their absence isn't an immediate strike against it.

The main problem with exFAT is that it's not just proprietary (like NTFS) but patented. It's supported natively from Windows Vista on (and Windows XP can be patched for support) and in OSX 1.6.5 (Snow Leopard) and later, but Linux support is currently very shaky and difficult to distribute because of the patents. Even if Linux support were not a factor, the fact that only relatively new OSes have support for exFAT would disqualify it from consideration in many situations.


UDF is something of a dark horse in this space. It was originally designed as a general-purpose, portable filesystem. It's only really seen adoption, though, as the filesystem used on DVDs and Blu-Ray disks. Because it's used for DVDs, though, it's natively supported by all three of the major desktop OSes: Windows (back to Windows 95), MacOS (back to OS 9), and Linux (back to kernel 2.2).

Like FAT32, UDF can only have 232 blocks in its filesystem, so it only goes up to 2TB filesystems with 512-byte blocks (which is what hard drives would use; the UDF spec requires that the UDF block size match the disk block size). Like NTFS, though, its only limit on file size is the size of the containing filesystem. Also like NTFS, it supports POSIX ownership, permissions, and metadata; ACLs; and hard and soft links, as well as being case-sensitive. It doesn't support sparse files.

It would seem that UDF would be the best choice for a portable filesystem: it's natively supported in practically every OS and it supports most of the features you'd want in a modern filesystem. Unfortunately, OS bugs hamper its usefulness.

Although Linux will read UDF filesystems with blocksizes other than 512 bytes (even though that's outside the official specification), Windows is pickier and will only recognize conforming layouts with 512-byte blocks. That immediately limits Windows to 2TB disks or smaller when using UDF. Also, Windows expects UDF to span the entire disk, with no partitions, so you can't even work around the size limitation by making multiple sub-2TB partitions.

Linux, on the other hand, has had problems with UDF with 512-byte blocks. It handles filesystems with 2KB blocks just fine, but you need to be running relatively new kernels for the 512-byte blocks (required for Windows compatibility) to work. (Two problems I've run into are disks being reported full when they're not and Linux not seeing UDF volume labels.)

The Linux problems have been fixed, but only just this year. Losing compatibility with all older Linux systems knocks out one of the biggest advantages that UDF has over NTFS. In my case, I have RHEL 5 and 6 systems that aren't going to get these fixes for a really long time. (Maybe by RHEL 5's 2017 EOL, assuming RHEL 7 includes all of the fixes.)


There are also the native disk formats for Linux (the ext2/3/4 series) and MacOS (HFS/HFS+). While there's at least some support for accessing them from other systems, that support is generally less robust than the NTFS-3G project's work, so if you're going to require third-party support for cross-platform access you might as well use NTFS.

Other filesystems

There are a lot of other filesystems out there. Linux has native support for quite a lot of them. OSX and Windows don't. In cases where installing third-party drivers on OSX or Windows is an accepted requirement, some other filesystem might be a good choice. In my opinion, though, NTFS, FAT32, maybe UDF, and possibly exFAT cover the filesystem portability use-cases pretty well by themselves; it would have to be a very specific set of circumstances for a different filesystem to be a better choice than one of those four.

Fri, 09 Nov 2012

Org-Mode and Project Overviews

I recently started a new job and my new manager wanted me to give him a periodically-updated task list showing what I was working on, its progress, and any deadlines I had. I like Emacs' Org Mode, so I set out to set up something in Org Mode that worked for both of us. This is my story.

In general, I want to have a main directory for my files and, within that directory, use a separate file for each distinct project I work on. My manager wanted to easily see project progress via milestones, so each level-1 heading represents a milestone, while the deeper headings are more fluid and are more for my benefit than his. It was pretty easy to set up HTML publishing from the Org file directory to a web server, so my manager could browse through the details of my org files.

My manager also, however, wanted to see an overview page with sections for current, future, and recently-past projects, with detail lines for the milestones on current projects. That proved to be the trickiest thing to implement: since I dislike repeating myself, I wanted as much of the "current project status" part of the overview to be automatically generated from the individual project files, including any milestone deadlines but ignoring all of the more minor details.

Org Mode is big, so I spent a while reading through the manual about custom agenda views and such until I stumbled on the C-c / d key sequence, which folds all the file's subheadings and displays any deadlines on the level-1 headings. In combination with C-c C-e v Spc, which exports only the visible portions of the current buffer to a new org-mode buffer, I was able to create an org-mode formatted project overview. Thus, my general overview page (named so it becomes index.html during publishing) looks something like this:

* Active Projects

** [[][Project 1 Description]]
   DEADLINE: <2012-11-16 Fri>
#+INCLUDE: "project-1.org_overview" :minlevel 2

** [[][Project 2 Description]]
   DEADLINE: <2012-11-30 Fri>
#+INCLUDE: "project-2.org_overview" :minlevel 2

* Future Projects

** [[][Project A Description]]
** [[][Project B Description]]

* Recently Completed Projects

** [2012-11-01] [[][Project X Description]]

I added a few CSS tweaks at the top of the file to better fit its purpose. Mostly, they just put related things closer together and deemphasize some of the extra information on the page:

#+OPTIONS:   H:2 num:nil toc:nil tasks:t
#+STYLE: <style>
#+STYLE: .outline-3 h3 {
#+STYLE:   margin-bottom: 0;
#+STYLE: }
#+STYLE: .outline-text-3 p {
#+STYLE:   margin: 0;
#+STYLE: }
#+STYLE: .outline-4 {
#+STYLE:   line-height: 0.5em;
#+STYLE: }
#+STYLE: .outline-text-4 {
#+STYLE:   font-size: 0.75em;
#+STYLE: }
#+STYLE: .outline-4 h4 {
#+STYLE:   margin-bottom: 0;
#+STYLE: }
#+STYLE: </style>

I also wrote the following two elisp functions. The first one generates the overview file for a given buffer, while the second looks through a buffer for included overview files and regenerates all of them.

(defun org-export-overview (file)
    (find-file file)
    (org-check-deadlines org-deadline-warning-days)
    (org-export-visible ?\  0) ; calls switch-to-buffer-other-window
    (write-file (concat file "_overview"))

(defun org-export-overviews-for (buffer-or-name)
  (let ((plan-dir (file-name-directory (buffer-file-name (get-buffer buffer-or-name)))))
    (with-current-buffer buffer-or-name
        (goto-char 1)
        (while (re-search-forward "^#\\+INCLUDE: +\"\\(.*\\)_overview\"" nil t)
          (org-export-overview (concat plan-dir (match-string 1))))))))

Finally, I wrote a simple function that goes through all the stuff I need to publish my org files and I call that hourly, so my manager can see my current project status at pretty much any time with no manual steps on my part:

(defun pmg-org-publish ()
  (org-export-overviews-for "")

(run-at-time "00:45" 3600 'pmg-org-publish)

All I need to do is periodically update as I add or complete projects, and the rest of my work is done, as it normally is, in the project files. Thanks, Org Mode!

Fri, 07 Oct 2011

Why are there so many Dolfield Roads?

A question that perturbed me when I lived in Owings Mills was why there were so many roads named "Dolfield". There are three different Dolfield Roads, one South Dolfield Road, and three Dolfield Boulevards. I finally got around to researching the question, and now I share the answer (to the degreee that I have one) with everyone.

This is a map of Dolfield Road, past and present:

The thick, dark blue line is where Dolfield Road once ran. At one point, it connected Painters Mill Road and Deer Park Road.

The thinner, light blue line shows where Dolfield Road, in all its parts, runs today. When Interstate 795 was built, Dolfield Road was cut in two, as happened to many roads during the construation of the Interstate system. At the same time, part of the eastern portion of Dolfield Road was diverted to make room for the ramps from Owings Mills Boulevard to Interstate 795. The section of Dolfield Road south of Owings Mills Boulevard was renamed South Dolfield Road, for reasons I cannot find.

At some point--I cannot tell when, exactly--the chunk of Dolfield Road that extends from present-day Red Run Boulevard to Pleasant Hill Road was closed, though I was unable to find out why. The small section between Red Run Boulevard and Interstate 795 now serves as an access road to a SHA facility, and the rest of the closed section has been turned into a hiking/biking trail (colored in light green on the map). Finally, the section of Dolfield Road just west of Pleasant Hill Road was realigned when Dolfield Boulevard was built.

Here's a map of Dolfield Boulevard:

At some point in the past, the county planned to build a road named Dolfield Boulevard that would connect Owings Mills New Town with the eastern area of Reisterstown, both areas that were slated for new development. The road was planned to have two lanes in each direction with a raised median dividing the road. The dark purple line on the above map shows where it was to have gone, as far as I can tell. I'm not sure whether the original plans included anything further north, though it might have made sense to connect it to Owings Mills Boulevard.

Unfortunately for the county, a number of people living in the proposed path of the new road put up sufficient objections that the project stalled. Portions along Reisterstown Road and Academy Avenue were built and, in both cases, partly divided and partly not--the light purple lines are the divided sections and the pink lines are the undivided sections. Furthermore, the southern end of Dolfield Boulevard was built without incident as part of the development of Owings Mills New Town, though part of Pleasant Hill Road was rechristened Dolfield Boulevard but left undivided.

From what I can tell, the county never entirely abandoned its plans for Dolfield Boulevard, but they seems to be shelved indefinitely. Separately from those plans, they are currently considering adding an interchange between Dolfield Boulevard and Interstate 795 (which would have been really convenient for me if it had been in place when I lived there).

So there are three sections of Dolfield Road (and a South Dolfield Road) because Interstate 795 and other factors caused a former road to be split into pieces, and there are three sections of Dolfield Boulevard because that's as far as the county has gotten on the plans for a new road. This ends today's episode of "I'm a geek and will research anything that catches my fancy".

Wed, 21 Sep 2011

Knife Meme

This is a thing, apparently: "Take knife from pocket, post pic on the internet."

Myerchin Lightknife My main knife, and the one that best matches the intent of the meme, I think, is a Myerchin Lightknife L377P, which they apparently don't sell anymore. It's a very nice, light, compact knife, with a multipurpose half-straight half-serrated blade; a marlinspike, which is useful for knot- and ropework; and a small red LED, which is nice for seeing things without ruining your night vision. I use the marlinspike a lot less these days, because I don't do as much decorative knotwork, but it's still occasionally useful.

The knife was a Christmas gift from my dad and stepmother a number of years ago. (Possibly 2004 or so.) I'd been thinking about replacing my at-the-time pocket knife, something from Spyderco, with a lighter, more compact knife, when I read a Cool Tools review of the Myerchin L377P. It sounded like it would do everything I wanted and more, so I made a Christmas request and then got what I asked for.

Brookstone Credit Card Multi-tool The Myerchin isn't the only knife that meets the letter of the meme's wording, though. I also have a credit-card-shaped multitool from Brookstone in my wallet. I use it mostly for its tweezers, but its pen, needle, scissors, and knife blade are also occasionally useful.

Victorinox CyberTool A knife I also usually have on me is my Victorinox Swiss Army CyberTool. Technically, it lives in my laptop bag, not my pocket, but I usually have the bag with me. It's very useful for dealing with all sorts of small-scale hardware, because it's got the screwdriver with interchangeable phillips, flat, and torx bits, plus the small pliers (which also include a wire cutter).

This was a birthday gift from my parents back in 2000 or so. It replaced my previous everyday knife, a Swiss Army Automobile Special, which had also been a birthday gift from my parents. Victorinox had just come out with the CyberTool and I'd been working for a couple of years in a hardware and software tech support position, so I let my parents know I was really interested in the new knife. More than ten years later, it's still serving me well.

CRKT Rollock The last knife that I usually have on me (also in my laptop bag) is a Columbia River Knife & Tool Rollock, which doesn't appear to be for sale anymore. It's got an interesting opening mechanism; instead of unfolding, the blade flips up a little and slides out of the body, locking into place at its fullest extent. It's mostly in my laptop bag because it's very slim, so it doesn't take up much extra room and it's handy if I've forgotten my Myerchin somewhere. Because it's got a completely straight blade, it's less of a pain to sharpen than the Myerchin, so it's usually the sharpest knife I have on me, which sometimes means I use it instead of the Myerchin even if I have both with me.

This one was a gift from my youngest sister at her wedding as thanks for being a groomsman and playing trumpet in the wedding.

Phil! Gold