Stands on the shoulder of Giants

My rambling and thoughts. Powered by Obtvse

Upgrading to Mountain Lion

Mountain Lion is the latest version of OS X, also known as OS X 10.8. It was released at 25th July 2012, distributed only through Mac App Store, with USD $19.99. I spent 20 hours for downloading it, using my dedicated 1 Mbps Internet connection at home. It weight at 4.34 GB file, so it will need a lot of time downloading, considering the situation in Indonesia.

I decided to purchase it, because there are many ositive reviews given, since Apple releasing the Golden Master version to some developers. Apple stated that it brings 200+ new features for user, and it solves some annoyances in Lion. The other thing is, you can install Mountain Lion in other Mac, without any additional cost. My wife's MacBook Pro runs Snow Leopard, and it can easily upgrade to Mountain Lion.

After doing some reading, I decide it is better to upgrade than doing some clean install. Doing clean install surely bring speed to my Mac, but it will need a lot more time to do. I am planning to do it someday, so I save the installer to external hard drive.

If you are planning to upgrade to Mountain Lion, you better doing some research first. First of all, you need to check, whether your Mac is able to run Mountain Lion, you can refer to requirements from Apple. Second, backup your computer using Time Machine. Third step is to access RoaringApps site, where you can find a list of application that compatible with Mountain Lion. This step can help you to decide, since it can cost you a lot to buy new apps just because it is not compatible with Mountain Lion. And lastly, since Mountain Lion does not come with a DVD recovery, you need to create it before installing it, since Apple will delete it after installation process. You can use a DVD or a 8 GB USB flash disk as the media, using tutorial from Ars Technica.

The installation is smooth, it took me 30 minutes to finish the installation. I was suprised that it was running fine. No hassle at all. Hat tip to Apple, for creating such an easy process to upgrade your operating system.

Sparrow is gone

Today, Sparrow announced that they're joining Google GMail team, for developing next generation of GMail. Since they are going to be busy with Google, now further development for Sparrow.

It sucks I may say. F*ck.

Note: Love how Marco Arment wrote about it. And John Gruber's response is hillarious.

iOS and Jailbreak

Jailbreaking your iOS devices

I own two iOS devices at the moment. An original iPad and a iPhone 4S device. As a self-proclaimed geek, I jailbroke them. My iPhone runs iOS 5.1.1 and the iPad runs on 5.0.1 version.

I love jailbreaking my iOS devices. They give me tweaks that improve my device capabilities. For instance, I once purchased a tweak that give iPad capability to make a phone call. Jailbreak also make my iPhone more powerful and flexible, and easier to use.

These are my default tweaks installed, you can find the description in a lot of sites:

  1. SBSettings
  2. CyDelete
  3. FolderEnhancer
  4. iFile
  5. IntelliScreenX
  6. DisplayOut (for iPad)
  7. openSSH Server
  8. Springtomize+

Problems in jailbreaking process

Jailbreak process is a double-edged sword. In one side, you will get extra flexibility and power that Apple does not provide. As a power user, you might love this because you can control your device, more than Apple can. Something that Android users proud of than Apple users.

But there is a catch, since jailbreak tweaks sometimes messing around with iOS internal stuff. Stuff like iOS internal plist files and daemon's configuration. It can lead to a serious problem. Your device's performance can be very slow. Or most of the time, your battery suddenly drained faster.

I myself experienced these problems with my iOS devices. With my original iPad, its performance drops till it can not respond to my touch at all. These symptoms occurs when I perform 'Update All' operation in the App Store app. I have to wait for the update operation finished to gain the responsiveness.

I finaly began to investigate the culprit lately. I perform the 'Update All' operation, and so it began. The iPad get slower and slower until I can not interact with it at all. After examining for a little while, I noticed that one of the icon start blinking very fast. Finally I found the culprit! Now I can continue to find the solution.

After doing some research, I found that iOS gives a real-time priority for display related process, including icon drawing. As the icon tries to update all the time, the OS pratically ignores all the input and resulting to a non responsive system.

The fix is relatively simple, I just need to identify the package, and remove it. Since it does not response to my touch, I need to find other way to uninstall. This is the moment that openSSH package comes to rescue. Since an openssh server instance is running in my iPad, I can SSH to it by using terminal in my laptop. And the another important fact thing about Cydia package, they are actually a debian package.

