Donate-large

If you like this blog, please make a little donation.

It's a secure process, and with your generosity I will be able to review more hardware and software.

Just click the "Donate" button below and follow the easy instructions, and I will thank you eternally.

Monday, February 17, 2014

ZFS on read-only devices

On my last post I described my experiments to get along the best way to archive ROM sets with the biggest space saving.
In a nutshell, ZFS got a best-for-money status, except for the RAM usage.
My idea after the tests was to check if it was possible to mount a ZFS pool recorded in a read-only device, like a CD/DVD/BD.
Why here?
They’re cheap, small, and usually, more durable (quite depends on disc quality, but most of the failures are bitwise not full disc, and this can be solved with error recovery algorithms).
But ZFS was not designed with these discs in mind, so some magic was expected.
All of this is done on Linux. Should be doable on BSD, Solaris and Mac OS X with not many differences.
First of all, I did not test ZFS on packet writing, if it works at all optical drives seeking time and speed will be a hell.
So, first of all, I created a dummy file to act as the writable zpool before recording it to disc, with the following command:
dd if=/dev/zero of=zpool.bin bs=2048 conv=sparse count=<sectors>
<sectors> being size as following:
  • 333,000 for 74-min CD-Rs and CD-RWs
  • 360,000 for 80-min CD-Rs and CD-RWs
  • 2,298,496 for single-layer DVD-Rs
  • 4,171,712 for double-layer DVD-Rs
  • 2,295,104 for single-layer DVD+Rs
  • 4,173,824 for double-layer DVD+Rs
  • 12,219,392 for single-layer Blu-rays
  • 24,438,784 for double-layer Blu-rays
  • 48,878,592 for triple-layer Blu-rays
  • 62,500,864 for quad-layer Blu-rays
Once the dummy file is created you need to create the zpool. While you could create a RAIDZ pool for error recovery, it would require you to have 3 optical drives with 3 discs inserted, at the same time, at least, so I suggest for another solution (I’m still searching one, you can comment your ideas).
For the zpool creation:
zpool create -o comment="Put some disc identification here" -o ashift=11 -o failmode=continue -O mountpoint=/mnt/myzfsdvd -O checksum=sha256 -O compression=gzip-9 -O dedup=on -O atime=off -O devices=off -O exec=off -O setuid=off myzfsdvd zpool.bin
Explaining each options:
  • comment=“Put some disc identification here”, as it’s for a removable disc you need some description of what you’re going to store on it. You can set it up later
  • ashift=11, this means that the underlying block device (that is, the optical disc) uses 2048 bytes/sector
  • failmode=continue, not a good idea for the system to panic or stop when something happens to the optical disc!
  • mountpoint=/mnt/myzfsdvd, good to tell a mountpoint. You can change this on mount, but setting a default prevents security risks
  • checksum=sha256, this is just personal taste
  • compression=gzip-9, optical discs are only written once, so let that writing time be used the best
  • dedup=on, same as above, deduplicate blocks
  • atime=off, no sense to store access time on read-only discs
  • devices=off, to disable support of device nodes
  • exec=off, to prevent executing code from the disc, you may want to do, but I didn’t
  • setuid=off, to prevent setuid
Once this is done, ZFS will automatically mount the pool on the specified mountpoint, so you can start copying things.
You may be tempted to change recordsize (block size) to equal hardware sector for optical discs (2048 bytes), DO NOT DO IT, it will make ZFS be marginally slower, and compression and deduplication work worse.
And for RAM usage on deduplication, don’t worry, with the disc out RAM will get freed, and even using quad-layer Blu-rays, the deduplication table will never be bigger than 1Gb.
Time to unmount the ZFS file so we can record it to disc
zpool export myzfsdvd
Now recording it. If you’re going to record on CD (really? sure? ok, as you wish) be sure that it is recorded single-session, mode 1, data, finished. Following line works for CD, DVD and BD:
cdrecord -v driveropts=burnfree -dao -data zpool.bin
Once it is recorded, you’ll be tempted to mount it, and if you do, you’ll see the failure:
~ # zpool import -a
~ # zpool list
NAME         SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
~ # 
So, where’s the pool? Let’s try it specifying our pool name:
~ # zpool import zfstestdvd
cannot import 'zfstestdvd': no such pool available
~ #

It took me a couple of minutes to find what the problem of that unspecific error was, as it clearly was trying to mount it. It is trying to write!
~ # zpool import -o readonly=on -a -d /dev/
~ # zpool list
NAME       SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
myzfsdvd  4.34G  1.90G  2.45G    43%  2.09x  ONLINE  -
~ #
I used /dev because sometimes it decided to not mount it from the DVD-ROM drive (/dev/sr0).
Now the pool works perfectly, except for some secondary effects:
  • zpool scrub denies to work, because pool is read-only, instead of checking without correcting.
  • zdb is unable to find the pool at all.

Cold-storage and live-storage of ROM and ISO sets, or "compression vs deduplication"

This weekend I’ve been thinking about cold storage of my software archive, that include some ROM and ISO sets. The idea was to find the better way to store them in Blu-ray recordable discs.

Considering how usually two sets can contain almost the same data (for example “Tomb Raider” for Saturn and PlayStation can contain same audio, movies and maps, differing only on the small executables), or even the same set (all of the “Super Mario World” clones differ only in a small part of the ROM), both solid-mode compression and deduplication offer really high promises.

So, for the purposes of checking how promises behold, I took two systems, Nintendo Game Boy and Nintendo Game Boy Color, along with all the sets I have from them: Cowering (aka GoodTools), TOSEC, no-intro and NonGood.

For compression I used torrent7z, that given the same files (and filenames) will get the same compressed file exactly using 7zip (and, from it, the LZMA algorithm), and GoodMerge, a tool that takes all the clones from the Cowering set and compresses them together (merges) with 7zip at maximum, to get the maximum space savings.

