Phil! Gold :: Geekery

Tue, 28 Aug 2018

RampingIOS V3 Manual

The Emisar D4S flashlights use a firmware named RampingIOS
V3. (The Emisar D4, D1, and D1S
all use RampingIOS V2.) There's not really a manual; the
only thing we get is the diagram on the right. It's reasonably
comprehensive, but there's a fair amount of detail it merely summarizes,
so I thought a textual manual would be nice.

The Emisar D4S only works when the head and tailcap are tightened fully.
You can physically lock it out--prevent it from turning on
accidentally--by simply loosening the tailcap a small amount. A quarter
turn will do it.

Emisar lights are known for their ramping interfaces. Rather than have a
small number of distinct brightness levels, they can vary their brightness
anywhere between their lowest and highest levels, like a light on a
dimmer. The D4S is in ramping mode by default, but it also has a stepped
mode that can be configured to be closer to how non-ramping lights work.

Each mode--ramping and stepped--can have differently-configured brightness
floors and ceilings.

The driver for the D4S has two different chipsets. At low brightness
levels, a fairly-efficient but low-power chipset (called a 7135) is
used. These lowest brightness levels are called the "regulated levels".
Each regulated level will always be the same brightness regardless of how
much charge the battery has. Above a particular brightness level, the
light switches over to a less-efficient but high-power chipset (called a
FET). These levels are called "direct-drive". The brightness of the
direct-drive levels is directly related to the battery's charge level; the
more charged the battery, the brighter the levels. The light is at its
most efficient, in terms of power used for every lumen generated, at the
brightest regulated level. When the light is first powered by tightening
the tailcap, it will default to this level.

At higher brightness levels, the light's LEDs generate a lot of heat. If
the light exceeds its configured maximum temperature, it will begin
dimming itself automatically until the temperature drops below the allowed
maximum.

The D4S has a set of cyan-colored auxiliary LEDs that can be on when the
main LEDs are off. You can configure the behavior of the aux LEDs.

Basic Usage

The default mode for the light is ramping mode. Triple-pressing the
button (3 clicks) while the light is on will toggle between ramping
and stepped mode.

While the light is off, press and release the button (1 click) to turn
it on. It will turn on at the last-used brightness level. (This is
called "mode memory".) Immediately after loosening and tightening the
tailcap (or after changing the battery), the memorized level will be the
light's max regulated level.

When the light is on, 1 click will turn it off. The current brightness
level will be memorized for future use. There's a fraction of a second
delay between pressing the button and the light actually turning off.
That's because of the way the light processes input; it's waiting to make
sure you're only going to press the button once (since multiple presses
will trigger other actions).