What does it mean? It means, along with the Cydia app, I already have apt and dpkg command in my iPad. I can remove package as easy as managing my Debian server.

But it is still far from over. Unfortunately, I switch the openSSH process off. So, now I have a non-responsive iPad with no way to fix it. The final way is restoring it. This time, I choose not to jailbreak it. The good thing is, the problem now is gone. My iPad keeps its performance, no lag at all.

The other problem is with battery life. I find my iPhone battery is draining so fast, comparing to my brother's iPhone 4. I kow it is not an apple to apple comparison (pun intended), but the numbers showing that there is something wrong with my configuration.

Fortunately, this problem does not force me to restore my iPhone. I found an App, developed by UC Berkeley named Carat. It is a research application aiming to detect energy bugs in your smartphone. At the moment, you can install it in your iOS and Android devices.

Carat is very easy to use. All you need to do is launch the app, and let it monitors your device's energy consumption for few days. The application will give you a notification when it has finished, showing energy bugs application. You can read more on this matter in their website.

Carat's reports show that one of my tweaks consume most of my device's battery. The tweak is Springtomized+. I used it for changing my homescreen layout, my dock and task manager behaviour and the folder appearance. So, it is no wonder why Springtomized+ eats the most. I finally removed it along with some other apps that included in the list.

Conclusion

I have not done another examining about the battery life after Carat's result, but I feel that the battery life is increasing. I will write about it later.

The lesson here is you have to choose your jailbreak tweak carefully. And you mus read the description very carefully before installing it. Jailbreak still provides a lot more tweaking, but with greater power, comes greater responsibility. You must provide emergency plan for fixing the side effect.

Obtvse

I started using Obtvse as my blogging platform replacing my old Wordpress blog. I chose to migrate because I need a blogging platform that simpler than Wordpress. I loved reading blog like Daring Fireball, Om Malik, and The Brooks Review. They wrote great article, and apparently, they are using a much simpler blogging platform, focusing on the content. Since I want to be a better writer, I think I need to search a blogging platform that suits me better.

I found Obtvse, a port of Svbtle, which is invitation-only blogging platform. A guy named Nate Wienert in his post described his dissapointment about how Svbtle works, and releasing an open source version, codenamed Obtvse. Obtvse uses markdown format for posting, a simple yet powerful format for producing professional documents.

Next step is finding a hosting for my new blog. Since I use Wordpress for the last 6 years and before that using Blogger as my blog, I do not have experience finding and hosting a new blog. Fortunately, there is heroku. Since obtvse is a Ruby on Rails application, heroku provides a easy way for deploying this application in no time. You can find the instruction in Obtvse homepage. After following this instruction, my new blog is finally up in this address.

The final step is migrating my existing domain name to my application in Heroku. Heroku provides a free DNS, called Zerigo for adding custom domain name. All you need to is add this add-ons using heroku command-line applications and configure custom domain name in your application control panel. Finally, after waiting for a couple of hours, your domain name is now pointing to your heroku app.

So, Obtvse is a simple bloggin platform, open sourced and easy to customize. With heroku support, you can set your new blog in just a few minutes. Happy writing!

Tweaking Eclipse in Mac

If you are developing an Android application on a Mac, you will notice that the Eclipse IDE is very sluggish. As a IntelliJ IDEA user, it made me frustated. After doing some querying in Google, I finally found the solution. I put this as a note for further reference.

All you need is to update eclipse.ini configuration file. You can access it by right clicking Eclipse.app and choose Show Package Contents. Navigate to Contents -> MacOS -> eclipse.ini. Open file eclipse.ini by using text editor.

Find this line:

-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx128m

change it to:

--Dosgi.requiredJavaVersion=1.6
-Xms256m
-Xmx1024m

And voila! This configuration makes Eclipse IDE loads faster and more responsive.

WTHR application

Meet WHTR, another weather application for iPhone, inspired from Dieter Rams' principle of design. This app cost USD $ .99 and it is good. The current version has a bug, where it required the Location Services to up as long as the application running. It will be fixed in the next version.