For the deduplication, first I got theoretical estimations using an application I developed specifically for that (DedupStat, you can get it here, GPL, open source) and then created ZFS (a highly complex and feature-able filesystem available on Solaris, FreeBSD, Linux and Mac OS X, but not Windows, at all) pools with both deduplication and compression enabled.

Cowering set contains 7,930 ROMs, TOSEC contains 135 ROMs, no-intro.org contains 2,980 ROMs and NonGood contains 138 ROMs.

They make 11,183 files for a total of 7,598,579,214 bytes (~7,246Mb).

Test computer is an Intel Core 2 E6400 @ 2.13Ghz, Linux 3.9.0-server (Sabayon), 8Gb DDR2-800 RAM, torrent7z 0.9.1beta (7zip 4.65), ZFSonLinux 0.6.2-r3, on a Maxtor/Seagate STM3320820A.

First of all, let’s test compression.

Cowering (GoodMerge7z + torrent7z) + TOSEC (torrent7z) + no-intro (torrent7z)
5,394 files for a total of 1,407,450,696 bytes (~1,342Mb, 18.52%), took 4,813.013 seconds, approx. 0.27887927590956 Mb/sec

Cowering (GoodMerge7z + torrent7z) + TOSEC (torrent7z) + no-intro (torrent7z), deduplicated on 4096 bytes/block (typical filesystem)
5,394 files for a total of 946,782,208 bytes (~902Mb, 12.46%), took 4,972.689598 seconds, approx. 0.269924264109135 Mb/sec

This of course gets us a lot of space savings, compression alone makes the sets be only about 18% of the original size. But making this (only compression speed is tested, but decompression speed is not blazing fast either) takes a lot of time, almost an hour and a half. Deduplication over the compressed sets can still give more savings, because there is repeated data between sets (compression is per-ROM), and in the same set (only Cowering merges clones and hacks).

The next test I did was deduplication estimations only, using my tool.

Cowering + TOSEC + no-intro, deduplicated on 2048 bytes/block (CD/DVD/BD blocksize)
11,186 files for a total of 1,746,548,736 bytes (~1,665Mb, 22.99%), took 480.059208 seconds, approx. 15.0939714919498 Mb/sec

Cowering + TOSEC + no-intro, deduplicated on 4096 bytes/block (typical filesystem blocksize)
11,186 files for a total of 1,871,421,440 bytes (~1,784Mb, 24.63%), took 513.864285 seconds, approx. 14.1009994496893 Mb/sec

Cowering + TOSEC + no-intro, deduplicated on 131072 bytes/block (typical ZFS blocksize)
11,186 files for a total of 3,480,354,816 bytes (~3,319Mb, 45.80%), took 425.701966 seconds, approx. 17.0212979472122 Mb/sec

On the smallest blocksize, more duplicate blocks are found, giving biggest savings, but still quite far from compression. However, in any case, it’s about 10 times faster.

As Cowering contains lots of hacks, clones, and bad dumps, that may not be interesing for some people, I tested both compression and deduplication with the other sets alone.

TOSEC + no-intro, uncompressed
3,256 files for a total of 2,685,937,612 bytes (~2561Mb)

TOSEC (torrent7z) + no-intro (torrent7z)
3,256 files for a total of 795,382,502 bytes (~758Mb, 29.61%)

TOSEC + no-intro, deduplicated on 2048 bytes/block (CD/DVD/BD)
3,256 files for a total of 1,412,812,800 bytes (~1,347Mb, 52.60%), took 181.490064 seconds, approx. 14.1109653253525 Mb/sec

TOSEC + no-intro, deduplicated on 4096 bytes/block (typical filesystem)
3,256 files for a total of 1,491,755,008 bytes (~1,422Mb, 55.54%), took 168.831435 seconds, approx. 15.1689760855258 Mb/sec

TOSEC + no-intro, deduplicated on 131072 bytes/block (typical ZFS)
3,256 files for a total of 2,127,953,920 bytes (~2,029Mb, 79.23%), took 248.102553 seconds, approx. 10.3223444057023 Mb/sec

Things seem worse here for deduplication, being twice as big as compressed sets.

But all of this, is highly theoretical, so better test with a real life scenario. I created three ZFS pools, all of them with deduplication and compression enabled, for the three block sizes (2048 as in CD/DVD/BD, 4096 as typical by other filesystems and real sector size of Advanced Format hard disks and 131072, default ZFS blocksize). Note: ZFS calls its block size “recordsize”, and dynamically uses a bigger or smaller than the configured one, depending on the stored data.

Cowering + TOSEC + no-intro, ZFS device, dedup=on, compression=gzip-9, recordsize=2048
11,188 files for a total of 1,904,936,848 bytes (~1,817Mb, 25.07%), took 10,986.604 seconds, approx. 0.659580853138233 Mb/sec

Cowering + TOSEC + no-intro, ZFS device, dedup=on, compression=gzip-9, recordsize=4096
11,188 files for a total of 1,515,458,176 bytes (~1,445Mb, 19.94%), took 8,865.023 seconds, approx. 0.817432017876539 Mb/sec

Cowering + TOSEC + no-intro, ZFS device, dedup=on, compression=gzip-9, recordsize=131072
11,188 files for a total of 1,493,678,664 bytes (~1,424Mb, 19.66%), took 1,185.156 seconds, approx. 6.114430201097515 Mb/sec

While compression is called gzip, it should really be called deflate, as that’s the name of the algorithm, used in ZIP files, and theoretically, marginally faster and less powerful than LZMA (the 7zip algorithm). “-9” marks maximum compression.

Clearly ZFS does not behave very well when the recordsize is made smaller than the default, getting worse deduplication, worse compression, and marginally slower speeds (8 to 10 times slower).

Before achieving a conclusion, a thing about RAM usage must be noted. 7-zip RAM usage depends on dictionary size (and so, compression power), and only happens once (on compression). On decompression, RAM usage is marginally lower. On the contrary, deduplication ram usage depends on total blocks (unique and duplicate, with duplicate counting only as 1 block), and its usage is more or less permanent as long as the deduplicated volume is attached.

