Thursday, November 29, 2012

Windows and Thunderbolt

I recently got myself a GIGABYTE GA-Z77X-UP5 TH (Ivy Bridge z77 chipset motherboard) along with an i7 -3770k; fully loaded with 32GB RAM and dual SDDs.

As you can see in the photo below, it has two Thunderbolt ports! I will report shortly on how well it performs under Windows with the various Thunderbolt devices I have as I get settled in with the computer.


First of all, as a Hackintosh, Thunderbolt does work with devices plugged in at boot. You can't hotswap after the OS is loaded.Displaylink-HDMI works. I had 4 monitors connected.

Overall, this is a great motherboard. 6 USB 3.0 ports in the back. Motherboard has 3 USB 3 headers so you can add another 6 ports in the front. It has two USB 2.0 ports in the back and many more headers as well. My case adds another 6 USB 2.0 ports. Plenty of SATA. The ESATA is a Marvell chipset and supports 6.0 Gbs SATA III.

I've got 16,000 + Geekbench scores with this board and a 4.0GHZ clocked i7 3770K.

Stay tune as I will report back on how Thunderbolt works under Windows 7.





3rd party lightning iPhone 5 cables

It is safe to say that 3rd party lightning cables do work. This $8 eBay lightning- to-30 pin legacy dock connector works great. Charging and data both works.



Getting CPU info from the command line in OSX

Ever wonder what processor your mac is running and what features it has? Apple usually doesn't disclose the processor model name. Rather, they simply tell you it is a quad core i7 or dual core i5.


For example, does it support VT-d/VT-x? Well, in the command line, you can find out what processor it has and look it up on Intel's ark site.


 For example, if you had an i7 3770k, you could go and get the full specs at by googling "ark 3770k" which gives you a link to the specs at : http://ark.intel.com/products/65523

In linux you can cat /proc/cpuinfo.

Well, I will show you the OSX equivalents. Instead of cpuinfo, we have sysctl To get the model name
in Linux In linux:
 grep "model name" /proc/cpuinfo  

In OSX, it is:
 sysctl -n machdep.cpu.brand_string  


To get full CPU info Linux:
 cat /proc/cpuinfo  
OSX:
 sysctl -a | grep machdep.cpu  


Want to know the core count and threads, you do another pipe grep. In OSX:

 sysctl -a | grep machdep.cpu | grep core_count  
 sysctl -a | grep machdep.cpu | grep thread_count  


Here is a full example:


Friday, November 16, 2012

Target Display Mode on Macs




I've written about Apple hardware has the unique ability to boot off another mac as an external drive. This is called Target Disk Mode and it is a great feature dating back over 10 years. You can read it here on my blog.

However, since late 2009, Apple now lets you use another Mac's monitor, specifically the 27" iMac varieties, as a secondary display. With a cable and a keyboard press, an iMac can be re-used as a second monitor.

This feature is aptly called, Target Display Mode. Apple posts info on it here: http://support.apple.com/kb/HT3924

Plug in a Thunderbolt/MiniDisplayPort cable on a macbook and connect to an iMac.
Then press Command-F2 on the iMac. Voila. a Spanning display for Macbook Pros and Macbook Airs.




Now, Apple needs to implement on this on iOS devices. In an earlier blog post, I wrote about using an iPad 3 as a portable Cinema Display Monitor-to-Go using software.

With the new digital Lightning connector on the iPhone and 4th gen iPads, they need to add Mobile Target Display Mode Pronto! 

Imagine it below as it is pictured below (using Air Display). 2048x1536 via Thunderbolt-to-Lightning would kill off any DisplayLink adapters/hacks.



Thursday, November 15, 2012

SSHFS on OSX. Mount SSH/SFTP shares on the Mac.

For over 10 years, I wish Apple implemented something like this:



Command-K. Connect to Sever.

Oh, I wish for the ability to natively mount SFTP/SSH shares as volumes in the operating system. You can already do it with AFP, NFS, CIF,WebDAV, and even FTP. You can do this in many Linux distributions and I actually use it quite a bit in Ubuntu. If Only OSX did this natively!

Sure, there applications like Fetch, Cyberduck, Fillezilla and YummyFTP but it is not the same as a native mounted volume.

With native mounted volumes, you can treat them in any applications including the console and you are not restricted by the limitations of a FTP client. You can open files directly without having to upload/download as you do with as standalone FTP app.

For several years, the MacFuse/MacFusion project has been on-n-off with virtually no support for Lion on.

Fuse OSX (OSXFuse) and SSHFS projects have taken up the slack. They are the successor to the abandoned MacFuse project. Link: http://osxfuse.github.com/
It may not be easy as a point-n-click nature but you can mount SSH/SFTP shares in Mountain Lion via the console. (Note: MacFusion GUI works but only with SSH keys).

1) First, install the OSXFuse/SSHFS library/app.
2) Reboot.
3) Make a mount point directory by making an empty directory. Either in the /tmp/ or /Volumes/

mkdir /path/[local_dir]/

4) Then run sshfs
sshfs user@host:/[remote_dir] /path/[local_dir] -ocache=no -onolocalcaches -ovolname=[local_dir]