WTHR Screenshot

You can read the reviews about it here:

  1. iDownloadBlog
  2. MacStories

Quotables

Don't Confuse the Urgent with the Important

-- Preston Ni

MacBook Air SSD

I was reading about MacBook Pro Retina Display review by AnandTech. It was a wonderful and thorough review, examining inch by inch the new cool stuff. Apple's attention to details has struck me again, especially in the part where they are writing their own filter routines for achieving smooth experience with the retina display.

In this review, Anand was comparing the new MacBook Pro with other Apple's product, the mid 2010 MacBook Pro, the mid-2011 11" and 13" MacBook Air. I do not want to go details here, as you can read it in the article, but I would like to highlights a section of review that caught my attention.

Anand was examining the new retina MacBook Pro SSD read performance, comparing to other products. As you can see in the image below, the mid-2011 MacBook Air has SSD from two vendors, Samsung and Toshiba.

SSD Comparison

The MacBook Air with Toshiba performance is really poor compared to the one with Samsung. One thing crossed my mind, will Apple accept someone's claim, because the Toshiba performance is disappointing. In my opinion, it's not fair for the unfortunate ones who owns the Toshiba MacBook Air.

Anandtech review of MacBook Pro Retina Display

Wonderful and detailed review.

The Setup

One of my favourite websites is The Setup, which provides interviews with people, talking about what do they use to get stuff done. It is very interesting to read about how people use technology to help them in their job, and some of them are very cool setups. If you are a GNU/Linux fan, you can find the similar setups in My Linux Rig site.

I have read about some famous people talking about theirs inspired by those two sites, such as this article by Mahdi Yusuf or Kenneth Reitz's setup. So, in this post, in the spirit of sharing, I would like to share about my development setups. It might not as cool as those guys', but I hope you can find some information in it.

Hardware

My primary and the only development machine is a Mid-2011 11" MacBook Air. It has Intel Core i5 running in 1.6 GHz. I chose the model with 4 GB 1333 DDR3 and 128 GB SSD Harddrive. Because the space is quite limited for a modern laptop, I employ myself with a 500 GB Western Digital Elements SE External Harddrive. I put my iTunes library, and other non-working related stuff. I also have another similar harddrive used for Time Machine backup, including my wife's MacBook Pro.

While I am enjoying working in a small screen estate, my office provides me a 23" LG HD Monitor/TV. It makes my work more enjoyable. I enjoy music using my Philips and iPhone white earphone, which one is closer to my reach. I also use a Samsung External DVD Writer Drive for backups and deployment stuff.

I own a Samsung Nexus S running Codename ROM 2.0 (Ice Cream Sandwich 4.0.4), I unlocked the bootloader and put a custom ROM because Google's is too plain to my taste. I also own a iPhone 4S, already jailbroken and running the latest OS (iOS 5.1.1). After using these two popular platform, I must say I prefer Apple's than Google's. I love how iOS just works, and the animation is waaay smoother than the Android counterpart, despite that I own the latest Apple smartphone whilst my Nexus S is one year older. However, I love how apps can interact in Android, it is way more natural than the iOS'.

Each my phone has a data plan, I use them as backup when I work outside the office, or when I need no proxy environment.

When I am not working, I enjoy reading Twitter in my 1rst Generation iPad. I also love to watch TV Shows or Apple's Keynote in my bed. The iPad is my first Apple device, and I can not stop since. That device is just magical in my opinion.

I am relying to Dropbox for backing up my personal documents. I store them in a encrypted volume created by TrueCrypt. I use MacFUSE's encfs module to mount them adjusting my needs. I own 3 Dropbox account, each for different purposes. Usually, I ran them simultaneously using these trick.

I store my work related code in our private Repository Server. For my personal development, I use GitHub and Bitbucket. I don't have many public repositories yet, but I am still learning.

Software

My laptop runs the latest version of OS X, OS X Lion 10.7.4. My primary progamming language is Java. I use the latest JDK 7 version from Oracle. I use IntelliJ Idea Community Edition as my primary IDE. I am still saving for buying the license (read: waiting for my boss to approve it). I prefer IntelliJ Idea because it is lighter and have better feature than Netbeans and Eclipse.