When the light is on, holding the button down will brighten the light. In
ramping mode, the brightness will increase gradually ("ramping up"). In
stepped mode, the light will jump through increasing brightness levels.
If you press, release, and then hold the button, it will begin dimming.
In ramping mode, the brightness will decrease gradually ("ramping
down"). In stepped mode, the light will jump through decreasing
brightness levels. While the light is changing, if you release the button
and immediately hold it again, the direction (dimming or brightening) will
switch.

In ramping mode, while the light is ramping, it'll briefly blink off and
on again at two different brightness levels: the maximum regulated level
and the brightness ceiling.

While the light is off, double-pressing the button (2 clicks) will
immediately jump to the brightness ceiling.

While the light is on, 2 clicks will jump to the maximum brightness
level, regardless of the configured brightness ceiling. Another two
clicks will go back to the previous brightness level.

While the light is off, if you hold the button the light will turn on at
its lowest level. If you continue holding the button, the light will
begin brightening from there.

Configuration Menus

The light has several different configuration modes. Each of those modes
works more or less the same way. The mode will have a series of menu
items that it will go through. For each menu item, the light will first
blink a number of times corresponding to the item number (first, second,
etc.) After that, the light will begin fluttering on and off fairly
quickly. While the light is fluttering, you can click the button a number
of times; the light will count the number of button presses and use that
number as its new configuration for that menu item. After a short period
of time, the fluttering will stop and the light will move on to the next
menu item. After the light has gone through all of the menu items, it
will return to whatever mode it was in before entering the configuration
mode.

If you don't press the button during a particular menu item's fluttering,
that item will remain unchanged.

Configuring the Basic Modes

While the light is on, 4 clicks will enter ramping or stepped
configuration mode, depending on which mode the light was in before the 4
clicks.

For ramping mode, there are two menu options:

Brightness floor (default 1/150)

Brightness ceiling (default 150/150)

During the floor configuration, press the button equal to the number of
ramping levels (out of 150) at which the floor should be. To set the
lowest possible floor, click the button once.

The ceiling is configured similarly, but you press the button equal to the
number of steps away from maximum brightness. To set the highest possible
ceiling (at max brightness), click the button once.

For stepped mode, there are three menu options:

Brightness floor (default 20/150)

Brightness ceiling (default 120/150)

Number of steps (default 7)

Other Modes

The other modes largely involve multiple clicks from off. Most of them
are not generally needed for everyday use, but they supplement the light's
basic operations.

BattCheck/TempCheck Modes

From off, 3 clicks will enter "BattCheck" mode, which blinks out the
current battery voltage. First it blinks the number of volts, then it
pauses, then it blinks out the tenths of volts. Thus, if the battery were
at 3.5 volts, the light would blink three times, pause, then five times.
For zeroes, it gives a very short blink.

A fully-charged lithium-ion battery is 4.2 volts. The light considers 2.8
volts to be an empty battery and won't turn on if the battery is at or
below 2.8 volts.

The voltage sequence will continue blinking until you turn off the light
with a single click.

While the light is in BattCheck mode, 2 clicks will enter TempCheck
mode. Instead of blinking out the battery voltage, the light will start
blinking out its current temperature in degrees Celsius, first the tens
digit then the units digit. Like BattCheck mode, the light will continue
blinking out the temperature until you turn it off with a single click.

While the light is in TempCheck mode, 4 clicks will enter thermal
configuration mode. See the thermal configuration mode documentation
below for how that works.

Tactical Mode

From off, 4 clicks will enter "tactical" or "momentary" mode. The
light will flash once to show that it's entered the mode. The auxiliary
LEDs will turn off (if they were on). In tactical mode, the light will
turn on at its memorized brightness for as long as the button is being
held down. It will turn off as soon as the button is released.

There's no button press combination that will exit tactical mode. To exit
it, you will have to partially unscrew and retighten the tailcap.

Lockout Mode

From off, 6 clicks will enter lockout mode. The light will flash
twice to show that it's entered the mode. There's a separate aux LED mode
for lockout mode, so you can tell whether the light is in lockout or not.

In lockout mode, pressing the button will turn on the light at its lowest
brightness ("moonlight mode") for as long as the button is held down.

Another 6 clicks will exit lockout mode. The light will flash twice to
show that it's left the mode.

While in lockout mode, 3 clicks will cycle through the various
settings for the aux LEDs in lockout mode. The four modes are, in order:
low, high, blink (on high), and off. The default mode is blink.

Remember that loosening the tailcap a quarter turn will also lock out the
light. Using the 6 clicks is called "electronic lockout", while turning
the tailcap is "physical lockout".

Aux LED Configuration

From off, 7 clicks will cycle to the next aux LED mode. The four
modes are, in order: low, high, blink (on high), and off. The default
mode is low.

Beacon Mode

From off, 8 clicks will enter beacon mode. In beacon mode, the light
will blink on and off every few seconds.

By default, the light will blink every two seconds. To change the timing,
use 4 clicks while in beacon mode. The light will enter a one-item
menu. During the flickering for input, press the button a number of times
equal to the number of seconds between blinks.

1 click will exit beacon mode.

Thermal Configuration Mode

From off, 10 clicks will enter thermal configuration mode.

The menu items here are:

Current temperature (every click is one degree Celsius)

Temperature ceiling (every click is one degree above 30°C)

The "current temperature" item can be used to adjust the calibration of
the light's temperature sensor. To use it, make sure the light has been
off long enough that all of its components have cooled (or warmed) to the
ambient temperature. Check the ambient temperature using a thermometer
you trust. Go to thermal configuration mode, and enter the current
temperature by clicking the button a number of times equal to the
temperature in degrees Celsius. (If it's 22°C, click the button 22
times.)

You can check the default calibration by entering TempCheck mode from a
room-temperature light. The D4Ss are supposed to go through a temperature
calibration at the factory, so hopefully most of them won't need manual
thermal calibration.

The temperature ceiling is simply the highest temperature the light should
be allowed to reach. Once it hits its temperature ceiling, it will
progressively dim itself until the temperature stabilizes below the
ceiling. Note that the number of clicks in that menu option is added to
30 to reach the actual ceiling. (Thus, you can't set a ceiling below
31°C.) The maximum allowed ceiling is 70°C.

The default temperature ceiling is 45°C.

Sun, 26 Aug 2018

RampingIOS V2 Manual

The Emisar D4, D1, and D1S
flashlights all use a firmware named RampingIOS V2. (The earliest D4s
were released with V1, but there aren't many of those around. The Emisar
D4S uses RampingIOS V3.) There's not
really a manual; the only thing we get is the diagram on the right. It's
pretty comprehensive, but I thought a textual manual would be nice, so I
decided to write one.

The Emisar lights only work when the head and tailcap are tightened fully.
You can physically lock out the lights--prevent them from turning on
accidentally--by simply loosening the tailcap a small amount. A quarter
turn will do it.

The lights use a ramping interface. Rather than have a small number of
distinct brightness levels, they can vary their brightness anywhere
between their lowest and highest levels, like a light on a dimmer.

The drivers for the lights have two different chipsets. At low brightness
levels, a fairly-efficient but low-power chipset (called a 7135) is
used. These lowest brightness levels are called the "regulated levels".
Each regulated level will always be the same brightness regardless of how
much charge the battery has. Above a particular brightness level, the
light switches over to a less-efficient but high-power chipset (called a
FET). These levels are called "direct-drive". The brightness of the
direct-drive levels is directly related to the battery's charge level; the
more charged the battery, the brighter the levels. The lights are at
their most efficient, in terms of power used for every lumen generated, at
the brightest regulated level. When the light is first powered by
tightening the tailcap, it will default to this level.

At higher brightness levels, the lights' LEDs generate a lot of heat. If
a light exceeds its configured maximum temperature, it will begin dimming
itself automatically until the temperature drops below the allowed
maximum.

Basic Usage

While the light is off, press and release the button (1 click) to turn
it on. It will turn on at the last-used brightness level. (This is
called "mode memory".) Immediately after loosening and tightening the
tailcap (or after changing the battery), the default level will be the
light's max regulated level.

When the light is on, 1 click will turn it off. The current brightness
level will be memorized for future use.

When the light is on, holding the button down with gradually brighten the
light ("ramping up"). If you release the button and immediately hold it
again, the ramping direction will switch, so if it had been ramping up
it'll be dimming ("ramping down") afterward.

While the light is ramping, it'll briefly blink off and on again at three
different brightness levels: the minimum brightness, the maximum
brightness, and the maximum regulated level.

While the light is either on or off, double-pressing the button (2
clicks) will immediately jump to the maximum brightness level. Another
two clicks will go back to the previous brightness level. If the light
was off before the the initial two clicks, the second two clicks will go
to the memorized brightness level.

While the light is off, if you hold the button the light will turn on at
its lowest level. If you continue holding the button, the light will
begin ramping up.

Other Modes

The other modes largely involve multiple clicks from off. They're not
generally needed for everyday use, but they supplement the light's basic
operations.

BattCheck/TempCheck Modes

From off, 3 clicks will enter "BattCheck" mode, which gives the
battery level. It blinks out the current battery voltage. First it
blinks the number of volts, then it pauses, then it blinks out the tenths
of volts. Thus, if the battery were at 3.5 volts, the light would blink
three times, pause, then five times. For zeroes, it gives a very short
blink.

A fully-charged lithium-ion battery is 4.2 volts. The light considers 2.8
volts to be an empty battery and won't turn on if the battery is at or
below 2.8 volts.

The voltage sequence will continue blinking until you turn off the light
with a single click.

While the light is in BattCheck mode, 2 clicks will enter TempCheck
mode. Instead of blinking out the battery voltage, the light will start
blinking out its current temperature in degrees Celsius, first the tens
digit then the units digit. Like BattCheck mode, the light will continue
blinking out the temperature until you turn it off with a single click.

Tactical Mode

From off, 4 clicks will enter "tactical" or "momentary" mode. The
light will flash four times to show that it's entered the mode. In
tactical mode, the light will turn on at maximum brightness for as long as
the button is being held down. It will turn off as soon as the button is
released.

Another 4 clicks will exit tactical mode. The light will flash twice to
show that it's left the mode.

Lockout Mode

From off, 6 clicks will enter lockout mode. The light will flash four
times to show that it's entered the mode. In lockout mode, the light will
not turn on, no matter how the button is pressed.

Another 6 clicks will exit lockout mode. The light will flash twice to
show that it's left the mode.

Remember that loosening the tailcap a quarter turn will also lock out the
light. Using the 6 clicks is called "electronic lockout", while turning
the tailcap is "physical lockout".

Beacon Mode

From off, 8 clicks will enter beacon mode. In beacon mode, the light
will blink on and off every two and a half seconds.

1 click will exit beacon mode.

Thermal Configuration Mode

From off, 10 or more clicks followed by holding down the button will
enter thermal configuration mode.

In thermal config mode, the light will first blink out the current maximum
temperature. As with TempCheck mode, it blinks the tens digit followed by
the units digit. If you release the button at this point, the light will
turn off and no changes to the configuration will be made.

If you continue to hold the button, the light will then flicker for a
second or so. After that, it will turn on at its maximum brightness. It
won't turn off until you release the button, which you should do when you
feel like the light has gotten too hot. The temperature at that point
will be the new maximum temperature. The light will blink out that new
maximum temperature and then turn off.

The default temperature threshold is 45°C.

Thu, 14 Dec 2017

Podcasts

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.

News

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.

Schedule: Every hour, but you (obviously) only ever need the most
recent episode.

Playback: 1x because it's short.

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.

Schedule: Every weekday, posted by 6am Eastern time.

Playback: 1x because it's relatively short.

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.)

