I’m pleased to present The Cartographer Clipper, the perfect accompaniment to The Cartographer!
The Clipper is a bookmarklet that works in any modern web browser, and lets you clip information from any website — hotel directories, restaurant websites, even forum postings — to Google My Maps. Addresses are auto-discovered via some super-sleuthing magic, images pulled out and any selected text is placed into the description.
You can save to an existing map, or create a new one on the spot.
It’s great for doing travel or errand research — find a good hostel (or just the closest Apple store!), just click the “Clipper” button, then “Save”, and it’ll appear on your maps in The Cartographer, all automatically.
It’s free for use, and all it needs is any modern web browser, and a Google account.
It’s still in beta, so do let me know if you have any trouble!Read More
Google App Engine is a fantastic platform for hosting webapps, and a great resource for iOS developers who need an online component to their products. It’s hard to believe that the service is essentially free! I’m using it with The Cartographer, but I found myself coming up against a hard limit with the datastore.
You see, the datastore limits entities to 1 Mb. I’m trying to store XML data in there, and sometimes that can exceed the 1 Mb limit.
XML being the verbose creature that it is compresses very nicely, so it occurred to me that if I selectively compress the larger blocks, I should be able to quite easily squeeze in underneath the limit. Sure enough, a 1.6 Mb XML block compressed into about 200 Kb.
App Engine makes it very easy to define custom properties on data models, so I’ve written a
CompressibleTextProperty class that automatically compresses/decompresses properties above a certain size. This means that there’s no performance loss for entities that are small enough to fit easily, but still enables the storage of bigger blocks of content.
The alternative was to break entities up into several different database entities, but this sounded like much more work, and sounded much less elegant.
So here’s what I came up with — it’s used the same way the other Property types are used.Read More
I’ve just implemented a way to import maps from Google Earth, which, like Google My Maps, allows you to create and edit groups of placemarks.
It’s pretty easy:
- Right-click on the group in Google Earth that you’d like to import (My Places to get everything)
- Click “Email”
- Address the email to [email protected]
- Wait a minute or two, and you’ll get an email back
- Tap the link, if you’re reading the email on your iPhone, and your new map will open straight up in The Cartograper. Otherwise, type the URL into The Cartographer’s “Add Online Map” feature, to load the map.
Side note: This also works with any old KML files you have lying around – just email them to [email protected].Read More
Links for February 25th through May 29th:
- Implementing iBooks page curling using a conical deformation algorithm Excellent summary of how to implement a convincing page turn animation in OpenGL
- Multiplottr.com — Plot, save and share multiple locations on your own customized maps. Batch plot multiple addresses
- gmaps.kaeding.name :: Plot multiple locations on Google Maps Enter addresses, one per line, to plot all entries on a map at once
- Free iPhone App Marketing — Online and iPhone Marketing Includes a useful list of review sites, blogs, etc.
If you’re running (or trying to run) Google Gears under Mac OS X and persistently receive this message:
A Google Gears update has been downloaded.
Please close all browser windows to complete the upgrade process.
— It’s a problem with locks that never get unlocked. I’m not sure how this happens, but it’s easily fixed:
- Open a Finder window
- Navigate to your temporary folder:
- Press Command-Shift-G
- Type in
- Navigate through folders to find the
-Tmp-folder. For me, this is located at
- Look for any files that look like
- Delete those files
- Start/Restart your web browser, and all should be fixed
Recently, AOL leaked 20 million search queries to the world (as covered in a NY Times article). It listed search queries alongside user numbers, which links search terms to individuals. Although no names are listed, it is often not difficult to determine (or at least narrow down) an individual’s identity, given their search history, as demonstrated in the above article.
The privacy ramifications here are extremely worrying. Web searching is something we all do, and for some of us, often reveals all kinds of intimate details about our lives. That this search history is recorded at all is, if I may say so, an abomination; but that this was carelessly leaked by AOL is very worrying. And yes, even Google record search queries (they’re just a little more careful with it).
The appeal to government and ‘law enforcement’ groups is obvious, which makes this even more dangerous. While Google resisted the Justice Department’s subpoena, the other search engine’s capitulated.
Particularly worrisome is the international nature of many of these search engines, with data centres located outside regions that are protected by various privacy laws. Only recently, Yahoo cooperated with the Chinese government in revealing the identity of a Chinese journalist who had distributed a warning from the Chinese government about the reporting on sensitive local issues; the journalist is now serving a 10 year prison sentence.
Yahoo was forced by the local laws to cooperate with the Chinese government. While one may assume that this only affects local users, it’s quite common for data to be mirrored at several sites, ensuring adequate redundancy should a site be compromised and its data lost. Thus, it’s quite possible that Australian and American search history is stored in regions where the Government has complete control over access to this data.
The Chinese incident is sinister enough, but this is probably just the beginning.
Consequently, the EFF (Electronic Frontier Foundation) have published an article with a few notes on how to maximise your privacy when using search engines.
Some points are:
- Don’t put personally-identifying information in your searches
- Don’t log in to a search engine account
- Don’t accept cookies from your search engine
They are worth reading through; in particular, there’s some directions for Firefox users on how to configure an extension to increase your anonymity with Google searches.
Even if you don’t follow those suggestions, I recommend regularly clearing out your Google cookies. These cookies provide Google and other search engines with a link between your search queries – an identifier that ties them together. By clearing these cookies out regularly, you sever the link between past queries and future queries. In particular, do this before embarking on a particularly sensitive search.
To remove cookies in Firefox:
- Bring up Firefox Preferences (on a Mac, click the ‘Firefox’ menu at the top left, then ‘Preferences’)
- Click the ‘Privacy’ icon
- Click the ‘Cookies’ tab
- Click ‘View Cookies’, bottom left
- Type ‘google’ in the search bar, and remove all related cookies by selecting them and clicking ‘Remove Cookies’
- Bring up Safari Preferences (‘Safari’ menu, ‘Preferences’)
- Click the ‘Security’ icon
- Click ‘Show Cookies’
- Scroll down to the Google cookies, select them, and press ‘Remove’
Alternatively, just delete all cookies, which probably can’t hurt.Read More