In case of ZFS, each block takes 320 bytes of RAM. For this set, meaning:

3710244 blocks of 2048 bytes each, taking 1Gb of RAM.

1855122 blocks of 4096 bytes each, taking 566Mb of RAM.

57972 blocks of 131072 bytes each, taking 18Mb of RAM.

Fortunately you can use a SSD to store the deduplication table, so instead of 1Gb/566Mb/18Mb of RAM it would be 1Gb/566Mb/18Mb of SSD.

More than a conclusion, a list of advantages and disadvantages should be noted:

Advantages of 7zip

  • Biggest space savings
  • RAM usage is not permanent, only when working with the archives

Disadvantages of 7zip

  • Slow as floppy drives
  • Merged archives need to be traversed and uncompressed fully before accessing one of the ROMs it contains
  • Not supported by any emulator afaik, and not completely supported by any ROM manager (Romcenter does not support them, Romulus says it does but it does not work, CLRMAME Pro does if not solid-compressed so defeating merging benefits)


Advantages of deduplication

  • Faster
  • Depending on deduplication software used (if it provides a live volume) it can allow ROMs to be accessed by emulators and managers

Disadvantages of deduplication

  • RAM usage MAY be permanent, depending on deduplication software

 

Advantages of ZFS with deduplication and compression enabled

  • Best of both worlds, space savings almost as high as 7zip and speeds almost as fast as deduplication alone
  • Supported in practically every operating system (but Windows)
  • Allows live access, so supported by emulators and ROM managers
  • RAM usage can be moved to SSD, that’s several times cheaper and bigger.

Disadvantages of ZFS with deduplication and compression enabled

  • Contrary to what deduplication alone can give, smaller blocks give less space savings and speed, and higher RAM and CPU usage.
  • Not supported at all by Windows
  • RAM usage is permanently 320 bytes per block

Comparing advantages vs disadvantages, ZFS seems the best solution for archival right now. While other filesystems may get same features in the future (btrfs for example), currently they don’t support them or are experimental or vendor-locked (btrfs is Linux-only)

Sunday, June 30, 2013

Hands-on: Mac OS X 10.9 Mavericks Developer Preview (up to DP2)

Mavericks OSX PRINT

On 10th June 2013, Apple introduced the next major revision of their Mac OS X operating system, 10.9, and stopping with the tradition of naming them like big felines, this one gets called "Mavericks" like the surfing location on the state of California.

First impressions

At a first glance it seems that the design is being flatted a little, like what is happening to iOS 7. It's not as radical, there is still that metal theme along all the system, but for example, now the login screen has a single flat background color, and you can also notice it on the dock and the System Preferences window.

Screen Shot 2013 06 12 at 18 33 42

Maps

Screen Shot 2013 06 12 at 19 01 13

In last year's iOS iteration, Apple decided to break free of Google and put their own mapping solution. And this resulted in an ill-fated situation with an insanely high number of users complaining about the maps quality. In my own experience, it's as good as the others, and this means, all mapping solutions have huge errors. But I clearly welcome the change, as Google solution was limited compared to what they offered on other platforms, limiting the experience and putting Apple devices in a disadvantage.

This new Mac OS X iteration brings the Apple maps to the desktop, and while having the same errors (and corrections, because the maps are corrected server-side), it seems like a good idea.

Screen Shot 2013 06 12 at 19 04 41

While most of the times you will need the maps while on-move, you will also set routes, and search for places, in your desktop. And Apple though about that. You can share your share or route via Messages, saving it as a PDF, or, sending it to your iCloud-connected iOS device, so you just take the device, unlock it and start following Siri's driving directions.

Screen Shot 2013 06 13 at 09 43 20

Or walking! Because they also added support for walking directions (present also in iOS 7).

Screen Shot 2013 06 12 at 19 09 26

And finally you can get business information shown in separate windows with photos, open hours, so on, taking this information from Yelp. But for some strange reason, even if in all the places shown in the previous screenshots there are plenty of places registered in Yelp, it seems this functionality only works in the US.

What I miss from this application is the ability to download offline copies of the maps to be used internet-less and the support of GPS dongles, something that is easy to add and will make it useful for traveling people.

Calendar

Another place of visual overhaul is the Calendar application. No more trying to imitate a real-world one, it returns to the basics, showing a flatter interface with pastel colors that resembles Mac OS X 10.5's.

Screen Shot 2013 06 12 at 19 20 59

One of the simplest but most "why wasn't this here before" features is continuous scrolling. Using the touchpad you just scroll and scroll and scroll until you arrive the date you were searching. Simple, but powerful.

Another feature is the integration with Maps,

Screen Shot 2013 06 12 at 19 22 36

so you can add a place based on the real location, and see at a glance a minimap, and if near enough, a weather forecast (from Yahoo Weather).

Also you can use the travel time, knowing the exact location, from your current location. Only from your current location. Quite a limitation considering that you maybe going two places, one first, then the other, without returning home.

Also Facebook events will appear here.

Safari

Under the hood Safari gets faster, less memory hungry, and over the hood, it gets a "Shared links" feature.

Screen Shot 2013 06 13 at 09 55 54

"Shared links" shows you in the sidebar (while Apple says it's new, it was already there with Reading List, it's just got new features) all the links posted by the Twitter users you're following. Not a heartbreaking feature, but I find it quite useful.

You can also get a password generator for sites you're registering, that automatically saves your freshly created hard-to-remember password in the keychain. And from the keychain it can take and fill all the credit card data, but the verification code.

iCloud

iCloud's only new feature is the iCloud keychain, and yet it's not new. It was already present in MobileMe.

Screen Shot 2013 06 12 at 18 42 43

At least this time they're making it more secure. Instead of plainly syncing your keychain with any device that gets added to your iCloud, it will request authorization to an already existing device, or via SMS, or the newly added device will not get the keychain.

Multi-display

Not kind of a feature but a "this is how things should have worked", they corrected the ugly "feature" that blocked all but one of your displays in a multidisplay setup as soon as you were using a full-screen application from Mac OS X 10.7 onwards.