I also develop using Python. I use pythonbrew to install multiple versions of Python, along with virtual enviroments with pip installed. I also have Ruby environment in my machine, using Ruby Version Manager (RVM) and gemsets contain Ruby on Rails.

I use iTerm2, replacing OS X default Terminal app, configured to use ZSH shell. I use the famous oh-my-zsh script. I must say, zsh is a better shell than bash. ZSH autocompletion and flexibility beats bash all around. I use vim as the default editor, so I choose yadr for configuration. I have tried Janus, but it is too complex for my taste. Coming from Debian environment, I always love how apt-get command works. In OS X, I choose to use homebrew to MacPort and Fink.

My default text editor in GUI enviroment is TextMate. I always envy my fellow Mac user for TextMate. So, when I got my MacBook Air, I purchased a license. At the moment, I am waiting for the next generation of TextMate, TextMate 2.

I managed my repository using Atlassian's SourceTree app, with free license. SourceTree is very good mercurial client. I also use GitHub for Mac, just because it integrates very well with the web.

Most of my office projects use Oracle as the database engine, so I use SQL Developer app for Mac. I also use Sequel Pro app for connecting to MySQL databases. I install MySQL and PostGreSQL database server in my laptop using Homebrew.

As for developmen environment, I always love Jetbrains' approach. So for python programming, I use PyCharm and RubyMine for Ruby programming respectfully. I still use the trial version of these IDEs, waiting for approval for buying license.

I keep a copy of Windows 7 in a virtual machine using VMWare Fusion. It supports OS Lion Full Screen Mode, and feels light. For development purpose, I kept virtual machine running latest Ubuntu in VirtualBox. Combined with Vagrant gems, it is very useful and easy to setup.

For office documents, I own a copy of Microsof Office 2011. I need it because Microsoft is still the dominant player in Office world. I also own a copy of iWork suite, I use Keynote app intensely for creating presentation for my lecture. I found Keynote is easier to use than PowerPoint, and it has cool animations. Although I must say, Keynote is more power hunger than PowerPoint.

For task and event management, I rely on iCloud and Google Calendar. I use Fantastical for managing my tasks and events. It is a very cool app, it supports Natural Language detection for creating your task and event.

I keep my notes in my Evernote account. For writing related stuff, I rely on SimpleNote in my iPad, Drafts in my iPhone and NvALT or (recently) JustNote application. I love how SimpleNote helps me to keep my writing idea.

For email, I use GMail as my provider, and IMAP access with PostBox client. It is better email client compare to Mail, IMHO. It is light and fast. It also provides a lot of addons you can use for enhancement. And the best part is, it has a export to evernote function.

I browse the Internet using Safari browser. I used to be a Firefox fan, but it's getting slower, even in my modern machine. I have heard about Firefox Aurora, but I have not giving it a try. I also use Google Chrome, but I prefer use Safari because its tight integration with the iOS environment.

I chat using Adium, since iMessage is not very popular here. I enjoy reading twitter using Twitter for Mac. I have use YoruFukurou for a while, but Twitter for Mac is less distracting for me. I read RSS using Reeder, and love how the Readibility form. I am also a suscriber for Instapaper service, which used by Read Later app in my Mac.

I listen to music using iTunes and watching movies using VLC with Perian.

And lastly, I wrote all my documentation using Markdown format, using Mou and Marked app. I love how simple it is and the generated format is very nice.

Dream Machine

My dream machine is a new MacBook Pro with Retina Display, using the highest configuration available. It connects to a 30" Apple Thunderbolt Display with Das Keyboard S Professional and Magic trackpad.

I would like to have all my peripherals connected wirelessly, maybe through Apple Airport Extreme. I choose it because you can manage it through your iOS and Mac devices. For backup purposes, I maybe choose TimeCapsule for seamless backup process.

I want to setup my own media server, maybe using MacMini or other MiniPC devices, running Mac or GNU/Linux distributions. I want to set it up so I can queue a link and it will download it automatically.

I have read how sit will kill you, and I think I want to have a standing desk for my dream machine.

And the last thing is, I want this setup connected to fast Internet, with minimal bandwidth of 6 Mbps, which is still rare in my country.