You will then be prompted to enter your SSH password. You can skip passwords if you have your SSH keys set-up.

Here is an example where I make a mount a volume and call it ssh. I make the mount point in my /tmp
 mkdir /tmp/ssh  
 sshfs root@172.16.1.57:/ /tmp/ssh -ocache=no -onolocalcaches -ovolname=ssh  

Voila. The mount point is now a visibile volume I can access. It should show up on the Desktop as a network share. Here, I have full access to one of my PogoPlugs running ArchLinux


When finish, you can then umount and remove the mount point.

 umount -f /tmp/ssh
 rmdir /tmp/ssh


Now,  you don't necessarily have to make a mkdir mount point if it already exists. For example, if you make a mount point in /tmp/ like I shown above. With an existing empty mount dir, you can skip step 3 and just go straight to the sshfs command.

Your volume can be named whatever you want and you can mount it in any directory path you choose.
Call your mount point, "MyMountPoint" for all I care.

I prefer to make mounts in the /tmp or /Volumes/ paths for consistency.


There you have it. Quite simple and now you can access SSH/SFTP shares like other file sharing protocols.

Now if the new VP of OSX engineering, Craig Federighi, ever reads this blog, please implement SFTP into the command-K Finder.

Link: http://osxfuse.github.com/

Wednesday, November 14, 2012

Drobo 5D USB 3 and Thunderbolt Review


I've had some time to play with the Drobo 5D; filling up about 6TB worth of data (out of 10.89TB in my 5X3TB setup). I've been using it in a mix-use environment. I think I have enough time to form an opinion. So here is my non-professional, regular end-user hands on review of the new Drobo 5D Thunderbolt / USB 3.0 raid box.

Introduction

The device was originally announced during the summer and there was a series of delay, waiting and anticipation. Drobo did not release performance figures until they neared shipping. This was not a very promising introduction.

I was ready to give up and go elsewhere. The Pegasus R4 is the closest competitor to the Drobo and I'm sure it will be cross-shopped. The Pegasus R4 (4 bay RAID) system can be had for $1,000 with 4TB of disks ($985 at Provantage link, $1100 amazon link).

The Drobo 5D is $850 and it comes bare (enclosure-only) but does include a Thunderbolt cable (which is worth $50 by itself). You will need to load it up with drives.  If you are a savvy shopper, you can start off with three 2TB drives to give you 3.63TB of useable data (according to the online calculator) to match the Pegasus R4's storage capacity. So if you shop around, three 2TB will cost about an $300 (with heavy slickdeals-like discount and bargain hunting) which still makes it more expensive than an R4 setup.

Even though the Drobo 5D is more expensive (with drives), you do have 5 bays vs R4 only having 4 bays. You also have the added benefit of USB 3.0 which the R4 lacks. This broadens the use of this device over a Thunderbolt only system. With 5 bays, you have the potential of filling it up with 4TB drives; giving you around 14.5TB useable storage (from 16TB). That in itself is very compelling.

You can start off cheaper with a Drobo because you can add drives at any time. But, I doubt anyone buying a Drobo at $850 will skimp out by using 1 or 2 drives.

So why would I go out and buy this device? Well, I was already allotted a budget and "gifted" funds to buy one from a job I did over the summer. In short, I had to buy one or return the bonus funds I got from that job.

The Drobo Sales Pitch
Drobo claims this device will yield 400 MB/s reads with 256 MB/s writes on average. That doesn't sound as compelling as their competition who posts higher Megabytes per second. Rather, Drobo prefers to bench based on I/O per seconds (IOPS). They believe that "real-world" performance is where the 5D will shine.

They explain this in detail on their performance page: http://www.drobo.com/how-it-works/performance-professional.php

In short, they claim:
"While benchmarking give you a good indication of how well a storage device performs when it’s healthy and for a single task, it is still not a replacement for real-world performance. Benchmarks are nice, but real-world performance is everything."
Real-world performance includes a mix workload; copying various random small files in addition to large bulky files. This is where the IOPs figure comes into play. If you are copying a Photo Library folder with lots of small thumbnails or large volumes of small text files (say a web project), your transfers will be slower than if you normally copy something like large video files. I've seen this happen in the real world where I copied GIT repo of a website with thousands of files and it did indeed take longer than copying large movie files.

They claim 400 to 1280 IOPS.  For comparison, some single SSDs are rated at 40,000 to 80,000 IOPS. The Samsung 830 SSD has benched 4K random read IOPS of 80,000.

Other HDD manufacturers do not bench on IOPS and I could not find any reviews on the net to compare the Drobo 5D to when it comes to comparable storage/raid redundancy.

If you are used to thinking in Megabytes per second, you need to acclimate yourself to IOPS.

The Drobo uses a form of RAID which is similar to RAID5/RAID6/RAIDZ. They call it Beyond Raid and it has a some unique characteristics both real and perceived. It provides single or dual disk redundancy. This in itself is very important. This is a redundant RAID system.

Unlike traditional RAIDs, you can mix-and-match drives sizes (called Mix drive utilization). You can also grow your array at any time buy swapping out smaller drives for larger ones. You can start off with 1TB drive, add 2TB in a few months, or opt to mix and match with 3 and 4TB drives as prices drop. This provides un-paralleled flexibility.

