Filed under:
Base
Releases

Base 2.1 is now available to download, for both web and App Store users.

The full list list of enhancements & fixes is available from the changelog, though there is one item I'd like to mention in more detail here.

Something which I have received many emails about is that NULL values in tables are hard to distinguish from any other text. Being able to set the display string goes some way to fixing this, but doesn't quite go far enough.

Base 2.1 now provides the option of displaying a placeholder graphic for cells with a NULL value. Now it's easy to skim a table and see where the NULLs are, without having to hunt through pages of homogenous text. Here's a contrived example to illustrate:

Sample table with NULL placeholders

Base 2.1 can be downloaded from the product page or from the Mac App Store.
As always, if you’ve found a bug or have a question, please do get in touch.

Filed under:
Base
Mac OS X

After all the fuss surrounding the iPhone location log, you may be interested to know that there is a file on Macs running Snow Leopard or higher that keeps a record of files you've downloaded. This record is not purged when you clear Safari downloads, caches or even reset Safari completely.

 

The Short & Simple Summary
Launch Services is a hidden bit of OS X which helps apps open files. When you double-click on a file, Launch Services is the bit which decides which app to open. For files downloaded from the internet, it also sets a little warning flag to check with the user whether it's OK to open the file. Once you've told the computer the file is safe, the Quarantine flag is removed from the file. However, it is not removed from a database which tracks all of these warning flags.

The Quarantine Events database contains URLs of downloaded files or mail addresses and subjects for saved attachments, along with a few other bits of information. For my computer, there were saved events from 4 year old emails!

This database file is located at: ~/Library/Preferences/com.apple.LaunchServices.QuarantineEvents. You can open the file with Base, or another SQLite editor if you prefer.

 

An Example Of What Happens When You Download A File

We’ll run through a quick example of what happens with the Quarantine when you download an application from the internet. You can skip this section if you’re not interested.

In this example, I'll use Base as the test download, since it can open the Quarantine event database.


  1. Download Base from this link and unzip it, but do not launch it yet
  2. Open the Terminal and run the following command: xattr -l ~/Downloads/Base.app
  3. Take a look at the results of that command. There will be a line starting with "com.apple.quarantine". This is what we're interested in.
  4. Run the app. You should get a warning like this: Untrusted App Alert
  5. Allow the app to run by clicking "Open"
  6. Go back to the terminal and run the command from step 2 again. The line starting "com.apple.quarantine" should be gone. The app is no longer quarantined since you allowed it to run.

You may have noticed in step 3 that part of the output from the xattr command is a UUID (looks something like: 24F21910-D116-40E4-B652-5719A0385561). This UUID is stored in the Quarantine database and it's entry is not removed when the file flag is removed.

To show this entry, go back to Base, and use it to open the Quarantine Events database. This is located at ~/Library/Preferences/com.apple.LaunchServices.QuarantineEvents. Select the data tab and you'll probably find a massive list of downloaded files. We can quickly find the download from step one by adding a filter at the bottom of the window.
You want the filter to look like this: Filter bar showing UUID.
You should be left with a single row representing your download.

 

Wrapping Up

I’d like to thank Dorian Johnson for bringing this file to my attention. I was incredibly surprised when I opened it and found listings from downloaded email attachments more than four years old!

The Quarantine Events database file contains the bare minimum of information needed for Launch Services to display the warning message when opening an untrusted file. I'm not sure why items which have been opened aren't purged though. It could simply be an oversight, in a similar manner to the iPhone location log. I'll be very interested if someone could explain in detail.

Filed under:
Base

There’s a bit of fuss about iPhones tracking their owners location history.

The instructions on that page are pretty involved. Here’s a command-line-free method to get at that controversial little file:

 

  1. Download and open iPhone Backup Extractor
  2. Click "Read Backups" and select the most recent backup from the list that appears
  3. A list of app identifiers will be shown. Choose the one that says "iOS Files" and click Extract
  4. Choose a location for extraction and wait a minute while the app does it's thing
  5. In the finder, navigate to <extracted folder location>/Library/Caches/locationd
  6. Open the file "consolidated.db" in your SQLite editor of choice. I recommend the one we make

That SQLite database uses the R*Tree extension. Check out the SQLite documentation on how to efficiently query it.

Filed under:
Base
Releases

Base 2.0.2 is now available to download, for both web and App Store users.