Schedule: Somewhat ad-hoc; it depends on what reporting WAMU has done
on a given day. In general, there are three to five short episodes
every weekday.

Playback: 1.5x.

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.

1A

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.

Schedule: One 30-minute episode every weekday, distilled from the two
shows that aired that day. There's often a bonus episode on the
weekend taken from one of the week's episodes that didn't get put into
its day's podcast.

Playback: 1.5x, on general time principles, but Joshua also speaks a
little slowly and speeding him up helps.

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.

Schedule: Weekly. One hour-long episode every Friday.

Playback: 1.5x. Diane Rehm was the reason I started speeding up
podcasts in the first place. She's an excellent host, but she talks
extremely slowly. (There are health reasons for some of that, but it
still makes it difficult to listen to her show sometimes.) Speeding
her up makes it a lot easier to get past the way she sounds and get
into the communication of ideas, where she excels.

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.

Schedule: There are currently five podcasts; each one is
published weekly on a different day of the week, so the all audio feed
gets a new episode every weekday.

Playback: 1.5x

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.

Schedule: Weekly. Episodes are recorded around noon on Mondays and
posted that afternoon. Sometimes they do "emergency podcasts" on other
days to discuss particularly interesting political news developments.

Playback: 1.5x

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

Schedule: Weekly plus. The hour-long radio show airs on Fridays, so
they post new shows to the podcast feed on Fridays, too. The podcast
also gets "podcast extras" every Wednesday.