Also you can now use your Apple TV connected television not just as an AirPlay Mirror, but as another display.

Finder

Finder gets tabs, something power users like me will definitively like.

Screen Shot 2013 06 12 at 18 40 56

You can use tabs to have origin-destination windows for copying, to have all the places where a project's files are located opened in a single window, and you can drag&drop to the tabs themselves.

Screen Shot 2013 06 12 at 18 41 21

The other new Finder feature, is not exclusive to it, but a system-wide feature that gets easily managed thru Finder: Tags.

While at first glance it seems just like the good-old labels, things are only similar.

Screen Shot 2013 06 12 at 18 44 19

Tags are infinite, freely-named, labels. You can name them the way you want, assign a color, search for them in Spotlight, or you can create a Finder tab showing all files in the computer with that tag. And if you drag&drop files to the Tag window, all that files will receive that tag.

Screen Shot 2013 06 12 at 18 50 23

Last but not least, a file can have multiple tags at the same time.

Server

I've not been able to test Mac OS X Server 10.9 extensively, but it also doesn't have much to say. They add support for iTunes Store and App Store (the iOS one) to Caching Server, that in 10.8 only supported the Mac App Store. This will make caching servers need quite a lot more of disk space for iTunes-intensive workplaces, and be a huge bandwidth saver for iOS-filled ones.

Also they add support for creating Xcode building farms, something that Xcode already had in previous versions.

They still have not returned the ability to be an Active Directory server that they took away in 10.7.

Advanced internals

Compressed Memory

A simple concept, compressed memory compress the inactive memory, that is the one that can be swapped to disk, just because that's faster than copying it to disk, and makes it faster to be copied to disk

Screen Shot 2013 06 12 at 18 56 56

App Nap

With App Nap, applications that are just sitting idle (no I/O, no sound) are slowed down, or completely stopped, to preserve battery.

Apple promises up to 23 percent less battery usage, but considering that the most battery hungry process is usually Spotlight, it's yet to see.

Screen Shot 2013 06 12 at 18 57 18

Timer coalescing

This is a more complicated feature. Instead of letting all applications request and do anything the time they want, creating a lot of spikes of CPU usage/idle times, Mavericks will group all applications usage of the resources (timers) so they go in big usage/idle pieces, allowing the CPU to idle more, and so, save battery.

Other features

Other features introduced in Mavericks is a minor rework of Activity Monitor, including a new Energy tab and new stats and graphs, privacy controls for applications requesting to control the computer for accessibility (not just a system-wide "allow all" or "deny all" but fine-grained by app), support for LinkedIn accounts, automatic installation of updates (take care with restart-required ones, as this will restart your computer and applications not yet enabled for the document saving feature introduced in 10.7 will lose their changes), "Enhanced Dictation" (that is, offline, continuous and realtime, without sending your voice to Apple but doing it all locally), OpenGL 4.1 (finally, but still outdated), don't-play-till-you-want plugin in Safari (Flash ads, say goodbye), interactive and web notifications (couldn't test as none appeared), better iTunes HD playback efficiency, full iBooks support (reader, store, server's cache, nothing appeared in Developer Previews 1 or 2), and not much else. Oh, wait, yes, a heavily modified, color-changed, wallpaper of a sea wave, to be thought it was taken surfing on Mavericks ;).

Also to note is that the documentation says that SMB file transfer protocol will be the default. But, what's "default"? AFP is still supported, present, configured and enabled by default, not to say it's needed to use Time Machine over the network...

Conclusion

I like the new features. But I feel they're not enough.

They're not huge, life changing features like Mac OS X usually gives. They're not even so many as usual.

This feels more like a 10.8 Release 2, than a 10.9 system.

Also, I dislike "Mavericks", there're more big felines to be used, and using California places? No, I don't like it.

Finally I have taken a couple of benchmarks and 10.9 has been slightly slower and gave a lot less (more than 1 hour of difference) of battery duration than 10.8, but as this is a beta, not optimized, and full of debugging tricks, I will not publish the results.

Stay tuned till final release, this blog entry will be updated with every DP including changes, and differences, instead of creating a new blog entry per preview as I've always done before.

Wednesday, July 25, 2012

Hands on Mac OS X 10.8 Mountain Lion *Preliminary*

MacOSX108DP1

Today, just after the Q3 financial results presentation, Apple has officially launched Mac OS X 10.8, nicknamed Mountain Lion, and here it is, the hands on.

Differently from my other reviews I will do this one starting with installation and following the exact order and categories in the official Apple's feature list.

Installation

Like the previous Mac OS X (Lion), Mountain Lion is available through the Mac App Store, and unlike it, there will be no USB flash disk available from Apple for those that want to do a clean install, have it as a backup, etc. Price is reduced from Lion to $19.99, 15,99 €, £13.99, ¥1,700.

If you want to create one yourself, be it a USB flash disk or a DVD, you can follow the instructions I put for Lion, as they work the same (just use Mountain Lion installer), or use an automated application for that hassle, Lion Diskmaker from Guillaume Gète.

It is to be noted that any of the ways to install (be it directly from the Installer, the USB flash disk, the DVD…) Mountain Lion is able to update without problems systems with Mac OS X 10.6 "Snow Leopard" and Mac OS X 10.7 "Lion" conversing your preferences, applications, etc.

If you have any previous version, you will need to go to a physical Apple Store or to a friend's house and buy it (using your account, don't do piracy please), and then burn to USB or DVD. I have not tested this scenario so I don't know what happens with previous system versions when updating. You can, however, copy all of your files to another hard disk (I suggest you using Carbon Copy Cloner for that task) and then import that with the Migration Assistant that will be launched when installation is finished. This way guarantees your settings and files are conserved.