It’s primarily a bugfix release, ironing out some more kinks found since 2.0.1. It also enables support for the SQLite R*Tree module.

You can read the full list of fixes and improvements in the changelog.

Base 2.0.2 can be downloaded from the product page.

As always, if you’ve found a bug or have a question, please do get in touch.

Filed under:
Base

The Last PowerPC User

Whoever you are, lone PowerPC user, I salute you.

 

Update 2011-03-30: And a few days later, the Mysterious Individual has gone. Update stats say that Base now has an Intel-only userbase.

 

Filed under:
Base
Releases

Base 2.0.1 is now available to download, for both web and App Store users. It addresses several bugs related to the display of schemas and some other minor issues. You can read the full list of fixes and improvements from the changelog.

Base 2.0.1 can be downloaded from the product page.

As always, if you’ve found a bug or have a question, please do get in touch.

Filed under:
Base
Releases

Base 2 icon

 

I'm delighted to announce that Base 2.0 is now available.


Version 2 of Base is the first major upgrade since the original application was released in November 2008. Almost every part of the app has been tweaked and improved, with several areas getting almost completely re–written. The result is an application which is just as quick and easy to use as the original, with a lot more power.

 

Major highlight of this version include:

  • A revamped schema viewing and editing system, which includes support for all column– and table–level constraints
  • Autocompletion of SQL when typing
  • A find & filter system for browsing data
  • The ability to export the results of custom queries

Remember, those are just highlights. There are more new things, a lot of improvements to existing features and some longstanding bugs have been fixed.

An overview of the application with screenshots is available on the product page and you can read the entire release notes over here.

Base 2 is priced at £19.99 for new users, £9.99 for existing users, and free for those who bought Base on or after 6th January 2011. You can buy it through this website or through the Mac App Store.

 


Quick edit: If you're still running Mac OS 10.5, or don't yet want to upgrade, you can download the most recent 1.x version from here: Base 1.4.2.

Filed under:
Base
Mac App Store

Now that some of the fuss around the launch of the Mac App Store (MAS) has died down, I thought it would be a good time to explain what my plans are for the future of Base.

 

Features and pricing: The current version of Base is being submitted to the MAS. It will have the same features and the same price (actually one penny different - £9.99 / US$16.99 / €13.63). I hope it will be available when the Store opens, but we don't yet know when that is.

 

Trial/demo versions: The MAS probably won't allow for trial versions, so if you want to try out Base, you'll need to download it from this website. Also, the MAS version of Base will drop support for Leopard systems. This won't be a problem as the Store won't be available for Leopard anyway. Base will run fine on Leopard if bought directly from this website.

 

Minor updates: For any future 1.x updates to Base, I will make certain that both the current and the App Store versions keep feature and price parity. This far it should not matter to you which source you buy from.

 

The future of Base I am still working of v2.0 of Base. It's happening slowly but surely. I'd rather not give too much information now, as I don't want to promise something that can't be delivered. Particularly when it comes to release dates.

Something that I can announce is that Base 2.0 will only support Snow Leopard (and hence only Intel) systems. There are very few people using Base on 32-bit systems, so Base may go 64-bit only.

Pricing, upgrade pricing and whether or not it’ll go on the MAS all depend on how things turn out over the coming months. We’ll just have to wait and see.

 


Quick edit: If you've got anything to say or ask about any of the above, send an email. Details are on the contact page.

Filed under:
Base
Releases

Base 1.4 is now available for download.

The major changes in this release are CSV importing and overhauled SQL importing.

The CSV importer can either create a new table from your data or you can import directly into an existing table. For an example of CSV importing, see the following screenshot: Base import example

There’s also a whole load of minor changes to Base. Highlights include:

  • A toolbar button to vacuum the current file
  • You can now drag and drop entities from the source list into the SQL tab
  • Improvements to how numeric data is handled when edited, particularly when no column affinity is set (see the SQLite docs)

Base also now collects anonymous system data when checking for updates. If you’d rather not participate in this, you can opt-out in the app preferences.

You can download Base 1.4 from it’s product page or view a full list of changes.

Filed under:
Base

Yep, it’s that time again. I could do with a handful of people to try out the latest version of Base. The main changes in this version are large updates to SQL and CSV importing, so I’m looking for people who can put these areas though their paces.

Anyone who wants to try it should mail me (info@menial.co.uk) and I’ll be in touch with directions for downloading the app.