Unlike other RAID systems, Drobo implements their version of data-tiering. Tiering, not to be confused with SSD caching, basically will automatically stores the files that require faster access on SSDs. The system automatically tunes itself and migrate data across SSD/HDD depending on usage. This is similar to the "Fusion" drive technology that Apple recently announced for their new iMacs/Mac Minis. Like the Apple's Fusion drive, the Drobo requires an SSD in the form of a mSATA drive that is installed in the bottom bay. This is the key to increasing IOPS performance.

Their pitch on data-aware tiering can be found here: http://www.drobo.com/how-it-works/data-aware-tiering.php

Using SSDs for acceleration, smaller and random reads benefit significantly while the larger HDDs are used for storing larger data.  This whole process is automated. Transactional tiered data goes to SSD and bulk data goes to platter drives. I can see the benefits for databases and virtual machines.

For a non-technical person or someone unfamiliar with RAID technologies, the Drobo 5D is a simple and easy to use system. In theory, you can't go wrong. You won't get the fastest drive setup but you will get ease-of-use and a rich feature-set. Automated data-tiering is a very compelling proposition.

The things I like
  • Battery backed cache. This is found in more expensive RAIDs and helpful in case of power failure.
  • The software has a nice GUI interface with tools like email notifications.
  • Two Thunderbolt ports for daisy-chaining and it does indeed work well.
  • Black thunderbolt cable that is slimmer than Apple's cable. Where can I buy another?
  • Ability to mix drives and upgrade in the future.
  • Thin Provisioning.
  • Ability to boot from Drobo.


The Competition


Drobo's competitors here are other DAS (Direct Attach Storage) units rather than NAS like  the Synology.
As I wrote earlier, the Pegasus R4/R6 are the closest competitors to the Drobo 5D. The Pegasus  R4/R6 yields  635 MB/Sec read 535 MB/sec writes. R6 averages both 680 MB/sec read/writes.
You can get up to 1GB /sec when you load them with SSDs. Impressive indeed.

Reading Links:

The Pegasus units can be configured in different RAID types to suit your needs.