While Lion already left out 32-bit only (anything below a Core 2 Duo processor) Macs, Mountain Lion drops out any mac that needs 32-bit kernel extensions, leaving the list of supported Macs as follows:

  • iMac Mid 2007 or newer
  • MacBook Late 2008 (Aluminium), Early 2009 or newer
  • MacBook Pro Mid & Late 2007 or newer
  • Xserve Early 2009
  • MacBook Air Late 2008 or newer
  • Mac Mini Early 2009 or newer
  • Mac Pro Early 2008 or newer (however, if you put a supported graphics card and modify the installer you can still unsupportedly install Mountain Lion)

It is important to note that if you're trying to buy Mountain Lion from the Mac App Store and you receive a "product is not available" and/or "Error 100" message, just wait a couple of minutes and retry, that is happening because of the intense number of users trying to buy it at the same time. And when you get it finally, the download speed will be surely slow. Things will get faster as time passes.

Accessibility

The accessibility feature gets overhauled moved to a categorized and easier to access preference panel, made accessible anywhere using Option-F5 shortcut and adding support for 14 new braille devices.

MacOSX108DP1 15

AirPlay Mirroring

If you have a second-generation Apple TV and any of the supported Macs (iMac Mid 2011 or newer, Mac mini Mid 2011 or newer, MacBook Air Mid 2011 or newer, and MacBook Pro Early 2011 or newer) now you can mirror anything you're doing in your Mac to your Apple TV.

This is pretty useful for presentations, allowing people to connect an ATV to a presenter and just use any Mac to put the Keynote slideshow, a QuickTime movie, or show a game! Just click the AirPlay icon on the menubar, choose which ATV of all found you want to use, and let's go.

Or you can go to the Sound preference panel and get the sound output to be your ATV.

Your Mac automatically downscales the resolution to 1080p (or you can choose it to be your Mac resolution so no scale happens) and encrypts the data so it cannot be intercepted on the network.

Auto Save

Enhancing the revision system included in Lion, you can now rename a file from the title bar.

MacOSX108 6

You also get keyboard shortcuts for duplicate, and the save as option make a return for all of us that missed it.

Also you can move a document to iCloud, and any unsaved (aka "Untitled") document is automatically saved on iCloud just in case.

Built-in Sharing

Share, share everything, share everywhere, share with buddies, followers, the police (just kidding)!

MacOSX108 4

Finder can share by e-mail, iMessage and AirDrop, for pictures on Twitter and Flickr and for movies on Vimeo.

MacOSX108 30

Safari can share to e-mail, iMessage, Twitter and also add as a bookmark or to the reading list.

MacOSX108 24

QuickTime Player X can share to e-mail, iMessage, AirDrop, Facebook, Youtube, Vimeo and Flickr. Choosing a video on Finder does not give so much options, so you are forced to open the video first on QT if you want to share on YouTube or Facebook (to be added system-wide on Fall).

Unfortunately, contrary to Windows 8 xxxx and Android Intents, application developers cannot enable destinations for the sharing function.

Calendar (the application previously known as iCal)

Calendar gets a new sidebar listing all of your calendars, offers search suggestions, gets a new date picker and moves the notifications from the old centered alert message to the Notification Center.

Contacts (the application previously known as Address Book)

Groups are moved to a new column, repeated contacts from different services (Yahoo!, Twitter, Gmail, iCloud, etc) get automatically joined and shown in an unified view, and you can share contacts in vCard via e-mail, iMessage and AirDrop.

MacOSX108

Dashboard

Now when you go to add a new widget, the widget lists is full screen, similar to Launchpad, includes a search field and supports the creation of folders.

MacOSX108 11

Dictation

From the worlds of iOS, half a Siri has become.

MacOSX108 12

Using the same voice recognition engine introduced with Siri for the iPhone 4S, now you can dictate anything on your Mac. For now, only English (AU, UK and US), French, German and Japanese are supported. And the same way as in Siri, your voice is transmitted over internet to Apple datacenters for recognition, something illogical considering that Macs are perfectly capable of running the recognition by themselves.

MacOSX108 13

It supports basic commands like "all caps" and "new line", and autolearns. But unlike Siri, it does not give you any information or search but simply writing in text boxes (also, unlike Siri, any application's text box is supported).

MacOSX108 14

And that's supposed to be "This is the new Mac OS X dictation, it only supports English, French, German and Japanese".

The real issue is that until all the sentence is dictated, sent, processed and incorrectly converted to text, you cannot see the failures, making you lose so much time correcting it that in some situations (or until Si… I mean, Dictation learns your exact accent).

Dictionary

Now Dictionary adds support for Simplified Chinese, Spanish and German.

MacOSX108 15

Dunno about German or Chinese, but for Spanish using the Vox's dictionary instead of the Royal Academy (RAE) one does not give the official language definitions.

Facebook

In fall, Mac OS X 10.8 will add system-wide support for Facebook, including posting to the wall, reading your wall on Notification Center, sharing and syncing Facebook contacts on Contacts.

But till then, no trace of Facebook.

China

MacOSX108DP1 20

Apple is currently having a huge grow on the chinese market, and Mountain Lion includes a great list of improvements for it. However most of them only show when you're using the system in chinese, or setting your location as China.

Among them, there is a improved text input for Simplified and Traditional Chinese, dynamic word lists that update automatically from internet, fuzzy Pinyin input, autocorrection, better handwriting recognition, automatic saving of your Pinyin user dictionary on iCloud, Emoji and facemarks, support for the Sina Weibo microblogging service system-wide, as well as for the Youku and Tudou video sites, Baidu search in Safari, support for QQ Mail, 126 and 163 mail services and new and improved fonts.

Finder

MacOSX108 9

Finder includes a couple of small but appreciable changes. Apart from the previously mentioned sharing, the most useful new feature is that when you're doing a copy a progress bar appears in the destination folder as well as a small cancel icon.

MacOSX108 16

Now you can also encrypt any volume using Finder, just double click it and choose encrypt (that is, FileVault 2 is no longer restrained to the boot volume), without the need to use Disk Utility or Terminal.

A small novelty is that you can open Quick Look not just pressing space, but also tapping on the trackpad with three fingers.

Game Center

MacOSX108DP1 53  1

Game Center comes to the Mac, with all the features from iOS. It also supports cross-platform (iOS-MacOS) games, both for just achievements and leaderboards as well as for multiplayer gaming.

Something not included in iOS' Game Center is in-voice chat.

Gatekeeper

MacOSX108DP1 3

Probably, the most controversial feature from Mountain Lion. Gatekeeper is a protection that allows the system administrator to choose which applications can be installed and run.

MacOSX108 18

By default, the configuration only allows applications coming from the Mac App Store (that is, controlled and inspected by Apple to prevent them from doing nasty things to your system) or signed by an authorized developer (one that pays Apple for a developer certificate, so in case that an application does a nasty thing it can be revoked). You can change the default to allow only applications from the Mac App Store, or from Anywhere.

In the case you're an administrator, pressing the Option key while you open/install it asks you for a confirmation in case the application does not fall under the current setting.

MacOSX108DP1 2

Personally, I see this as a good move, because it lets administrators the same power as before, while moving users to a safe default that helps preventing malicious software from spreading easily.

TO BE CONTINUED...

Saturday, April 14, 2012

Ice Cream Sandwich (Android 4.0) on the Vodafone 858 Smart (Huawei U8160)

Device 2012 04 13 092814

 

NOTE: This procedure will void your warranty.
NOTE: This procedure refers to a third party modification (aka Custom ROM) that's in beta (aka UNSTABLE / DANGEROUS) status.
NOTE: This is a simplification guide on how to use Custom ROM made by another party (neither me, neither the manufacturer <Huawei>, neither the distributor <Vodafone>).
NOTE: None of the parties implied here (me, Huawei, Vodafone, the Custom ROM creator) can be held responsible of any damage caused by you following this guide, included but not limited to, your phone breaking, your phone exploding, your house exploding, the whole planet exploding or the Universe collapsing over itself.
NOTE: Do a backup of ANYTHING in your phone to another place (not the phone or the SD card). The phone contents will be erased, and while the SD card should not, anything can happen.
NOTE: Some things (camera, Youtube, occasional crashes) don't work as expected or at all.
NOTE: If anything goes wrong, none of the parties previously mentioned have any liability or the obligation to help you in any way.

IF YOU CONTINUE READING PAST THIS LINE YOU AGREE WITH THE ABOVE CONDITIONS

I got bored and searching searching I found a Custom ROM made by someone called subpsyke on the internet, and while his instructions (here) seemed to work for a lot of people, they didn't at all for me. So I decided to create this little guide.

Device 2012 04 13 091207

Step one: Root the phone

This modification requires administrator privileges to the phone. But they come disabled by default. Enabling it is called "rooting".

Luckily, this comes easy on this phone. Just download z4root (Google It! or get it from here), install the apk, execute it, and continue to step 2.

Device 2012 04 13 091232

Step two: Download the custom rom, and the Google apps.

The guide by subpsyke suggests you can do it all from the ROM Manager application. Forget about it, it's slow and gives errors when downloading the Google Apps. The easiest way is to go HERE and just download it. At the time of this writing the custom mod is in alpha 3 and the google apps is called 20120215-small.

When you have both ZIPs, put them in the SD card of your phone, and continue to step 3.

NewImage

Step three (A): Installing ClockworkMod Recovery (the easy way)

The guide by subpsyke suggests this method. It's easier and fastest, but it didn't work for me. However mileage may vary so just try it.

Go to the Android Market (or Google Play Store) and get ROM Manager.

When you have it, open it and touch on "Flash ClockworkMod Recovery". It will ask if yours is Huawei U8160. It is, install it. Now, "Reboot into Recovery".

If it boots into recovery, move to step 4. If it stays with the hourglass for more than a couple of seconds, it's in fastboot mode, unplug the USB cable and the battery, replug them (phone will boot in Android 2.2 normally) and move to step 3B to boot the recovery the bad way.

Device 2012 04 13 091223

Step three (B): Installing ClockworkMod Recovery (the developer way)

So after searching and searching and searching with a pretty hourglass, I found this other way that worked flawlessly for me.

First of all you need the Android SDK, that you can get here. If you don't plan developing for Android, just uncompress it anywhere, you can delete it later.

Once uncompressed, execute the android file inside the tools folder, and install the Platform SDK Tools. No need for anything else.

Download the file called recovery-clockwork-4.0.1.5-u8160.img from here and put it in the platform-tools folder. It doesn't matter the version installed by ROM Manager is newer, this works also.

Go to Settings->Developer on the phone and be sure that USB debugging is enabled.

Plug the phone to the computer, open a Terminal/Console/Command line and go to the platform-tools folder, then do "adb devices". If only one shows, it's working.

On the phone, go to ROM Manager, and choose "Reboot into Recovery". If now it does (whoa!) just skip to step 4. If it stays in the hourglass, don't touch anything, it's where we wanted.

Now do "fastboot boot recovery-clockwork-4.0.1.5-u8160.img", and the phone will reboot on ClockworkMod flawlessly. Continue to step 4.

NewImage

Step four: Backup the current ROM, wiping the data, and installing ICS.

The recovery is controlled using the volume up (move option up), volume down (move option down) and power (apply chosen option) buttons.

First of all, go to "backup and restore" and make a backup of the system. This needs about 250Mb of free space on the SD card, I hope you left.

Now go to "wipe data/factory reset". This is the no-return point. Everything will be erased here...

Just to be sure, "wipe cache partition".

Now "install zip from sdcard" and chose the custom rom zip. When it is done, repeat choosing the google apps zip this time.

If everything went ok, choose "reboot system now" and be patient for the next 10 minutes it takes to do the first boot (next ones are as fast as original rom).

Device 2012 04 13 093539

Step five: Enjoy. More or less...

As I said at the start of this guide, this is a beta software that will crash eventually (crashed only ONE time in 48h but your mileage can vary a lot so :p).

Device 2012 04 13 092016

The camera does not work, don't try it, it just doesn't, period. I don't consider this a big loss. The 2 megapixel, fixed-focus camera is so bad, you'd better buy a single-use analog-film pocket-camera in the nearest store.

For some reason the Text-to-Speech engine isn't working for me, it just says "Google Text to Speech engine had to be closed" but the applications don't complain.

It may happen that the wifi stops working in some ocasions. Rebooting the phone corrects the problem.

Alongside with all the Android 4.0 new features, and the usual ClockworkMod ones (like under/over-clocking) this also enabled MULTITOUCH, something that for some strange reason, Huawei and/or Vodafone have disabled in their official rom, and makes the phone work more fluently/fast (not a big difference, but you'll appreciate it).

Youtube does not get installed by this procedure, neither it can be installed from the Market (Play Store). Bad, but...

If you want to restore the phone to 2.2 repeat the procedure but choosing to restore the backup you did (AFTER a wipe).

Thanks to subpsyke for working on this modification, now I have Android 4.0 before any of my friends but one! (he got a Galaxy Nexus)

Device 2012 04 13 191545

More screenshots on my Picasa here.

Sunday, February 19, 2012

Hands on Mac OS X 10.8 Mountain Lion Developer Preview 1

MacOSX108DP1

In a press release that surprised us all, Apple announced the availability of Mac OS X 10.8 (dubbed "Mountain Lion", another kind of Puma, or the North American Panther) Developer Preview 1, for all Macintosh registered developers.

Less than a year after Mac OS X 10.7, this new operating system promises to include more than 100 new features, include more iOS improvements and designs, and be available to general public on "Late Summer 2012". No price information has been disclosed, but included strings suggest that it will not be free.

As this version includes some installation bugs, I'll dedicate a section specially oriented for installation.

Installation

Like Lion, Mountain Lion comes in a Mac App Store package. If you want to burn it to a DVD or to an USB, the procedure is the same as in Lion.

However, there is currently a bug in Mountain Lion installation, and when you install to a blank drive, something most developers will try, you'll find that there is no post-installation, and you get greeted with:

MacOSX108DP1 52

Don't try, it's not asking for a Mac OS X Server account, neither for a Lion account on another drive. It won't ask to create a user, and there is no user, so you cannot login. Funny, eh?!

So what to do? Install over the same drive that already has a Lion (update). So if you want to install on a new partition, install Lion there first.

It is able to update 10.7.0 (not tested 10.6) and it works flawlessly on VMware Fusion 4.1.0 or up, including VMware Tools. Don't try a previous version of VMware, the SCSI controller has some kind of bug and Mountain Lion is unable to found any drive.

If you install over Lion, it will ask for an Apple ID and the current timezone. Any new user you create will be asked for his/her Apple ID at first login (or to create a new one).

MacOSX108DP1 30

If you supply an Apple ID, it will ask to setup iCloud, and Find My Mac. However it's not completely setting it up as promished (iTunes and Games Center does not get set up, however contacts, calendars, bookmarks, Mail and the App Store get it).

Settings

There is one new setting "Notifications" that I'll explain below, and a few minor changes.

MacOSX108DP1 26

Accesibility gets moved to System (again).

MacOSX108DP1 25

For wallpapers, we lost the option to make the menu bar translucir, and we get a new default wallpaper, not just another galaxy, but the Milky Way Galaxy (it's where planet Earth, and then, most probably you also, is located). If you're not from Milky Way Galaxy, please leave a comment with your stargate coordinates ;)

MacOSX108DP1 24

For screen savers, the preference panel also gets a cosmetic change, with Slide Shows in a better category. There are only two screen savers (compared with 8 in Lion) and we lost the option to change it randomly :(

MacOSX108DP1 22

In Language & Text we get eight (8) new system-wide translations (Catalan, Greek, Hebrew, Croatian, Romanian, Slovak, Thai and Ukrainian), as well as support for the Chinese Lunar calendar.

MacOSX108DP1 20

In "Mail, Contacts & Calendars" (it should be named internet accounts or something else), we get new services: twitter (however my twitter account did not work), flickr, vimeo, and for the chinese, QQ, 126 and 163. Also Google accounts now get Notes synced, but no connection to YouTube (Google's equivalent to vimeo, supported under QuickTime, iLife and Aperture) or to Picasa (Google's equivalent to flickr, not supported in any Apple app by default).

Also iCloud now gets the option to syncronize Notes and computer User Accounts, so if your user is an administrator, all the accounts on that machine get created on all other machines. This is, in my humble opinion, quite useless considering iCloud is single-user.

MacOSX108DP1 21

In Security & Privacy you can configure Gatekeeper (the "Allow applications…", I'll explain it below).

MacOSX108DP1 17

Oh oh, where's Web Sharing!?!?!?! Dunno, but Apache is still installed and launched :S

MacOSX108DP1 16

In Date & Time, timezone can be set automatically depending on your current location. This, on desktop macs with no wifi connected, does not work (neither other location service), and personally I think that sending your wifi's MAC address (unique identifier for your router or access point) to get your current location is not so much private.

MacOSX108DP1 15

Accessibility gets a major overhaul, making everything more categorized, separated and cleaner, but no new options here.

So, it's time for "new things"!.

Notifications

If you're a Mac user, you probably have seen notifications from Skype, Outlook, or directly, you have Growl installed for that. Now, Apple includes a notifications system, taken directly from iOS.

MacOSX108DP1 4

A new circle with a circle icon right top of the screen, next to Spotlight, allows you to see the stored notifications. You can also access it with a swipe on your trackpad.

MacOSX108DP1 23

In settings you can set up, like on iOS, from what applications to get notifications, which kind (none, banner or alert), how many, with sound, sorted manually or by date, so on.

Messages

With iOS 5, Apple introduced iMessage, a new system that allows to send text, images and videos between any iOS device (iPod, iPad, iPhone) using your phone number and/or your Apple ID (iCloud)

Now, in Mountain Lion, iChat disappears, gets renamed to Messages, and gets support for iMessage.

MacOSX108DP1 13

That's me talking with my mom and a couple of friends (all of them with iPhone) over iMessage. I can continue the conversation (receive my messages and theirs) on my iPad and iPhone, however it only beeped on Mountain Lion, so it's not so annoying.

One thing I missed is direct access to emoji on the computer, but messages sent with them showed correctly.

You can get a beta version of Message for Lion from Apple, but take care, it deletes iChat and you can lose all ability to chat when Mountain Lion arrives!

Notes

Of course, Notes is not new, but here it gets more than an overhaul.

MacOSX108DP1 12

It is now, an independent application, and not just a list of lost items inside Mail. HOORAY!

That's really important when you have hundreds of daily mails like I do, and finding a note inside Mail is simply impossible.

Reminders

MacOSX108DP1 11

Reminders, the iOS 5 To-Do list, gets ported to Mac OS X, and gets the data from iCloud syncing :p

Share sheets

Share sheets is that little menu on iOS to share things by mail, message and twitter. And now, it gets in Mac OS X, for any account you have configures, for almost any content (webpage, text, photo). There is an icon in Safari, another in file dialogs, and even if you right click on an image inside of Safari, you get the options.

MacOSX108DP1 10

This is sharing a website on twitter, snapshot included automatically.

MacOSX108DP1 9

This is sharing the same website on Messages.

MacOSX108DP1 5

 

Sharing a photo from my Picasa album on flicker.

Available destinations depend on selected content (vimeo doesn't support photos, twitter doesn't support videos, so on).

Safari 5.3

More speed, better compatibility, ok these are the usual things.

As you've seen up, Safari gets share sheets, one next to URL (for sharing the web with a snapshot) and the other sheet in contextual (right-click/ctrl-click) menu.

Also, as you can appreciate in the previous screenshot, there is no more search bar.

MacOSX108DP1 8

Now, the address bar includes options for searching, in your default search provider (Google is the default first time), on your bookmarks and history, or on the current page.

MacOSX108DP1 7

Also you can get the list of website user and passwords stored, without having to go to Keychain Access.

MacOSX108DP1 6

And when you login on a Google account, you get asked to add it to your system accounts.

Game Center

MacOSX108DP1 53  1

Game Center is another thing that comes from iOS, and while currently no Mac game can be present on the App Store with support for Game Center, it detects any iOS game with a Mac version, and shows their options and achievements.

Gatekeeper

Gatekeeper is probably what will be the most criticized function on Mountain Lion.

Gatekeeper allows you to set up, in Security & Privacy, what applications are allowed to be installed and run in Mountain Lion.

Options are three:

Only applications that come from the Mac App Store. These applications are signed by Apple, and checked that they don't do something they shouldn't (breaking your computer, for example).

Only applications that come from the Mac App Store or applications signed by identified developers. Identified developers are those who pay $99/yr to Apple and sign their applications. This is the default option on Mountain Lion, and provides you with security without much trouble.

Any application. This is how any previous version of Mac OS X works.

MacOSX108DP1 3

Very informative message, curiously it's from an Apple application.

However if you're an administrator, you can bypass the security settings by a one time option. Right click (or ctrl click) the application or installer, choose open, and:

MacOSX108DP1 2

Now you can force open it, and it will never ask again for that exact application or installer package.

Other little things

Supported applications (none currently, future iWork betas will) can access iCloud as if it was a disk, with a file dialog and the ability to create folders.

Address Book gets renamed to Contacts.

There is no support to ATI X1000 cards or to nVidia NV40. Also support for Intel GMA950 is dropped.

There is a new driver called "Apple Thunderbolt Audio". Thunderbolt until now presented everything over HDMI (audio included) or PCIe (an audio controller can be connected there), but this new driver, it is here, and I don't quite know what device it refers to.

Xgrid support vanished.

Rumors say, X11 is dropped, Carbon is deprecated. There is no official notice about Carbon deprecated, it is still there. X11 gets the same treat as Java. Trying to open it directs you to a download page, however, this is better. Lion 10.7.3 X11 version is older than the download page one, and as X11 is not something all users need, it's not so much of a problem here.

If you have an Apple TV, the system will detect it and offer you to broadcast your current screen to your Apple TV (this is called AirPlay). However I couldn't test this feature because I have no Apple TV.

For developers

There are a few changes in frameworks, both public and private.

New public (usable by ANY developer) frameworks: Accounts, AudioVideoBridging (AirPlay), CFNetwork, CoreText (it's not new, but now it's independent), CoreWiFi (includes functions to handle WiFi connections and cards, with some low level values), EventKit (for Notifications), GameKit (from iOS, for Game Center features), GLKit (from iOS, handles OpenGL, supposedly easier to use than AGL), MediaToolbox (video output and acceleration, audio and video formar handling, colorspace conversión, so on), SceneKit (was private in Lion, renders 3D scenes and objects from Collada files) and VideoToolbox (encodes and decodes video).

New private (sable ONLY by Apple) frameworks: AccountsDaemon, CalendarAgent, CalendarAgentLink, CalendarFoundation, CommsDiagnostics, CoreMessage (iMessage), CoreRecognition (see below), DeviceToDeviceKit, DeviceToDeviceManager, GameKitServices, GeoServices, GPUSupport, IMAP (used by Notes, an implementation of the IMAP mail protocol), MediaControlSender, MessageProtection (for iMessage), MMCSServices, NetFSServer, Notes, OAuth, ODServerTools, RemoteWebInspector, ShareKit (for the Share Sheets), TimeSyncKit, XPCObjects.

From the private frameworks I've discovered three things:

1.- iMessage goes encrypted with OTR system.
2.- There is a new feature for updating firmware over USB or Bluetooth, but this framework only shows Mac models and not iDevices. It is clearly called DFU.
3.- CoreRecognition recognizes faces using integrated webcams. There is nothing currently using this in DP1, but this can be useful for login using a recognition of the user's face :p