Playback: 1x. Although it might not sound like it at first, the show
is very highly produced and edited. Each episode packs a lot more
content into each time period than most of the other podcasts I listen
to, so I leave this one at 1x playback.

Education

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.

Schedule: Weekly. One half-hour episode every Tuesday.

Playback: 1x. This show has high production values and it's worth
listening at regular playback speed.

Radiolab

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.

Schedule: They don't seem to have a hard and fast schedule these days.
They usually put out two to three episodes a month.

Playback: 1x. A lot of work goes into the show's production, and it
doesn't sound the same when sped up.

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.

Schedule: Every weekday. Most talks are 18 minutes or less.

Playback: 1x. A lot of the talks could probably be sped up without
issue, but the good ones usually have a rhythm and performace aspect to
them that is better appreciated at 1x, so that's where I leave the
entire feed.

What's the Point

What's the Pointwas 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.

Schedule: Ended. When it was active, it was weekly, with a new episode
every Friday.

Playback: 1.5x.

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.

Schedule: One to two hour-long episodes every month.

Playback: 1x. I think the performace aspects of the debate are better
expressed at normal playback speed.

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):

1.5V - These include the most common battery types in use,
including AAA, AA, C, and D.

3V - The most common 3V flashlight battery is the
CR123A. Many button cells (watch batteries) are also 3V, like the
common CR2032.

Lithium-Ion - This is a whole class of batteries that have
higher outputs and last longer than many other flashlight batteries,
but they require more care in handling. Lithium-ion flashlight
batteries usually have five-digit designations, like 18650 and 10440.

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:

