Cuil is a new search engine from some ex-Google guys who claim that it “searches more pages on the Web than anyone else — three times as many as Google and ten times as many as Microsoft.” Whatever that means.
I think the bigger story here is Cuil’s privacy policy:
[W]hen you search with Cuil, we do not collect any personally identifiable information, period. We have no idea who sends queries: not by name, not by IP address, and not by cookies (more on this later). Your search history is your business, not ours.
This alone is reason enough for me to give the startup a fair shake, provided it produces decent results; given that it puts this site first for blanton, I’m inclined to think they’re doing something right. ;)
Next step for the company: a new name.
Adobe releases Lightroom v2.0.
The world’s best photo-management software just got better. A lot better. If you’re at least semi-serious about photography, and Lightroom isn’t already integrated into at least some part of your post-processing workflow, then, well, you’re probably not semi-serious about photography. ;)
Gmail finally gets persistent encryption.
If you choose the new “always use https” option on the settings page, Gmail will force https, even if you try to load the http page; this should have been the default behavior of the service from day one.
I was heretofore forcing https through a homegrown Greasemonkey script that simply replaced the non-secure URI with the secure one.
Why are modern sneakers so ugly?
I’ve been asking the same question for years. Unless you want to look like you’re about to take the next flight to the Moon, or bike the Tour de France, you’re pretty much out of luck. Such is the reason I’ve stuck with the New Balance M992 for so long; if you count its direct predecessor, the M991, I’m on my 7th pair.
I’d like to abolish the insidious terms Darwinism, Darwinist and Darwinian. They suggest a false narrowness to the field of modern evolutionary biology, as though it was the brainchild of a single person 150 years ago, rather than a vast, complex and evolving subject to which many other great figures have contributed. (The science would be in a sorry state if one man 150 years ago had, in fact, discovered everything there was to say.) Obsessively focusing on Darwin, perpetually asking whether he was right about this or that, implies that the discovery of something he didn’t think of or know about somehow undermines or threatens the whole enterprise of evolutionary biology today.
Slydial is a “voice messaging service that connects you directly to someone’s mobile voicemail,” no matter their mobile carrier, or yours.
I can totally see myself using this service a lot, and while it is “free,” I think I actually might opt for the $0.15/message plan to get around the short, pre-message audio ad. (Nevermind that I probably shouldn’t announce this publicly).
Use Dropbox to sync MarsEdit across multiple machines
As great as MarsEdit is (and it is great), it doesn’t yet let me sync drafts across multiple machines. With respect to WordPress (and some other CMSs), MarsEdit does allow you to save your posts as drafts on your web server; however, I have a general aversion to this because it requires that I remember to update the timestamp of the post (to the current date/time) when I actually publish it, and also causes the post IDs to stray from date-order (I know, I’m anal).
A couple of months ago a friend mentioned Dropbox (currently in private beta) in passing, and immediately I wondered if I could use such a service to do what I needed with respect to MarsEdit (and OmniFocus; see below). Turns out I could.
MarsEdit
To get Dropbox to play nice with MarsEdit you have to use symbolic links (because, as far as I know, MarsEdit doesn’t let you specify where you want to store your drafts and other data), and Dropbox will sync only what you drop into the Dropbox folder. The trick to using symbolic links in this scenario is two-fold: 1) you must make sure your usernames on each machine are the same; and 2) you must time correctly the creation of the symlinks on each machine.
Usernames
Regarding the first point, it must be understood that when you use the “ln” command to create a link, it resolves the tilde so that the path to the linked-to file contains your username (i.e., ~/Dropbox → /path/to/username/Dropbox). In light of this, the usernames on every “syncing” machine must match up, else the last machine to talk to the Dropbox folder will overwrite the symlink to point to the username on its machine; this obviously will break the symlink on the other machine because it will then point to a path that does not exist on that machine.
Dueling symlinks
Even if each instance of MarsEdit is being run under the same username, you still may run into some problems (but these can be remedied; keep reading). When I first set out to get sync working, I saw some funky behavior. For example, I’d create the symlink on machine one, run a couple of tests on machine one to make sure it was working, and then run some tests on machine two (which immediately showed the symlink in its Dropbox folder, as it should).
At some point during this process, the symlink on machine one would break, and the LocalDrafts folder (the MarsEdit folder I was trying to sync) would be copied into the Dropbox folder and the symlink removed entirely. You can appreciate the problem: both machines were now synced, but MarsEdit could no longer see the synced folder because it existed outside of the hard-coded directory used by the application.
To get around this, I thought to create the symlinks on both machines semi-simultaneously, in the hope that some contention rule would let them stand on their own (i.e., machine one wouldn’t ‘cause’ the symlink to be created on machine two, and therefore wouldn’t set into motion the problem just described).
Well, my hunch was correct — creating the symlinks at the same time does the trick. Over the last couple of months I’ve had zero problems with the setup; the symlinks on both machines have persisted without issue.
Finally, the actual solution
Remember that Dropbox syncs only what’s in its folder, and so the symbolic link must be placed there. To do this, simply navigate, on every machine you want synced, to ~/Dropbox/, and execute the following command (simultaneously on all machines):
ln -s ~/Library/Application Support/MarsEdit/LocalDrafts marsdrafts
That’s it. Realize that “marsdrafts” is the new directory entry that will be created; you can name this whatever you want. Keep in mind that if you have MarsEdit open on two machines simultaneously, and make changes to a draft on machine one, those changes may not show up on machine two until you restart MarsEdit on machine two (which will cause the application to re-read the LocalDrafts folder).
OmniFocus
OmniFocus lets you specify where you want to store your database file, and so it’s trivial to get it working with Dropbox (i.e., simply tell OmniFocus to store the database file in the Dropbox folder).
However, there is one caveat. You’re going to want to quit OmniFocus on machine one before firing it up on machine two, else you’ll likely run into the file being locked by one instance of the application, which can result in some weird (and maybe fatal?) contention issues.
I note that this method, and the issues that come with it, have been obviated by the sync-capable OmniFocus v1.1 (currently in pre-release). While on the topic, and despite my grumblings about the price, OmniFocus for the iPhone is very nice.
Other applications
These methods obviously may work with any other application you’d like to sync across multiple machines. However, you should remain cognizant that certain applications may have read/write mechanisms that preclude these particular approaches; as ever, backup your data before experimenting.
YouTomb is a “research project by MIT Free Culture that tracks videos taken down from YouTube for alleged copyright violation.”
Byline is a Google Reader client for the iPhone. The app looks nice enough, but unfortunately it offers zero granularity with respect to choosing what you want to read (i.e., your only option is “new”). No thanks.
Relatedly, Google Reader’s “web app” for the iPhone is fantastic; I’m half-convinced that most of the people still clinging to NetNewsWire haven’t given Google Reader a fair shake, and at this point, likely never will. The brilliance of the web app notwithstanding, why hasn’t Google come out with native iPhone apps for Google Reader and Gmail?
While on the topic of feed readers, Shaun, why am I not beta-testing this? ;)
Wall·E
It’s no secret that I have a somewhat anti-utopian (as opposed to dystopian) view of the future (and present!) of mankind (“Oh, hello there AI. Please don’t kill me!”), and on the whole, generally prefer my movies sad, and my music sadder. To that end, the first half of Wall·E really delivered.
How could you not be moved by the drab, post-human, almost post-robot Earth? Talk about being simultaneously harrowing and beautiful: the melancholic color palette, the dutiful robot carrying on with its “directives” even though there is no one left on Earth to appease, the non-dialogue, the re-packaging of consumer detritus — man’s legacy — into skyscrapers, the “non-junk” saved and savored by Wall·E, and his painful-to-watch attempt at piecing together the human condition and connecting with the past that built him.
You kind of forget that Wall·E is a robot, much less a cartoon robot. Brilliant.
Ah, a perfect beginning to what could have a been a near-perfect movie, but which eventually transmogrified into something else entirely, something packaged and predictable, something happy.
I get it — everything has to work out in the end. For the kids. But, it all felt a bit manufactured and forced to me, and ultimately the ending completely belied the beginning. Or, by the grace of some cosmic, ironic redemption, the whole thing came full circle. Who knows.
Pixar’s ability to consistently deliver movies — over and over and over again — that appeal to every age, is something that puts it in an untouchable class of its own; at the same time though, that versatility continually demands it sacrifice honesty for marketability, and (especially in Wall·E) vision for profit.
There is no doubt that the pre-watch hype surrounding this movie (“OMG! Greatest movie ever!!!”) had a role in it not living up to my admittedly impossible expectations, but such influences notwithstanding, I still came away from it slightly underwhelmed. Don’t get me wrong, I enjoyed the majority of it, but something definitely was missing.
It’s a smart, emotional movie, and I will no doubt watch it again many times over; I just wish the second half was a bit more like the first, the messages not so strained, and the ending slightly less optimistic.
If I’m being completely honest, I found the similarities to Johnny 5 a teensy bit grating. After all, I’m a robot-loving child of the ’80s (and, if memory serves, had the movie on both VHS and Beta) — how am I supposed to feel? ;)
[E]ven though WALL·E is just a futuristic trash compactor (the robot equivalent of a hungry goat), he’s still able to fall madly in love with Eve, a drone that looks like an iPod. Because his intelligent designers gave him the ability to express his emotions — he’s got those adorable binocular eyes — they also unwittingly gave him the ability to experience his emotions. That very Darwinian idea is at the heart of WALL·E.
Watching the “fish” flop around on the table is kind of creepy (but it’s a cool creepy).
MS Exchange email drafts on the iPhone
The iPhone’s built-in support for MS Exchange is great, and has worked for me without issue since setting it up yesterday. That said, there is one niggling nut I’d like to crack, if possible.
Let me start by saying that I’m pretty sure the problem isn’t on Apple’s end; I think it’s just how Exchange handles the situation, though I have no real experience with Exchange and can’t say for sure (please correct me if you know).
The issue is that when I save drafts of emails on a computer other than the iPhone, those drafts, while “available” on the iPhone, act like emails I’ve received (though they are devoid of sender information); given that copy/paste is still a pipe dream on the iPhone, the drafts are effectively useless (i.e., I can’t send them!).
There is a similar issue going the other way as well; that is, when I create a new email on the iPhone, and save it as a draft, that draft never appears on any of my other Exchange-aware machines. On the iPhone, a new “drafts” folder appears in the folder list (for those counting, there are now two folders named “drafts”), but I don’t think that folder talks to Exchange (i.e., it’s the local-only drafts mechanism built into the iPhone Mail app).
So, the question is this: how can I get the iPhone Mail app to treat Exchange-created drafts as drafts?
Prototype of Nike shoes from Back to the Future II (available on eBay).
Note that this is an actual working model of the Nike “Mag” kicks from the movie, not the just-released Marty McFly Hyperdunks. If you’re having trouble remembering what these shoes were all about (and you’re not, because you wanted them at some point), check out this quick video.
Google has open sourced Google Browser Sync.
Awesome! This is potentially great news, especially in light of the semi-disappointment that is Weave v0.2.
Thumber is a Mac OS X app that creates Cinema Redux photos.
A few months back I actually bought Brendan Dawes’ Cinema Redux print of 2001: A Space Odyssey; it’s currently hanging in my office. I love it.
The previews we’ve seen over the past few months leave no room for doubt that the iPhone is an extremely capable gaming device and that we will see some very solid titles available on launch day. Given this, we thought it a particularly good time to have a look at just what makes the iPhone thusly capable.
Weave v0.2 and tab synchronization
A couple of weeks ago I published a piece regarding the death of Google Browser Sync, and its heir presumptive, Weave, which at the time, did not yet support the feature I care most about, namely session restoration across multiple machines. Not long after pushing that piece into the ether, a few people emailed me to let me know that a tab-syncing version of Weave would be released on June 20th; though the release date slipped a bit, v0.2 was made available a few days ago, tab synchronization intact. Well, kind of.
Since the release, I’ve been testing the tab-syncing functionality, and unfortunately, I have to say it hasn’t worked too well. There have been times when it has presented to me tabs from machine one that weren’t currently open on machine two, but this behavior — the intended behavior — is sporadic at best.
The following is my attempt to sum up what I’ve experienced over the last couple of days (please forgive me the bullets), after which I’ll describe what I think is wrong with the implementation (even assuming it worked perfectly).
- When I quit Firefox, the browser window(s) falls away and a small “Syncing with Weave…” window appears. This never finishes; in fact, I’m not sure it transfers anything to, or receives anything from the server. I inevitably have to kill the Firefox process.
- It seems that every other time I’m made to kill the Firefox process, Weave, upon a relaunch of the browser, has forgotten who the hell I am and I’m required to run through the entire “initial synchronization” process again.
- After the first click, clicking on the indicator that tells me there are “unsynced” tabs generally shows me nothing but a completely blank window.
- Of all the tabs I’ve had open, Weave seems to get confused by Gmail and Google Reader; it never thinks they’re synced up, and consequently never stops presenting them to me as “new” (on both machines). I’m assuming this has something to do with their shifting titles/URIs.
- Syncing sometimes takes forever and frequently stalls. Perhaps this can be attributed to the WebDAV server that we are all currently required to use (eventually, we’ll be able to sync to a WebDAV server of our choice).
- There seems to be some delay between when a new tab is opened and when it is actually synced. For example, if I open a new tab on machine one, manually sync machine one, and then manually sync machine two, machine two will not immediately show me the new tab. It may see it eventually, but it is by no means instantaneous.
I haven’t yet had occasion to pore over Weave’s activity log (I will this weekend), but I suspect it might shed some light on at least some of the issues I’ve encountered.
Implementation (and how it should be changed)
It’s called tab synchronization, which, in my mind, means it should be as automated as possible. As it stands, users have to consciously look for, of all things, a yellow triangle with an exclamation point in the middle. Yeah, a hazard symbol. Huh?
Assuming you notice this little “warning” in your status bar, you then have to click on it, which will [hopefully] present to you the tabs on your other machine(s) which aren’t currently open on the machine from which you’re clicking. Finally, you have to read through a list of page titles and check a box next to those pages you want to open. What is worse, there is no way to select all of them at once, and presumably that’s exactly what you want to do (I mean, you’re syncing, right?).
In my opinion, tab synchronization should work like so:
- Use the browser on machine one.
- Use the browser on machine two.
That’s it. I should never have to think about synchronization. When I open/close a tab on machine one, machine two should open/close that tab in the next sync cycle. I don’t need to interact with those processes other than to set them in motion by using the browser.
To the Weave team
Thank you. Please don’t confuse my comments with inappreciation or some sense of entitlement. Quite the opposite — I know how hard this stuff is, and recognize the nascency of the project. At the end of the day, I just want to see this thing reach its potential, which, I realize, goes far, far beyond tab synchronization.
[L]et’s assume that this mythology is true and, within about 25 years, computers will exceed human intelligence and rapidly bootstrap themselves to godlike status. At that point, they will aid us (or run roughshod over us) to transform the Earth into a paradise.
Here’s the problem: 25 years is too late. The newest business-as-usual climate scenarios look increasingly dire. If we haven’t solved our problems within the next decade, even these theoretical godlike AIs aren’t going to be able to help us. Thermodynamics is thermodynamics, and no amount of godlike thinking can reverse the irreversible.
The element gallium is in very short supply and the world may well run out of it in just a few years. Indium is threatened too, says Armin Reller, a materials chemist at Germany’s University of Augsburg. He estimates that our planet’s stock of indium will last no more than another decade. All the hafnium will be gone by 2017 also, and another twenty years will see the extinction of zinc. Even copper is an endangered item, since worldwide demand for it is likely to exceed available supplies by the end of the present century.
Running out of oil, yes. We’ve all been concerned about that for many years and everyone anticipates a time when the world’s underground petroleum reserves will have been pumped dry. But oil is just an organic substance that was created by natural biological processes; we know that we have a lot of it, but we’re using it up very rapidly, no more is being created, and someday it’ll be gone. The disappearance of elements, though—that’s a different matter.
[...]
But we can’t exactly set up a reservation somewhere where the supply of gallium and hafnium can quietly replenish itself. And once the scientists have started talking about our chances of running out of copper, we know that the future is rapidly moving in on us and big changes lie ahead.
The previous post explained how computers boot up right up to the point where the boot loader, after stuffing the kernel image into memory, is about to jump into the kernel entry point. This last post about booting takes a look at the guts of the kernel to see how an operating system starts life.
Booting is an involved, hacky, multi-stage affair — fun stuff. Here’s an outline of the process.
Google has been developing a new algorithm for indexing textual content in Flash files of all kinds, from Flash menus, buttons and banners, to self-contained Flash websites.
[…]
In the past, web designers faced challenges if they chose to develop a site in Flash because the content they included was not indexable by search engines.
Dear online stores, while this little development may make your Flash-only sites more visible to search engines, it’s not going to help you push product. I can’t tell you how many times I’ve gone to a Flash-only site, clicked around a bit, found something interesting that I wanted to share, and been unable to share it because there was no URI to that particular “page.”
If a referral from me to your product requires steps similar to those found below, then consider it a lost sale because I’m not making the referral:
- Go to the index page.
- Wait until [insert description of useless animation] runs its course. Yeah, I know it’s annoying, but isn’t it cute!?
- Click the glowing red orb.
- Click the text in the bottom right that says “Products.”
- Wait 30-60 seconds (depending on your Internet speed) for the slideshow to load.
- Rollover the slideshow and move the mouse to the right.
- Click the picture of the Holy Grail (it was the fourth picture when I did it the first time, but its position seems to change depending on the fullness of the moon).
UPS and the art of sorting nearly a million packages a day.
During the course of moving off the 90 aircraft they’ve come in on and are immediately heading back out on, each of those 800,000 to 900,000 packages [winding their way through Worldport, UPS' air-distribution facility,] are touched by human hands just twice, once at each end. [The facility] can handle as many as 416,000 packages an hour.
[...]
[Worldport] has 30,500 conveyor belts that comprise 170 total miles of belts. There are 326 different positions for unloading packages and 1,480 for loading. And there are 8,372 tilt trays sorters, each of which delivers a package into the hands of the person who will ultimately place it into the bin that will then be put onto an airplane.