Saturday, April 2, 2016

Cyanogenmod on Samsung Galaxy Tab GT-P1000

Picked up a stock Samsung Galaxy Tab (GT-P1000) still running Froyo. That's a quite a novelty nowadays. Quick check on the Cyanogen website shows that KitKat nightlies are being built for this tablet. There's even a Marshmallow-based OmniROM for it on xda developers, but I don't it's stable enough to run on the tablet. So KitKat it is.

CyanogenMod installation instructions here:
https://wiki.cyanogenmod.org/w/Install_CM_for_p1

First thing to do is to get the Froyo device updated to Gingergead. For the complete instructions, check out this YouTube video:
https://www.youtube.com/watch?v=iI79j97R4qw
Basically, you install the Samsung USB drivers, so your tablet will be recognized by your PC. Download Odin and the Gingerbread image, and flash it to the tablet. In detail:
  1. Download the Samsung USB drivers from here: http://www.androidrootguide.com/download-samsung-usb-driver-samsung-device-drivers, and install on PC.
  2. Download the Odin flasher and stock Gingerbread 2.3.3 ROM from here: https://docs.google.com/open?id=0BzJut_BZm8NTUjc1OVl6VzRsa0U, and unpack on PC. (Archive password is vio)
  3. Put the tablet in download mode by holding the VolDown button when powering up the tablet.
  4. Run Odin. Use gt-p1000_mr.pit as the PIT file. Use GB_Stock_Safe_v5.tar as the PDA file. In my case, I used the modem.bin file under JPZ modem as the Phone file.
  5. Once everything is set up, connect the tablet to the PC. If the USB drivers are installed properly, Odin should detect the tablet automatically, with the correct COM port.
  6. Click on Start.
  7. Once flash process is complete, Odin will indicate PASS, and device will reboot automatically. Disconnect tablet from the PC. Power down the tablet.
  8. This time, go into recovery mode by holding the VolUp button while powering up the tablet.
  9. Using the volume buttons, go to the "wipe data/factory reset" option and press the Home button to select.
  10. Then, select "wipe cache partition" option.
  11. Then, select "reboot system now".
First boot takes a relatively long time. Once done, you now have a stock Gingerbread Galaxy Tab.

For the second part, we'll be installing ClockworkMod Recovery on the tablet. Full instructions here: http://theunlockr.com/2012/05/07/how-to-root-and-flash-the-clockworkmod-recovery-on-the-galaxy-tab-p1000-running-gingerbread/.

Pretty straightforward after we've gone through the first part though. Download the ClockworkMod Recovery tar file from here: http://www.mediafire.com/?q8s0wnj1s6109gc, then flash it to the tablet using Odin, while the tablet is in download mode. Make sure the Re-Partition tickbox is unchecked. Use the downloaded CF-Root-TAB7_XX_OXA_JQ1-v3.3-CWM3RFS.tar file as PDA.

Third part is to install CM11.
  1. Download the latest p1 nightly build from here: https://download.cyanogenmod.org/?type=nightly&device=p1
  2. Download the OpenGapps Android 4.4 pico package from here: http://opengapps.org/?download=true&arch=arm&api=4.4&variant=pico (Don't bother getting the bigger packages like micro or even nano because they won't fit on the P1000's system partition.)
  3. Set up the tablet to use the USB connection for mass storage, instead of Samsung Kies.
  4. Transfer the nightly build and the gapps package to the tablet.
  5. Boot into recovery mode using the VolUp + Power buttons.
  6. Select the option to "wipe data/factory reset".
  7. Select "install zip from sdcard".
  8. Select "choose zip from sdcard".
  9. Select the CM11 file you transferred and confirm to flash.
  10. Repeat above steps starting from step 7 to flash the gapps package.
  11. Select option to reboot system.
In my case, I ran into a bit of issue. After step 11, the system keeps going back to the recovery menu. After some headscratching, I realized that Step 9 was happening too fast. What's happening was, the first flash actually installs a newer version of the CWM recovery, but didn't actually flash CM11. So, when I did the second flash for gapps, CM11 wasn't even there. What I did then is, once presented with the newer CWM recovery after step 9, I had to flash the CM11 file again, before proceeding to step 10.

Once done, you now have CM11 KitKat running on your Samsung Galaxy Tab.

Saturday, March 19, 2016

Booting to Sony Vaio's BIOS

So the wife's Sony Vaio VPCSD has been running Windows 8.1 for a few years now and it's getting a bit long in the tooth. About time to upgrade to the latest and greatest Windows 10. I already have the installer on a USB stick. All I have to do now is to change the boot order to USB.

For the life of me, I can't remember how to get into the BIOS. Some quick Googling tells me to press the Assist button instead of the power button when booting up. Didn't help - went straight to Windows. What I noticed is that after restart, Windows 8.1 boots up very quickly. There's seemingly no time for you to press any of the function keys. I didn't even see any type of splash screen which would normally tell you which button to press to access the BIOS or the startup boot menu.

The Internet forums say to try holding F2 during bootup, or F8, or F11. I must've restarted the laptop more than 30 times, and using all of the function keys to no avail. Boot from DVD drive definitely works, but the Windows 10 won't fit on the standard 4.7GB DVD disk, so no point.

After hours of experimentation, I finally nailed it. Restart the laptop, then quickly press Esc. Once the Insyde H2O logo pops up, press F2 to access the BIOS setup pages.

Thursday, February 18, 2016

Movie 2016.02.18 - The Perks of Being a Wallflower

Read the book, now watched the movie. As usual, I prefer the book over the movie, as it has more content. As the story is being narrated by an introvert through letters to an anonymous friend, I feel the book's the better medium. Nothing wrong with the movie version though. It's a faithful adaptation of the book, given it was written and directed by the author (Stephen Chbosky). A few portions were removed here and there, but that didn't alter the main story much. For readers of the book, like me, the feeling is that Chbosky merely translated the book to the big screen, and left it at that, which is a bit of a letdown. Not sure what I was expecting, but I was hoping for more.

Story is about an introverted loner with mental issues going through his freshman year. He made a few good senior friends who helped him come out of his shell. First high, first girlfriend, first theatre performance, first dance, first kiss from a girl, first kiss from a guy, first breakup. Ended the year with an epiphany of what's the likely cause of his mental problems, so hopefully it's all smooth sailing from then on.

Some choice quotes from the book/movie:
  • We accept the love we think we deserve.
  • You see things. You keep quiet about them. And you understand. You're a wallflower.
  • But because things change. And friends leave. And life doesn't stop for anybody.
  • You can't just sit there and put everybody's lives ahead of yours and think it counts as love.
  • And in that moment, I swear we were infinite.
  • So I guess we are who we are for a lot of reasons. And maybe we'll never know most of them.
  • Try to be a filter, not a sponge.
  • Nobody felt sad as long as we could postpone tomorrow with more nostalgia.
  • It's nice to have things to look forward to.
  • I don't know the significance of this, but I find it very interesting.
  • And I closed my eyes because I wanted to know nothing but her arms.
  • And I guess I realized at that moment that I really did love her. Because there was nothing to gain, and that didn't matter.

Thursday, February 11, 2016

Passwordless SSH Login

There comes a time when you're managing so many servers and you're typing in the passwords every time you log on, and the passwords keep on changing, and you think, wouldn't it be nice if you can log on to all your hosts securely without typing in passwords?

With SSH keys you can. Basically you use a key generator to generate a key pair - a public key and a private key. The public key is copied/installed on the remote host. The private key you keep on your local client. You then configure your SSH client to use public-key authentication, based on your private key, instead of passwords. As passwords are never sent across the network, this method is more secure (and convenient).

On Linux systems, you'd be generating the keypair using ssh-keygen. On Windows, I used PuTTYgen. By default, PuTTYgen will save the private key using its native format. There is an option to export the private key in OpenSSH and ssh.com formats though, so they can be used with other applications. I tried the OpenSSH private key generated by PuTTYgen, and it does work with another SSH client like SecureCRT. On SecureCRT, go to Options --> Global Options. Click on SSH2, then under "Public key", select "Use identity or certificate file", and enter the file location of your private key. To start using public-key authentication, go to session properties. Under SSH2, escalate PublicKey to be the first authentication method. (Interestingly, the PuTTY private key works with SecureCRT v7.x, but not with v6.x. Go figure.)

For PuTTY, load your saved session, then go to Connection --> SSH --> Auth. Configure "Private key file for authentication", then save your session. Obviously, you have to do this for all your saved sessions.

SecureCRT also has the capability to generate SSH keypairs (under Tools). The key generation wizard gives you the option of two private-key formats: VanDyke Private Key format or OpenSSH Key format. If you plan to use the OpenSSH private key generated by SecureCRT with PuTTY, you'll have to convert this first to the proprietary PPK format using PuTTYgen.

Friday, January 15, 2016

Lunch at Shiki

That's Shiki, the Japanese restaurant in Circular Quay; not Shakey's. With 31 years in the business, it must be good. For Japanese food, we normally go to our usual haunt - Manmaruya. However, since we received a voucher from the SIL, we decided to give Shiki a try.

Got there 15 minutes after opening. We were the first customers. Got a nice little table near the windows, which offered a great view of The Rocks and the food stalls. An hour later, the restaurant started to fill up, but still not full. I reckon the price of the dishes had something to do with that. The "lunch time special", which is a three-course meal costs $65. The deluxe lunch box, which comes with two mains, costs $38, so we went for the latter. The wife chose wagyu beef yakiniku (extra $7.50) and tempura prawn and vege. I had the ocean trout teriyaki and chicken kara-age. Deluxe lunch box also includes 2 kinds of sashimi (salmon and tuna), soft-shell crab, 3 pieces of spicy rolls, salad, fruits, and miso soup.

Specialty of the house is the pink salt BBQ. Basically, a slab of Himalayan pink salt is heated atop a burner, and that's what you use to grill your beef or seafood. $48 gets you 100 grams of premium wagyu beef slices, which you cook on your own. I must say this is the best-tasting beef I've had - soft, tender, juicy, a little salty, melts in your mouth.

In summary, accessible location, great views, excellent service, great food, albeit a bit expensive. I was so full, I decided to walk back to the office, instead of taking the bus.

Monday, December 21, 2015

2015 Vacation Day 4 - Singapore

Today we're having breakfast with the orangutans. Singapore Zoo has an ongoing promotion where you can have buffet breakfast at Ah Meng Restaurant and have pictures taken with the orangutans. The zoo opens at 8:30am, and breakfast starts at 9am. Animal appearance is only from 9:30 - 10am.

Took the 138 bus from AMK Hub to the zoo. Protip for you. Once you clear the zoo entrance, head straight for Ah Meng Restaurant and start queueing up. This is how you get the best seats in the house (terrace, actually), right in front of the stage where the orangutans make their appearance. In our case, we took a leisurely stroll, looking at this and that. By the time we got to the restaurant, there's already a long queue of people.

The food is nothing to write home about - typical fare you'd get from a hotel breakfast spread. There's your scrambled eggs, ham, bacon, sausages, roti, steamed veggies, dimsum, hash brown, breads, pastries, fruits, fruit juices, brewed coffee, tea, ice cream, etc. Food aside, I guess most of the people are here for the orangutans. On cue, they came swinging down the trees, and walked across the branches towards a raised wooden log, which serves as the "stage". Some of the staff were on hand to prevent the visitors from getting too close. The orangutans started having their breakfast, while people line up for picture-taking. Another staff is holding a snake for people to pet and to put on their necks. More photo opportunities.

By 10am, almost everyone has left the restaurant to explore the zoo. By the time we got to the Shaw Foundation Amphitheatre for the Splash Safari Show, the show was almost finished. A volunteer from the audience was asked to throw a frisbee for the sea lion to catch. The guy kept messing it up; to the delight of the audience. The sea lion performed a few more tricks and splashed the audience with water as farewell. For the elephant show, we got to the venue half an hour early, allowing us to choose the best spot - under the shade and near the exits. Noticed that the emcee for both shows is the same lady who hosted the breakfast. Must be a demanding job. Last show for the day is the Rainforest Fights Back Show featuring lemurs, spider monkeys, otters, macaws, etc. The shows are pretty entertaining, humorous, sometimes informative.

Visited a few more animals' habitats before calling a day. The heat was just overbearing. Cooled off a bit at KFC nearby, then took the 138 bus back to the AMK Interchange.

Sunday, December 20, 2015

2015 Vacation Day 3 - Singapore

Agenda for the day is lunch with the wife's friends at the No Signboard Seafood Restaurant at Esplandade. We learned our lesson from yesterday, so left a bit early today. Walked around the Esplanade lobby and the bay. The whole place is transformed since I was last here. Back then, the whole Marina Bay Sands area was still under construction, so no Helix Bridge, no ArtScience Museum, and no Marina Bay Sands. Didn't really get to appreciate the lunch, as I was minding the kids, and not really a seafood fan.

Post-lunch, we walked past the Esplanade Outdoor Theater, then The Float@Marina Bay floating platform and grandstand, the Youth Olympic Park, The Helix Bridge, past the ArtScience Museum, into The Shoppes at Marina Bay Sands. Welcome change from the stifling heat outside. Even better since there's Santa's Village on the ground floor skating rink. After that, we had snacks at the DC Comics Super Heroes Cafe. Nice decor, expensive food. We had chicken nuggets and fries and chicken hotdog and strawberry drink and iced chocolate - all for SG$40. The kids enjoyed the ambience, so can't really complain.

Next stop - Gardens by the Bay. We were planning to buy tickets to Flower Dome and Cloud Forest online, but didn't anymore out of laziness. The thinking then was that the Gardens has been around for a few years already, and we don't expect that many visitors. WRONG! The whole place was packed with people lining up to buy tickets. On one hand, I want to go to the airconditioned observatories to escape the heat. On the other hand, I don't want to be queuing for hours this late in the day. My next option is that SG$3 shuttle service. Talking to the harassed lady at the counter, she assured me that shuttle only makes designated stops at the Conservatories and the Visitor Centre, and does not actually go Supertree Grove, while the kids amused themselves. I really wanted to catch the 7:45pm Garden Rhapsody light and sound show, but the wait is going to be too long. By the time we decided to get on the OCBC Skywalk for a 15-minute walk among the trees, the queue at the ticket counter has stretched to infinity, and the next viewing session is another hour later.
around the gardens. In the end, we just sat under the

At this point, we decided to go to the Singapore Flyer instead. Passed by McDonald's. Another inifity line stretching out from the entrance. Good thing there's a Café Crema next door where we got some drinks and pastries. After the snacks, my youngest promptly dropped off to sleep. There goes the Flyer. Sloshed our way through the crowd, all the way to Bayfront MRT, then home.

Saturday, December 19, 2015

2015 Vacation Day 2 - Singapore

First thing we did when we woke up was to go to the nearby FairPrice grocery store and buy milk and bottled water. I know that tap water in Singapore is potable, but you can never be too safe with kids. Agenda for the day is lunch at Ocean Restaurant by Cat Cora. The restaurant is actually located inside the S.E.A. Aquarium in Resorts World Sentosa, previously the world's largest aquarium. One side of the restaurant looks out to Open Ocean habitat - guaranteed to be a stunning view of the marine vista. I've personally never heard of Cat Cora before, but she's supposedly the first female Iron Chef (America) in Singapore.


Getting to the restaurant took us longer than we thought. Got to the Ang Mo Kio MRT station via AMK Hub. Got off at Harbourfront VivoCity and joined the long queue of people buying tickets to Sentosa. Good thing we asked because as long as you already have an EZ-Link card with at least SG$4, you can simply get on the Sentosa Express light rail. Then again, that's another looong wait. And as far as we can tell, there's no queue in place, so everyone was just milling around the entry gates. Got a pram? Well, that's just too bad because people definitely will cut into your space.


So we get to Resorts World Sentosa with no idea where the aquarium is and where the restaurant is. Turns out the only access is through the Hard Rock Hotel, down the basement parking, across to the West Zone car park, where the Equarius Hotel is. I guess that's how the restaurant maintains its exclusivity. We made reservations weeks ago, and I'm sure this is all written down somewhere in some confirmation email, but we failed to take notice. Lesson learned.

Got to the restaurant half an hour late, but it's no big deal, as it's mostly empty even at 12 noon. First thing you notice is this floor-to-ceiling transparent window that looks out to the aquarium. The water casts a blue tint across the whole restaurant. With stingrays and sharks and schools of fish swimming by, the view is pretty impressive and calming.

Food is very expensive. Starters at SG$20. Mains at SG$30. Desserts at SG$18. Minimum spend of SG$38 per person. Kid's meals for SG$22. For me, it's cauliflower soup, Kurobuta pork belly, and chocolate delights. Portions are small, but presented nicely and tastes pretty good. It's definitely an experience to try. If you're after value for money, better go somewhere else.

After lunch, we took the free shuttle bus from Equarius Hotel and ended back at Hard Rock. Came out of Festive Hotel, and took some photos at the Lake of Dreams fountain. Would've liked to explore the rest of Sentosa, but it was just too hot. Hopped in Candylicious to cool off a bit, then took the MRT straight home.

Friday, December 18, 2015

2015 Vacation Day 1 - Singapore

SQ5122 flight from SYD to SIN. Been a while since I got on a Singapore Airlines flight. Very impressed with the updated KrisWorld in-flight entertainment (IFE) system, which uses Panasonic Avionics' eX3 platform. Whereas before the only way to control KrisWorld is via the game controller-like handset, now both the screen and the handset is touch-enabled. The handset actually has a touchscreen. On economy class, the IFE screen size is also bigger than before. The bottom of the LCD screen comes with a reading light, which is a nice thoughtful touch. The console also comes with some new ports. There's an A/V port labelled iPod. I guess this is where you connect your iPod to listen to music and watch videos. There's a USB port where you can access media on your USB stick and a USB charging port to charge your devices. There's also supposed to be an AC power outlet with a universal plug underneath the seat, but I didn't go about looking for it.

Normally, I would've spent the whole 8-hour flight watching the excellent selection of movies, but this time I'm travelling with the wife and two kids, so no such luck. We bought a seat for the 21-month old baby, thinking he'll sit there quietly watching Frozen or playing some arcade games. Turns out all he wanted was to sit on my lap and mess with the touchscreen. Note that for toddlers less than two years old, they have to be strapped on to an adult using a infant seatbelt during take-off and landing.

It has also been years since I've visited Changi Airport. Doesn't seem to have changed much. The shops are pretty much the same. The carpets are exactly the same. Instead of heading to immigration, we went straight for the iShop counter to claim our Changi Dollar Vouchers (CDV). A promotion of the Changi Transit Programme, Singapore Airlines and SilkAir passengers who transit through Changi from eligible countries (including Australia) are provided with SG$40 CDV to spend in duty-free shopping. SD$20 to be spent on cosmetics and perfumes; SG$20 on everything else. To claim your vouchers, simply present your electronic ticket and boarding pass. SGD160 all up - not too shabby.


There are virtually no queues at immigration by the time we got there. (Han Mei Ling's sculpture of the family still stands there on one side.) Only reason we got stalled is because we didn't provide the complete local address. Our luggage were the last off the conveyor belt. The pram we checked in was nowhere to be found. I was to steal one from the lost and found area when the wife found it at the Oversized Luggage area. Unfortunately, the pram got banged up during the flight and won't travel straight. No queues at customs. Everyone was simply walking straight through the "Nothing to Declare" exit. Very long taxi queue. The wait wasn't too long though as there were airport staff directing people to the taxis waiting at the parking bays. Pretty organized.
First impression upon getting out of the airport? Extremely hot and humid. Makes me wish I was wearing T-shirt and shorts.