Alkaline - The cheapest and most common. Not recommended unless
they're your only option. They're not rechargeable, so you have to
replace them every time you use them up. They lose their charge over
time, so if you leave them alone for a while, they might not even be
useful when you do pick them up. They tend to leak, which becomes more
likely the more they discharge (and remember, they lose charge even if
you're not using them). When they leak, they can destroy whatever
device they're in.

Nickel-metal Hydride (NiMH) - Rechargeable. People will often refer to
"Eneloops", a specific, well-regarded brand of NiMH batteries. Good
for frequently-used flashlights because you can reuse them rather than
buying new ones all the time. They also don't leak, so you don't run
the risk of damaging your devices. Standard NiMH batteries lose charge
much faster than alkaline batteries, but you can get "low self
discharge" NiMH batteries that only lose their charge slightly faster
than alkalines do. (Rough comparison: after a year without use or
charging, an alkaline battery will have 80-90% of its original charge,
an LSD NiMH will have 70-80%, and a regular NiMH will have 15-20%.)
Although alkalines usually claim more energy storage than NiMH on
paper, NiMH batteries tend to give longer runtimes in flashlights in
practice because of the way modern flashlights use electricity.

Lithium - Expensive, but long-lasting. Not rechargeable. These
typically cost three times or more what alkalines do. (So do NiMH
batteries, but those are rechargeable, so the cost is amortized over
many reuses.) They lose their charge more slowly than alkalines, they
can store more energy than alkalines or NiMH, and they don't leak.
Good for devices you want to leave alone for months or years at a time
and still work as soon as you pick them up again.

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.

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.

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.)

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:

18650 - The most ubiquitous size for lithium-ion flashlights, as well
as for a lot of other things (laptop batteries, smartphone power banks,
and so on). Because this is currently one of the most popular sizes in
industrial use, it's gotten the most research into making it
efficient. As of January 2018, no other shape matches the energy
density of the 18650. (e.g. a 26650 has twice the volume of a 18650,
but the best 26650 only has 1.5 times the energy of the best 18650.)

26650 - The 18650's larger sibling. Used by some flashlights to give
more runtime per battery.

18350 - Almost half the size of an 18650. A number of flashlights have
options for swappable longer and shorter battery compartments, so you
can decide on a daily basis whether to have a shorter light that uses
18350s or a longer light (with longer runtimes) that uses 18650s.

16340 - More or less the same size as a CR123A. There are used in
"RCR123A" batteries as described in the 3V section
above.

14500 - More or less the same size as a AA battery. Some flashlights
can use either AA or 14500 cells. Don't use a 14500 battery in a AA
light unless the flashlight manual says you can. If the flashlight
only expects 1.5V batteries, using a 4.2V 14500 can destroy the light
and possibly start a fire.

10440 - More or less the same size as a AAA battery. Some flashlights
can use either AAA or 10440 cells. Don't use a 10440 battery in a AAA
light unless the flashlight manual says you can. If the flashlight
only expects 1.5V batteries, using a 4.2V 10440 can destroy the light
and possibly start a fire.

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).

Protection

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.

Capacity

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):

16340 - 700mAh (see the note below about Efest)

18350 - 1200mAh

18650 - 3600mAh (but see the note below)

26650 - 5500mAh

(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.

Chargers

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

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.

Google Play: AirDroid - Android on Computer - Free. If
you create an AirDroid account, which is not required but makes some
things more convenient, you can get access to more features with the
account by paying a monthly or annual subscription fee.

Pushbullet

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).

CamScanner

Google Play: CamScanner -Phone PDF Creator -
Free, Ads, IAP. IAP is for a monthly or annual subscription that
removes ads and adds a number of features.

Google Play: CamScanner (License) - Paid.
Removes ads from the free app and unlocks some features, but not
everything that the subscription gives. (The subscription unlocks
everything the license does, though.)

Google Play: CamScanner HD - Scanner, Fax - Free.
I think this is the same as the basic CamScanner but with a tablet UI.
It doesn't seem to have the IAP subscription option, though.

Sleep as Android

Google Play: Sleep as Android - Free, Ads,
IAP. Functions fully for two weeks as a trial, then disables sleep
tracking on particular weekdays (though the other functionality
continues to work). IAP is an alternative to purchasing the unlocker
app.

IFTTT

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.)

Plex

AcDisplay

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.

RedReader

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.

Sunrise Calendar

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.

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

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

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

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

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.

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.)

ext[234]/HFS+

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 index.org so it becomes
index.html during publishing) looks something like this:

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.

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: