Neither is a clear win. Try both and see. I ended up using rainbow-identifiers. However, there were too many identifiers being colored, which meant there were too many colors, which meant I couldn't really distinguish things anymore. Here's what color-identifiers looks like:

You can see that color-identifiers picks out local variables and not all names. And rainbow-identifiers colors lots of things, but it misses the variable declaration, which is important to color. So I configured rainbow-identifiers to do this:

It's in between the default configuration of the two packages. I highlight declarations in bold, and in color. I highlight local variables. I highlight local fields (this.x). But I don't highlight all names. Here's my configuration:

I also turned off colors for the font-lock faces, and made font-lock-variable-name-face bold. I still think it may be too many colors, so I may end up turning off rainbow-identifiers and trying some of the things Wilfred Hughes has suggested.

We don't collect enough weather data from the atmosphere (or ocean). We also would like internet service everywhere on the planet. Let's solve both problems at once:

A 3D grid of tiny flying drones that collect temperature, humidity, wind from every location and elevation, and also serve as a mesh network ISP that provide internet access to everywhere on the planet.

A few weeks ago I posted how to make Mac OS Spotlight index source code. Mac OS is already indexing my C, C++, ObjC, Java, Fortran, Shell, Python, Perl, Ruby, Pascal, Ada, Javascript, and HTML files, but it doesn't get the other languages and text files I use. Here's the followup post.

Problem to solve: I want to search the contents of *.css and other text files with Spotlight.

In my previous blog post, I went into the Spotlight configuration file and told it to index certain file types like dyn.ah62d4rv4ge80e8drru, which I had determined was *.css. This wasn't satisfying. Instead of telling Spotlight, I wanted a solution at the Mac OS level.

A typical way to use Emacs is to open lots of files as buffers. In the default Emacs setup, the command to switch to a file depends on whether the file is open:

File

Non-file

Opened

C-x b

Not opened

C-x f

N/A

I don't want to have to remember whether a file is open. Instead, I want the command to depend on whether I'm switching to a file or a non-file. I also want to find files without having to switch folders first, because I work on lots of small projects in different folders. I use these bindings:

I use Safari's Reading List to transfer pages from my phone to my computer. But I don't really want to read these in Safari on my desktop. I'd rather read them in Firefox, maybe through Pinboard, which has an API to write items and mark them as "to read". This blog post documents what I learned.

Update: [2014-06-07] Deleting items out of the reading list does not work properly. It's ok to read everything out of there but I haven't figured out how to properly modify it. So I guess I need to delete things manually after I read them out.

Update: [2014-09-18] With iOS 8, I'm switching from Reading List to something else, maybe Pinner, to make this process easier.

I searched the web for some resources, and learned that the reading list, as well as other Safari bookmarks, are stored in ~/Library/Safari/Bookmarks.plist. I can use plutil and PlistBuddy to read and edit that file.

Second, I want colors chosen from L*a*b* color space because it makes the perceived brightness consistent across colors. It turns out color-identifiers mode already uses L*a*b* colors. In rainbow-identifiers mode, I configured it like this:

Pretty! You can change the color selection by changing the lightness and saturation constants. I'll try this for a while. Update: [2014-05-15] rainbow-identifiers 0.1.3 now has an option for using L*a*b* colors without needing the above code. Use (setq rainbow-identifiers-choose-face-function 'rainbow-identifiers-cie-l*a*b*-choose-face)

Edit: [2014-05-18] The original post was about rainbow-identifiers mode; I updated it to also show color-identifiers mode.

I'm a long time Emacs user. When using a Mac, I've been using the builds from emacsformacosx.com. After reading about the new features in 24.4, I tried the Emacs nightly builds, and was mostly happy with them, but I somehow messed up my Emacs package configuration in a way that I can't go back to Emacs 23.3. No big deal, right? So I waited for the 24.3.90 pretest to go back to a somewhat "stable" version, and that just came out last week.

The problem is that the emacs 24.3.90 pretest from emacsformacosx.com is triggering a runaway distnoted process on my system, and is also running rather slowly. There are some patches floating around there, but I'd have to build from source. I've also been curious about the Yamamoto Mitsuharu version of Emacs; see this list of features. If I'm going to build from source, I might as well try his version, right?

Many or perhaps all of the smells produced by your body are produced by the bacterial ecosystems living on and in you. Some of these smells are things we can detect; others we're unaware of. Certain strains of skin bacteria attract mosquitos. By altering the ecosystem on our skin, we can repel mosquitos. Cool!

With genetic engineering, we can do even more. We can replace the bacteria that turn sweat into unpleasant smells with bacteria that turn sweat into floral scents! No more deodorant!

Bioluminescent tattoos: using bioluminescent chemicals, your tattoos will glow or pulse, either all the time, or synchronized with a clock, or triggered by movement or light or sound. Imagine going to a dance club with this.

E-ink tattoos: with e-ink particles embedded in your skin, you'll be able to change the pattern by applying an external array of electric fields. You'll place the “printer” on your arm, apply a new pattern, and then it'll hold that pattern until you want to change it.

Biosensor tattoos: with e-ink particles attached to a layer of biosensor molecules, you'll be able to find out what's going on in your blood. You'll set up blocks that are sensitive to 50, 100, 150, 200 mg/dL of glucose, and then by seeing how many bars are “lit up”, you'll have a rough estimate of your blood sugar. You could do this for everything in your bloodstream.

I know there are lots of advanced technologies being developed for treating disease, but the same technologies could be used for non-disease applications. I wrote a little about this a few years ago. So I want to propose something that I think a lot of people would like:

Extra bladders

There are people working on 3d printed organs. Wouldn't it be cool to get a 3d printed bladder? Would you like to super-size that?

Even better, wouldn't it be cool if your supplemental bladder automatically ran tests on your urine, like these Japanese toilets do? The toilets developed in 2004 can measure glucose levels but I'm sure there are other tests that will be practical too. Plus, if it's done in your 3d printed bladder, it can be transmitted to your smartphone in real time over low energy bluetooth, like a Fitbit.