There are also other compelling Thunderbolt options in the market. Even the LaCie Big Disks goes up to 635/MB sec  (link: http://www.lacie.com/products/product.htm?id=10549) And it start at $399.

The Western Digital My Book VelociRaptor Duo has 1549.77 IOps but that is a dual drive RAID 0 Thunderbolt enclosure (http://www.storagereview.com/western_digital_my_book_velociraptor_duo_review).

In my opinion, the HDD based Thunderbolt system yields the biggest bang for your buck. You get better than eSATA/USB 3 and in some cases near or exceeding SSD territory for modest money.You can't buy 10TB worth of SSDs or a SAS based RAID cheaply. This is why the Drobo comes in. You definitely have the ability to have lots of storage.

Testing


Let me preface by saying I am NOT a professional journalist or reviewer. I am enthusiast end-user and a normal consumer like you.

My source drive is a Crucial M4 512GB SATA 6.0Gb/s running on a Macbook with Mountain Lion 10.8.2. The Crucial M4 random reads bench at 45-50,000 IOPS (http://techreport.com/review/20646/crucial-m4-solid-state-drive).

In short, my source copies will not be bottlenecked copying to the Drobo.

My Drobo 5D setup:
  • Five Seagate ST3000DM001 3TB 7200 RPM 64MB Cache SATA 6.0Gb/s 
  • Crucial M4  mSATA 6gb/s 128GB SSD w/ latest firmware 01MG as the cache accelerator drive
My set-up gives me 10.89TB useable space (15TB of drive, actual size 13.64TB).


Knowing that the Drobo 5D will not bench that great using MB/sec, I attempted to evaluate this device on Drobo's premise of mix-real world usage. However, I will also present synthetic Black Magic numbers for reference.

In terms of USB 3.0 performance, this is what Black Magic shows. 90MB/s write 110-130MB/s reads.
I've gotten better performance with eSATA boxes like the OWC Elite Pro Qx2 connected via USB3-to-eSATA adapters. It would be unfair to compare this number to faster performing single drives because this is a redundant RAID set-up. However, the OWC Elite Pro Qx2 would also be in a RAID5 format so these numbers are not that great in terms of Black Magic benchmarking.

Next, Thunderbolt. the best I could muster over several tries were 210-240 MB/s writes and 290-300MB/s reads. This is actually good for a consumer RAID but fall short when compared to something like the Pegasus R4.


Again, these are just synthetic numbers that an application produces and is not indicative of real-world use. Im not a professional reviewer so I can't give you IOPs numbers.

To follow Drobo's assumption of real-world mix usage, I attempted to see how well it performed copying a mix of different file types.

Instead of trying another synthetic test, I did it the old fashion way. I timed it. My test is all writes. I am more concerned about fast the drive writes my copy rather than how fast it reads.

Instead of copying large 30GB files to see the sustained transfer rate, I opted to try a typical usage of copying my photo backups. This s a 28.76GB folder of 2,277 photos in RAW format from my DSLR. This is 2-3 months of photos and typical usage example to test performance of copying a lot of medium sized files where the should Drobo shines.

I called this the Photo test.


I did another test with extremely small files. A webserver folder with 27,759 items clocking it at 1.5GB. These include small 5k HTML/Javascript files. So this would be a typical thing for a web developer to back up his/her files of a working project.

This is the WebTest.


I compared it with a bunch of different drives to get an idea how the Drobo fared. Obviously, it won't be as fast as SSDs but I tested with some SSDs just for reference.
  • Samsung 830 SSD via USB 3.0 in an Oyen Mini-Pro enclosure (with ASMedia 1051e chipset).
  • Samsung 830 SSD w/ Seagate Thunderbolt Adapter
  • Internal Seagate Momentum XT 2.5 " 7200 rpm drive. This is the Hybrid XT drive.
  • 5400 rpm USB 3.0 Seagate Go Flex portable drive
  • 5400 rpm Firewire 800 Seagate Go Flex portable drive
  • USB 3.0 Hitachi portable 2TB drive. 5900 rpm.
  • HDD Thunderbolt comparison against a LaCie 2Big 4TB in RAID 0.
Here are the results... I will give a summary and interpretation below.
Photo Test. Copying 28GB of Photos.

Shorter bars are always better.



Web Test. Copying a folder of HTML/Javascript/PHP files.



Full Chart.


Device Time (min.sec)
Photo Test USB3.0-Samsung SSD 1.54
Photo Test Thunderbolt-Samsung SSD 1.30
Photo Test HDD Seagate 7200 rpm internal drive 6.18
Photo Test 5400 rpm 2.5 Go Flex USB 3 6.18
Photo Test 5400 rpm 2.5 Go Flex via Firewire 800 6.18
Photo Test 5900 rpm external Hitachi USB 3 10.02
Photo Test LaCie 2 Big Thunderbolt 4TB 1.47
Photo Test Drobo 5D 3.58
Web Copy USB3.0-Samsung SSD 2.28
Web Copy Thunderbolt-Samsung SSD .27
Web Copy HDD Seagate 7200 rpm internal drive .41
Web Copy 5400 rpm 2.5 Go Flex USB 3 12.04
Web Copy 5400 rpm 2.5 Go Flex via Firewire 800 1.36
Web Copy 5900 rpm external Hitachi USB 3 14.41
Web Copy LaCie 2 Big Thunderbolt 4TB .28
Web Copy Drobo 5D 1.04

Test observations.

Going in,  I knew the SSDs will smoke any HDD system. That is a given.
The Drobo 5D performs decent in my view. It is not super fast and not slow. The LaCie 2big Thunderbolt simply smokes it but we have to remember, the LaCie is a Striped RAID vs Redundant Array. Also, the LaCie is  4TB/6TB  vs 10TB (you can go up to 16TB on the Drobo).

If you notice, Firewire smokes the USB implementation when it came to small 4k-10K file web copies. This illustrates the inefficiencies of the BOT (Bulk-Only-Transport) protocol of USB 3.0.

Watching the progress bar on a regular USB 3.0 drive was painful to watch as it struggles with smaller files. 12-15 minutes for a 1.5GB folder!



The Drobo 5D performed surprisingly well. Like I said earlier, the synthetic benchmarks will not give you a realistic idea of how the drives will perform in the real world.


So is the Drobo 5D fast?

I wish I had a Pegasus R4 to compare. I ran this test about 3 times on fresh formatted systems. I also skipped testing the Drobo 5D via USB 3. It simply wasn't that fast with USB 3.0 in my view.

It did surprisingly well where it was suppose to -  with smaller files. If you are copying 4-6GB Blu-Ray ripped movies, there will be other things out there that will out-run it.

How it fares will ultimately depend on how you plan to use the device.  I would also add that my test may not be indicative of your use. The device is suppose to automatically tier the data upon repeated use and you might fare better in a different workload environment.

The speed perception will also depend on what you are used to. I've been living with SSDs in my day-to-day life that I'm very spoiled. I carry about 4-5 SSDs in my carry bag. The LaCie 2big is also a very fast HDD Thunderbolt enclosure. Read and writes average 300+ MB/sec. But I have to remind myself that the LaCie is a striped RAID and not a redundant RAID like the Drobo 5D. The redundant RAIDs I've used are the OWC Mercury, MediaSonic, and Sans-Digital eSATA based systems for consumers. At RAID5, they often top out at 150-200 MB/sec. So when you compare it to the Drobo 5D, the Drobo is indeed faster. However, those enclosures are  $300-400 versus a $850 Drobo.


Is this for you?

First and foremost, you need to have a Thunderbolt equipped machine to be in the market for this device. The USB 3.0 is a nice add on for future proofing but it isn't the main reason to buy this device.

Should you use this device in a network share environment? No. This is not a NAS or even recommended as storage for your SOHO server. I've read of people planning to use this device ( and other Thunderbolt RAID systems) as storage for mac mini server set-ups. With Gigabit's theoretical 125 MB/sec limits, this device is over-kill on single NIC servers. You'll need Fast multiple NIC teaming or 10GbE networks to properly use this for multiple clients.  Otherwise, there are mini-SAS eSATA solutions. Look elsewhere for a dedicated NAS system for your SOHO use.

There will be users who buy the Drobo 5D as their primary backup system. Like with all backups, it is not a good idea to have all your eggs in one basket because with one catastrophic failure, you lose everything. There are countless horror stories on RAID failures. Drobo is not unique . If you plan to use this as your primary backup, please consider having additional offline or additional supplemental backups as well.

I think the buyers will most likely be creative professionals who need fast, large storage. They include photographers and video editors who need to move large files fastly. If you are planning to copy and archive  your MP3 music collection, this is definitely over-kill.

My use case would be a mix usage with a heavy leaning on using it as a fast work drive. E.G. scratch drive, running Virtual Machines, Lightroom catalogs.

Drobo with other platforms.

Right now, Macintoshes have a monopoly in terms of Thunderbolt usage. I'll follow up in the future to give my opinion on using this with Linux (via USB 3.0).

Conclusion

You need to heavily weigh your needs and your usage to consider this device.

Filling up a Drobo is not cheap. 5x 2TB drives would cost you around $500 (if you can get the drives at $100 a piece) and this would yield you 7.26TB of usable space according to their drive calculator.
Dont even bother with 1TB drives. The difference being $70 vs $100 2TB on sale, go for the 2TB or 3TB HDD drives. Hence, we are now talking about around $1350 to begin. This does not include the mSATA cache accelerator drive.  With a 128GB mSATA cache drive, you are looking at $1500.
$1500 can buy you lots of drives, SSDs, and even a few RAID enclosures.

As for a redundant backup system, you may want to skip the Drobo 5D because I do believe the $850 is a bit pricey for that type of use. If you absolutely need to have something faster than your current backup system, then the Drobo 5D may be an option for you.

As for a performance oriented work drive, it is a tough call. The Pegasus R4 is a proven performer with little problems (according to end users and message boards). You can buy an R4 for your fast RAID5 and a few external USB 3.0 3TB drives for your secondary backups. Or you can buy a LaCie Big Disk (I got a 4TB refurb for $200) and a lot of spare 3-4TB external drives.

The picture below exemplifies this hard choice. $900 can get you a LaCie 2big, 2 SSDs, three 3TB USB 3.0 external drives (totaling 9TB) vs an empty bare Drobo 5D enclosure (with no drives). 13TB vs 0 on the Drobo.



For me, it boils down to this, how big of a scratch work drive do I need? If you need 6 TB and larger, the Drobo is a good buy.

There is no substitute for the fact you can get up to 16TB of storage with good speed. 200-350 MB/s is still very good.

If you are looking for a combination of both in terms of mix-use (backup drive and work drive), then you might buy the sales pitch Drobo is making.

As for me, I think a mix-setup that I currently have is more preferable: A fast 4TB cheap Thunderbolt striped RAID or SSDs for work disk and a NAS for backup along with multiple external drives/cheaper RAID setups.

If the Drobo 5D was $100-$200 cheaper, I would totally recommend it.

I'll probably end up keeping this device. I can always use the storage.

Update 2012-12-03: Thunderbolt does not work under Windows. Read more on my blog post.

Tuesday, November 13, 2012

Drobo 5D First Look


The Drobo 5D is the first dual USB 3.0/Thunderbolt RAID system from Drobo. It had a long anticipate wait, but now I have one in my possession. Was it worth the long wait? Lets see!

This is a first look at the newest Drobo. I will follow up with a more comprehensive take/review later.


My Drobo 5D setup:

Five Seagate ST3000DM001 3TB 7200 RPM 64MB Cache SATA 6.0Gb/s 
Crucial M4  mSATA 6gb/s 128GB SSD w/ latest firmware 01MG as the cache accelerator drive.

My set-up gives me 10.89TB useable space (15TB of drive, actual size 13.64TB).

I quickly added a mSATA SSD and loaded it up with drives.


Depending on how it is connected, you will see a unique icon on the Mac desktop. You will easily tell if you are connected via USB 3.0 or Thunderbolt.


Loading up the Dashboard software, you will be greeted with various configuration and monitoring tools.



How does it compare to other drives I have in my possession? That will be the topic of my next post as I get more familiarized with the Drobo 5D. A full review of the Drobo 5D will appear on this blog shortly.






Monday, November 12, 2012

Finally a good MySQL client for Linux, using WINE Crossover


If you've been running Ubuntu 11.04 and up, you will notice Canonical no longer provides support for the classic MySQL Query Browser and Admin. Instead, you are relegated to using MySQL Workbench or use an application like Emma.

Well, some people are set in their old ways and do not like to use something monolithic as Workbench. For example, if all you need to do is query, why go through the steps of making profiles to connect to random MySQLservers?

During the Election, Crossweaver gave away copies of Crossover for Linux and OSX. Crossover is a proprietary commercial version of Wine and works quite nice. It is not an OS virtualization tool like Vmware or Virtualbox. It is more of a run-time, application compatibility layer to allow you to run (some) Windows apps inside Linux or OSX. Instead of launching a heavy weighted OS, you launch a Wine Bottle and run your Windows app inside Linux with full access to the native filesystem.

How does it work? Quite fantastic. I installed the classic MySQL windows tool, HeidiSQL (a popular Windows MySQL client), Komodo Edit and Notepad++ with no problems.

HeidiSQL is so far superior to Emma.

Installation couldn't be easier. Build a bottle and select your .exe or .msi installer.






Like I wrote earlier, the app works within the OS. You can access your services locally like you do on any other native application. File-system is visible as well as networking




Pay attention to the screenshot below. I am connected to localhost (127.0.0.1). My local server is Ubuntu and my local client is WindowsXP. Cool. Dual identity.






Crossover works great on Mac OSX as well. However, I don't have applications deficit on Mac OSX so I wont be using it much on a Mac.





If you don't want to use Crossover, WINE is freely available.




Links:
http://www.codeweavers.com/products/
http://www.heidisql.com/
http://www.winehq.org/

Windows to Go and the OSX take on it.

Windows to Go is making big news in the tech scene this past Summer and Fall. Every where I go, I read something about it. People are making a big deal about it.


So what is the big deal? Windows to Go is a feature in Windows 8 Enterprise that allows you to boot and run from USB. This is different than LiveCD/USB with persistence you find in Linux or previous USB OS installers in Windows. You get to run the full operating system via a USB stick or drive.

It is designed for Windows Enterprise users (Admins) to provision and build custom images for deployment. This is specifically aimed for the enterprise.

Feature Overview: http://technet.microsoft.com/en-us/library/f82d1a0a-d8f7-4e8a-86a6-704166969a42#wtg_hardware
FAQ: http://windows.microsoft.com/en-US/windows-8/windows-to-go-faqs
Wiki: http://en.wikipedia.org/wiki/Windows_To_Go
Enable Apps Store install in Windows to Go Workspace: http://blogs.msdn.com/b/hyperyash/archive/2012/08/15/enabling-windows-store-on-windows-to-go-machines.aspx
Step by Step /how-tos for building a bootable USB image:
Requirements includes certified USB sticks. Currently, only 3 qualify to run Windows to Go at the moment (though it has been proven to work on any normal USB).

This is tailored for the enterprise and Windows 8 Enterprise provide easy provisioning tools.
You dont necessarily need Windows 8 Enterprise and I've found countless how-tos online which drag you along a trail of steps.

The whole process seems convoluted. You have to extract .WIM (Windows Image File) from the Install DVD and prep your USB by format and partitioning.
Then there is the issue of licensing which Microsoft hasn't touched on yet.

Once installed, I've read there are some issues with it such as the physical disks are hidden from view. There are others like performance issues. It seems to me like a form of persistence found in Linux distros and not a true full install.

A Mac user's take on this.

Now, this blog would do an injustice if it didn't show you how it is done on another operating system with a bit more elegance.

Mac OSX has been booting off portable USB/Firewire since 1999. I mean full working OS booting and not some sort of USB installer or some sort of live USB with persistence. In fact, I remember installing OSX and booting off the original 5GB Firewire iPod to do system imaging for Macs.

The preferred way to do this is cloning.

If you ever "ghosted" or clone a machine (regardless of platform), on a Mac, you can boot off the ghost clone on any drive. It is really that simple.  You can do a clean fresh install to any physical media type you wish as there is no limitation in the OS.

Next, there is no concept of "workspace" that Microsoft has implemented. You can see other drives and hardware on your clone boot. Nothing is hidden. And unlike some Linux distros, OSX does not load the OS read-only into RAM. The persistence method found in most Linux USB, to me, is not a full running install.

Moreover, on a Mac, it also doesn't have the limitations such as "apps" being locked to hardware or other issues I've read on Windows to Go.  You install Photoshop and Office on one build, it works once booted off another machine.You can clone off one image and run pretty much on any mac of comparable generation. You won't be able to boot a 2012 Mac off a 2006 clone which is given but you can pretty much go up and down at least 2-3 generation of hardware.

There is no provisioning tool necessary and you don't have to extract anything from any an ISO or DVD like you do with Windows 8.

In fact, you can take your live running mac and do a live hot-clone. All your existing files, emails, applications and preferences will carry right over.  The next time you boot off your USB stick, it will remember where you last left off on your original drive.

No special apps is necessary to accomplish this feat. In fact, you can do it with the built in Disk Utility or simply run from the command line. There are apps that allow you to simplify things like Carbon Cloner (which for years was free). These apps allow you to do things like schedule synching of a working mac. E.G. make nightly clones, synchronize and update your USB stick off your original drive. If you wish, you can sync back from your USB to your hard drive.

The only requirement is that you format your drive in GUID format which you already do anyways on a Macintosh. There is no need to build a boot partition or master boot record.

You don't even need a USB drive. You can boot off Firewire, Thunderbolt, SDcard, and even off another Mac via a normal Firewire/Thunderbolt cable.

Another plus, if you have existing apps on other mounted partitions, no re-installation necessary for 90% of those applications. Since Mac Apps are special clickable folders, all you need to do is click to run. This is equivalent to Windows' portable apps but default on OSX. They are mostly self-contained. You simply copy the app over if you want them permanently installed on your new USB drive. No running "setup.exe" or "install.msi" necessary.

You can boot your OS off USB and run your apps off SDcard if you are limited by storage.

Now lets compare how it is done between the two.

Example how-to build a Win-to-Go. You can read various how-tos online like this. Unless you have the Enterprise provisioning tool, expect to google various how-tos and articles showing you the beauty of it all.


And here how it is done on a Mac with 2 commands in the terminal. This is done on a live running  machine or you can do this clone cold.

asr -source /Volumes/Macintosh\ HD/ -target /Volumes/backup -erase -noprompt
bless -folder /Volumes/Macintosh\ HD\ 1/System/Library/CoreServices


No reformat necessary for existing HFS formatted drives.. You can even keep your existing content on your destination drive!


Or, point and click like  below. Clone and live running Mac to USB/SD/Firewire/Thunderbolt using an app such like Carbon Cloner. 

Then boot from your desired drive connection. Below,  I have the same build cloned to a Firewire, USB 3 drive, USB 3 stick, Thunderbolt, and SDcard.


As you can see here, I can select the various bootable volumes. Hit the option key at boot to prompt your boot selection. Notice the nice graphical boot menu which has been around since 1999.


Or if you prefer, boot off another Mac using Target Disk mode by connecting two cables to one another.

Here, I boot off another macbook and clone it's entire working content to another bootable USB-SSD drive.


Thats it.  So you can see why I chuckle whenever I read something on the Internet about Windows to Go. I've been doing this since 1999. In fact, I've probably built hundreds of clones and imaging on various media formats for over 13 years now.

I guess I've taken this feature for granted. I recently bought some external drives and when I format them, I often have a 16 GB partition where I clone over my latest build and I don't even think about it because it comes natural on the Mac.

In fact, I've been booting off a portable Thunderbolt drive and it is faster than running off the internal drive of a 27" iMac. I often swap machines and boot off the same drive on other macs; running Adobe Creative Suite and MS Office all day long. I get 8 second boot, 300 MB/s writes and 400-500 MB/s reads. Photoshop and Dreamweaver launches in 2 seconds flat. This is how I've been taking my work home for years. There is absolutely no difference whatsoever or work-around running from an alternate external boot.

Then if I get bored, I can clone my working, running mac to a disk image and boot that image off a netboot share.




Sunday, November 4, 2012

geekery of the day: Next OpenStep inside WindowMaker

Today's geekery. Openstep 4.2 running inside Virtualbox under Ubuntu 12.04 running WindowMaker (a window manager clone of NextStep).


I am trying to make a QEMU image so I can run NextStep/Openstep inside Android. Wish me luck.

Retro-computing at its best!

Friday, November 2, 2012

HTML Text Editors for Android Tablets


My last post on iPad apps got a good reception so I will follow up with a review on some Android "tablet" text/code editors. These editors are designed for writing code with syntax highlighting and more advance features than a simple notepad editor.
Some of these apps have code preview, FTP, and even SFTP integration.

The apps I will mention in this post are:
Touchqode , DroidEdit Pro , AndEdit HD , WebMaster's HTML EditorAndroid Web Editor PRO , SilverEdit , and kEdit.

Rather than bore you with in-depth review on each and every app, I will highlight what I think in terms of good features and shortcomings.

I chose these apps due to their popularity and the touted "tablet" compatibilities. You don't need to use a tablet specific apps. In fact, there are some good phone apps that work.
However, I am believer in optimized interfaces.If you use a tablet,the experience should be more compelling than a blown-up phone app. Unfortunately, a majority of these apps are just that - blown up phone apps.
Well, you can also use phone apps and they may work for you.  Phone Apps include Jota Text Editor , TextWarrior , 920 Text Editor and I will briefly mention them as well.

First of all, before anyone attempts to do any text editing on Android, they need to use Hacker's Keyboard. If you have been using Android for any serious work, Hacker's keyboard needs no introduction but it is pretty much essential for control,tab, and escape which are not found in stock Android keyboards.

If I had to choose any apps out of this entire lot, it would be DroidEdit Pro or Touchqode. Both are highly rated and popular. Both have the important requirement of SFTP integration. That is a pre-requisite for me. There is no point in editing a server-side script locally off a SDcard or internal storage.

If I had to end this review, these are the two apps you only should look at.
I would give a slight preference over DroidEdit due to user interface. Touchqode feels too much like a blown up phone app in my opinion.

DroidEdit Pro Screenshots




Unfortunately, DroidEdit Pro suffers from many Android quirks in responsive layout. I had to switch orientations for many of the feature-sets because you would have over-lapping UI. I'll cover more of these "Android quirks" later.


Touchqode screenshots. As you can see, it still looks like a blown up phone app. Those buttons are extremely small. The app works fine on my phone but looks out of place on a larger screen.




Next, The only app that has a tablet feel is AndEdit. It supports a dual pane interface and you would easily mistaken it as a clone of an iPad app such as Texstastic. Unfortunately, that is all it has. It is rather buggy. Syntax highlighting is poor and there is no FTP/SFTP. Furthermore, it has no option of full screen text editing. The dual pane view is only good for selecting among files. It tries to be a clone of some iOS apps and ends up becoming an also-ran app.

AndEdit screenshots:


Bugs like these are annoying. Frozen panes and the apps tell you there are no open files. This happens after you try re-opening after a crash.


WebMaster's HTML Editor,SilverEditkEdit, and Android Web Editor Pro were pretty much lackluster. They felt like text editors with minor features like line numbering and additional buttons for brackets and curly braces.

WebMaster's HTML Editor


kEdit. In addition to the lack of SFTP, the poor syntax highlighting made this program irrelevant for me.


SilverEdit made me scratch my heads a few times. The UI doesn't work too well on a tablet.



I didn't feel like Android Editor Pro added any value vis-a-vis the competition. And look at that UI!


In fact, I prefer the free phone apps such as Jota, TextWarrior, 920 Text Editor. Unfortunately, they also lack FTP/SFTP integration which rules out their utility.

Still, I would keep at least one text editor on hand. I figure I could use some other apps to get my files but that is rather clumsy and requires clicking in and out of apps.

920 Text Editor
TextWarrior


Jota


In general, these apps suffer from  Android quirks. Yes, I call them quirks. These apps are designed with "responsive layout." Meaning the UIs are designed for multiple resolution and are highly adaptive
( http://developer.android.com/training/multiscreen/adaptui.html ).
Developers need to take lesson from these guys on Design principles and guidelines for Android apps (http://mobile.smashingmagazine.com/2012/07/26/android-design-tips).

The problem with the stale responsive approach is you get a lot of wasted space. Incredibly small interface elements on high DPI tablets. Buttons tend to be small. List menus require a toothpick or stylus to click. For example in SilverEdit, I had a hard time clicking on files in the file manager. I would mistakenly open up an excel file instead of a javascript file in my Downloads folder. This would trigger a crash every time.



Then you have mismatch elements. Keyboards covering up menus. For example, trying to do a search-n-replace in DroidEdit is a frustrating exercise. I would end up switching orientation from landscape to portrait to reveal the "Find menu." In fact, in numerous instances, I had to switch orientation for various reasons. The ridiculously large virtual keyboards (I've tried many different keyboards) would take up a lot of wasted space that I would often end up going portrait.


To fix the problem above, you need to flip the tablet to portrait mode which is counter intuitive when you use a bluetooh keyboard in a case or dock.

First, none of these apps support version control (I haven't found one on iOS either). But the important thing is none of them support organization by projects. If you are connecting and downloading from various SFTP servers, you can easily get lost on which files belong to which server. In my testing, I was simply downloading various source code and it got confusing to which files belong to what source. Since many of these apps are "blown-up" phone apps, none of them offered a dual-column file manager that would allow you to organize your downloads. A better option is the ability to clone a folder from a remote website locally. Hence, you would probably end up using another FTP/SFTP client to organize your files. In the end, it is a bit counter-intuitive and gives a user a cumbersome experience. However, if you are only editing off one server (say a personal website), then an application like DroidEdit Pro would work.

I would also caution that you should always check to see if you are working locally or remotely. Some of these apps open up remotely and save remotely at the same time. If you lose a data connection or something happens, you can accidently delete a live file. Hence, I prefer some sort of cloning/downloading to a staging area. You can always "save-as" to a local folder but the UIs in many of these apps are not that informative or intuitive to tell you. Never hit the "save" button and always use the "save-as."


Last but not least, the most important thing is stability. All of these apps inhibited stability problems especially when loading large files such as javascript frameworks, libraries and minified files. Loading up the main jquery framework file would often result in a crash in many of the apps. They would attempt to syntax highlight and simply crash. Fortunately, some have the option of turning off syntax highlighting.

My conclusion. Android tablet apps have a long way to go. But if you had to choose, some of these may work for you.

Links:
Touchqode
https://play.google.com/store/apps/details?id=com.touchqode.editor

DroidEdit Pro
https://play.google.com/store/apps/details?id=com.aor.droidedit.pro

WebMaster's HTML Editor
https://play.google.com/store/apps/details?id=com.welant.webmaster

Android Web Editor PRO
https://play.google.com/store/apps/details?id=com.webedit.app
Lite version:
https://play.google.com/store/apps/details?id=com.webeditlite.app

SilverEdit Lite
https://play.google.com/store/apps/details?id=com.silver.edit

SilverEdit
https://play.google.com/store/apps/details?id=com.dictatordesigns.silveredit

kEdit Lite
https://play.google.com/store/apps/details?id=com.kkteam.kedit
kEdit Pro
https://play.google.com/store/apps/details?id=com.kkteam.KEditPro

AndEdit HD
https://play.google.com/store/apps/details?id=be.vbs.andedit

Phone Apps

Jota Text Editor
https://play.google.com/store/apps/details?id=jp.sblo.pandora.jota

TextWarrior
https://play.google.com/store/apps/details?id=com.myopicmobile.textwarrior.android

920 Text Editor
https://play.google.com/store/apps/details?id=com.jecelyin.editor

Keyboards

Hacker's Keyboard
https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard&hl=en