Impress.js and Yoda ASCII Art!

Published on Tuesday, 24 January 2012


Here's some really impressive ASCII art thanks to Impress.js

<!--

    Welcome to the light side of the source, young padawan.

    One step closer to learn something interesting you are...

                               ____                  
                            _.' :  `._               
                        .-.'`.  ;   .'`.-.           
               __      / : ___\ ;  /___ ; \      __  
             ,'_ ""--.:__;".-.";: :".-.":__;.--"" _`,
             :' `.t""--.. '<@.`;_  ',@>` ..--""j.' `;
                  `:-.._J '-.-'L__ `-- ' L_..-;'     
                    "-.__ ;  .-"  "-.  : __.-"       
                        L ' /.------.\ ' J           
                         "-.   "--"   .-"            
                        __.l"-:_JL_;-";.__           
                     .-j/'.;  ;""""  / .'\"-.        
                   .' /:`. "-.:     .-" .';  `.      
                .-"  / ;  "-. "-..-" .-"  :    "-.    ...(continued)

Just Tweeted by @bsodmike!

Code & Tech

Upgrading to Rails 3.2 and [Monkeypatching] Omniauth Issue with Rack (Bad Version)

Update

This has been fixed, simply grab the HEAD of rack till the version gets updated.

commit d544b567d945d9899965128f11df84fd5c55ab21
Author: M ...(continued)

How to create local copy of Rails API doc with YARD

Thanks to Aslam's fantastic blog post

Installing Ruby 1.9.3 on Mac OS X 10.7 Lion

First, make sure you ran the XCode installer that was downloaded from the AppStore. Then run the Mac OS X 10.7 gcc installer

Lifestyle

Montblanc Masters for Meisterstück Meissen Porcelain White Fountain Pen


6712203727_b688ffdf88_b

This is a new addition to my pen collection for 2012,

This is the Mont ...(continued)

State of the Fountain Pen Collection 2011

Here's a snap of the collection as 2011 comes to an end:

My Audemars Piguet Royal Oak 15300ST


6435825821_f3844188d1_b

Over the years I've gone from a collection of Omega Speedmasters to a [collection of Rolexes](ht ...(continued)

Reviews

In Detail: The Royal Oak's Cal. 3120 Manufacture Movement


3120rotor1

Update

Audemars Piguet have launched their new website for SIHH 2012 and they've captured the essence of the Royal Oak

In Detail: The Royal Oak, Part One


P1000843

"The devil is in the details" — as is the beauty of an Audemars Piguet!

The following are a couple snaps taken on Christmas Eve, essentially depicting some o ...(continued)

Audemars Piguet 15300ST Royal Oak Review (YouTube)


Screen%20shot%202011-12-14%20at%2011.56.52


Upgrading to Rails 3.2 and [Monkeypatching] Omniauth Issue with Rack (Bad Version)


Update

This has been fixed, simply grab the HEAD of rack till the version gets updated.

commit d544b567d945d9899965128f11df84fd5c55ab21
Author: Michael de Silva <michael@mwdesilva.com>
Date:   Sun Jan 22 09:56:06 2012 +0300

    fetching rack head as bad version fix has been merged

diff --git a/Gemfile b/Gemfile
index 2e758ac..0da651b 100644
--- a/Gemfile
+++ b/Gemfile
@@ -28,7 +28,7 @@ gem 'redcarpet', '~> 2.0.0'
 gem 'albino'
 gem 'nokogiri'

-gem "rack", git: "https://github.com/rack/rack.git", ref: "e20baec005238f987628+gem "rack", git: "https://github.com/rack/rack.git"
 gem 'omniauth', :git => 'git://github.com/intridea/omniauth.git'
 gem 'omniauth-facebook'
 gem 'omniauth-twitter'
Original post

Just set about updating my blog to Rails 3.2 as per the release notes and ran into the following:

NoMethodError (undefined method `include?' for nil:NilClass):
  omniauth (1.0.2) lib/omniauth/builder.rb: ...(continued)

SIHH 2012



photo-credit: The Watch Lounge

It's Day 2 of SIHH 2012 and I'll be reviewing the fantastic releases from yesterday shortly. Stay tuned for updates!

Day 1

Jaeger-LeCoultre

The Master Compressor with cal. 899, circa €12,000.-

#sihh #jlc datum, sekunde in rotgold mit automatik. 12000€ ah. on Twitpic

Audemars Piguet Jumbo (2012)

Quoting HODINKEE:

This is t ...(continued)

Montblanc Masters for Meisterstück Meissen Porcelain White Fountain Pen


This is a new addition to my pen collection for 2012,

This is the Montblanc "Masters for Meisterstück" Porcelain White Fountain Pen — featuring Meissen porcelain.

Montblanc's own proud heritage of craftsmanship and quality is matched by the impressive history and excellence of Meissen – the White Gold of Saxony. Three hundred years ago in the Kingdom of Saxony, an alchemist under royal mandate to find the secret of manufacturing gold, stumbled across a far more valuable discovery: Meissen Porcelain®. Through the uniqueness of its sculptural design and the beauty of its decorative painting, Meissen has set the standard for all the fine ceramics manufactories that have since followed, thus being described as greatest influence on the development of European porcelain.

Today, the blue Crossed Swords of Meissen that adorn each piece from the Meisterstück Porcelain B ...(continued)

How to create local copy of Rails API doc with YARD


Thanks to Aslam's fantastic blog post on the topic, I decided to try and get the docs via YARD.

First install YARD

gem install yard

The obvious step is to fork the rails source and simply perform yardoc which is an alias to doing yard doc. This will output the nicely YARD-formatted Rails API into the /doc folder.

If you wish to view, say the Rails API via your own local YARD server, simply perform

yard -n --single-db && yard server

Point your browser to http://localhost:8808 to view your Rails API documentation, all nicely YARD-formatted.

Installing Ruby 1.9.3 on Mac OS X 10.7 Lion


First, make sure you ran the XCode installer that was downloaded from the AppStore. Then run the Mac OS X 10.7 gcc installer

Check that gcc-4.2 is listed

$ ls /usr/bin | grep gcc
gcc
gcc-4.2
i686-apple-darwin11-gcc-4.2.1
i686-apple-darwin11-llvm-gcc-4.2
llvm-gcc
llvm-gcc-4.2

Install Ruby 1.9.3 Success!!

$ rvm install 1.9.3
Fetching yaml-0.1.4.tar.gz to /Users/mdesilva/.rvm/archives
Extracting yaml-0.1.4.tar.gz to /Users/mdesilva/.rvm/src
Configuring yaml in /Users/mdesilva/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/mdesilva/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/mdesilva/.rvm/usr
Installing Ruby from source to: /Users/mdesilva/.rvm/rubies/ruby-1.9.3-p0, this may take a while depending on your cpu(s)...

ruby-1.9.3-p0 - #fetching 
ruby-1.9.3-p0 - #extracted to /Users/mdesilva/.rvm/src/ruby-1.9.3-p0 (already extracted)
ruby-1.9.3-p0 - #configuring 
ruby-1 ...(continued)

Exception in Ruby when Running YARD


I've just upgraded to Mac OS X Lion and am running into some 'interesting' quirks...

Try running YARD under Ruby 1.9.2-p290 in Lion

/Users/mdesilva/.rvm/gems/ruby-1.9.2-p290@rails31x/gems/yard-0.7.4/lib/yard.rb:38: [BUG] Bus Error
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.2.0]

-- control frame ----------
c:0024 p:---- s:0071 b:0071 l:000070 d:000070 CFUNC  :callcc
c:0023 p:0080 s:0068 b:0068 l:000280 d:000280 TOP    /Users/mdesilva/.rvm/gems/ruby-1.9.2-p290@rails31x/gems/yard-0.7.4/lib/yard.rb:38

The solution is to upgrade to 1.9.3

Duplicate of #382, this is a bug with Ruby 1.9.2 on xcode 4.x. You should upgrade to 1.9.3 to get continuations working again.

Fingers crossed!

State of the Fountain Pen Collection 2011


Here's a snap of the collection as 2011 comes to an end:

In Detail: The Royal Oak's Cal. 3120 Manufacture Movement


Update

Audemars Piguet have launched their new website for SIHH 2012 and they've captured the essence of the Royal Oak quite splendidly!

Introduction

The RO features an in-house AP 3120 caliber manufacture movement that runs at 21,600 vibrations per hour (vph) / 3600 = 6 beats per second. Accounting for the change in direction of the balance, its operational frequency is 6/2 = 3 Hz.

A few days after purchasing my Royal Oak, I noticed how its seconds hand seemed 'float' less smoothly in comparison to my Rolex DateJust (and other Rolexes I've owned in the past). The reason for this is that current-production Rolex movements operate at a higher rate of 28,800 vph (8 bps/4 Hz) — hence, allowing the seconds hand to 'float' far smoothly.

Important: My use of the word 'smoothness' in the prior paragraph refers to the how one visu ...(continued)

Royal Oak 15202 “Jumbo” vs. 15300


For pure horological value, the collector will always place more value on the 15202. It certainly is a beautiful movement and the openworked rotor alone is reason enough! However, my reasons for choosing the AP wasn't driven by the need to own the closest RO representation of 40-years ago.

I wanted its updated version featuring what I personally consider 'musts' in any regular wear watch — screw-down crown and quick-set date. The longer power reserve is a nice bonus.

What makes the “Jumbo” so special? Here’s the juicy details thanks to Howard Parr:

It is easier to name the differences than the similarities between these watches. The cases, clasps, bracelets, bezels, thickness, movements…they are dissimilar. They wear completely differently, as you might expect. The 15202 (the current model “Jumbo”) retails for 50% more than the 15300. The 2121 is a very expensive movement to produce. It is extremely reliable, as is the 3120 in the 15300. The 2120 (2121 ...(continued)

In Detail: The Royal Oak, Part One


"The devil is in the details" — as is the beauty of an Audemars Piguet!

The following are a couple snaps taken on Christmas Eve, essentially depicting some of the various 'personalities' the watch takes on depending on lighting.

This will be followed up with a detailed post covering the various details of the AP 3120 movement and a whole lot of closeup photos as well!

Merry Christmas and a Happy New Year!


It's that time of year when we get to spend time with our families and loved ones.

Wishing you and yours a fabulous Christmas and a fantastic new year!

Audemars Piguet 15300ST Royal Oak Review (YouTube)


My Audemars Piguet Royal Oak 15300ST


Over the years I've gone from a collection of Omega Speedmasters to a collection of Rolexes and then, since 2009, quite simply down to just one Rolex — my Steel and Rose Gold DateJust.

I've had a fair amount of time to reflect over my next watch purchase and there were many contenders. For a while, I debated on holding out for the Patek Philippe 5127R or the 5146R Annual Calendar — both, obviously in pink gold. However, I'm still quite young and have yet to reach 30 and therefore opted to leave the Pateks for later on in life.

I've been fond of Rolexes for many years, not only due to their rugged in-house movements and heritage going back at least half a decade (for most models), including their uncanny ability to hold their value over time and s ...(continued)

Ability spec of the new blog...


Commits made so far...wow I've been on a coding marathon eh?

Here's the output of the ability spec

Ability
  as visitor
    can sign-in via omniauth and view failure notice
    can only view posts which are published
    cannot even create comments
    can view the 'not_found' page
    cannot ban users
  as normal user
    can logout
    can only view posts which are published
    can create comments and update/destroy within 15 minutes if he owns them
  as banned user
    cannot create or update comments
  as admin
    can list, update and destroy any comments
    can view posts which are not yet published
    can ban users
    cannot ban admins or super_users
  as super_admin
    can access all

Finished in 2249.11 seconds
14 examples, 0 failures
Done.

Ignore the duration taken as the drb server inflates this to a ridiculous duration.

Upgrading to Redcarpet v2.0 with highlighting of code blocks with Albino/Pygments


Here's how:

module ApplicationHelper
  def markdown(text, *renderer)      
    case renderer[0]
    when :authored
      rndr = HTMLwithAlbino.new(:hard_wrap => true, :gh_blockcode => true, 
          :filter_html => false, :safe_links_only => true)
    when :featured
      rndr = HTMLwithAlbino.new(:hard_wrap => true, :gh_blockcode => true, 
          :filter_html => true, :safe_links_only => true)
    else
      rndr = HTMLwithAlbino.new(:hard_wrap => true, :gh_blockcode => true, 
          :filter_html => true, :no_images => true, :no_styles => true,
          :safe_links_only => true)
    end
    redcarpet = Redcarpet::Markdown.new(rndr, :space_after_headers => true,
      :fenced_code_blocks => true, :autolink => true, :no_intra_emphasis => true,
      :strikethrough => true, :superscripts => true)
    redcarpet.render(text).html_safe
  end

end

# create a custom renderer that allows highlighting of code blocks
class HTMLwithAl ...(continued)

New Rails Powered Blog... and TODO list!


Features left to build:

  • add error output to posts/_form and comments/_form
  • comment notification
  • User profiles (user#show)
  • add above to comment_headlines
  • user#edit/update
  • comment notification on replies to OP and unsubscribe from notification feature
  • search with ElasticSearch or Sunspot?
  • paginate posts on index page

Rails 3.1: Starting the Week on Sunday, as in the Middle East


Was rather interesting to find out that ‘Monday’ is hardcoded into Rails as the start of the week, so working around this involved creating a custom initialiser that reopened two classes as follows:

# based on
# https://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/date/calculations.rb#L178
class Date
  def traditional_beginning_of_week
    days_to_sunday = self.wday!=0 ? self.wday : 0
    result = self - days_to_sunday.days
    self.acts_like?(:time) ? result.midnight : result
  end

  def traditional_end_of_week
    days_to_saturday = self.wday!=0 ? 6-self.wday : 0
    result = self + days_to_saturday.days
    self.acts_like?(:time) ? result.end_of_day : result
  end
end

class Time
  def traditional_beginning_of_week
    days_to_sunday = self.wday!=0 ? self.wday : 0
    result = self - days_to_sunday.days
    self.acts_like?(:time) ? result.midnight : result
  end

  def traditional_end_of_week
    day ...(continued)

Nobuyoshi Nagahara's Naginata Togi


Found this image on my SD card; I guess a certain Nagahara M. ground this nib to buttery perfection? Naginata Togi means "long sword" ~ this is resembled by the longer tines of this particular nib, lending to greater flex than expected. It's also a 22K nib, which is rather unique, particularly nowadays.

The Nagahara Nib Story is a must read for fellow FP enthusiasts...

Android – Multithreading in a UI environment


For the past few days, I've been getting up to speed with concurrent thread execution in Java, namely for Android.

I only just stumbled on to this excellent blog post on the topic. I will therefore organise the rest of this post in reference to the link - do read it!

Threading as per Android Docs.

The developer documentation states,

public class MyActivity extends Activity {

    [ . . . ]
    // Need handler for callbacks to the UI thread
    final Handler mHandler = new Handler();

    // Create runnable for posting
    final Runnable mUpdateResults = new Runnable() {
        public void run() {
            updateResultsInUi();
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstan ...(continued)

ListView with Activities, Intents, and Passing Data


So, um, I did say I'd go to sleep at 4 am right?........... right? Well, I'm still up and here's my second ever Android app - well, more a proof of concept. Upon choosing a list item the string of text I passed to the subactivity is show via a Toast alert, as well in the adb log. Clicking on OK yields

  

...and the best part, you can check out the source!

Restocking for Christmas...


Every Christmas I'd take stock of my liquor cabinet and look to restock on past favourites as well as make a few new additions.

Instead of restocking on Rémy Martin XO Excellence (I've got about half a bottle left), I decided to go with the addition of Hennessy XO. It is interesting to note that the Rémy XO is marked as a "Fine Champagne Cognac" in lieu of its blend of 85 per cent Grande Champagne, 15 per cent Petite Champagne.

The Hennessy, however, is a blend of more than a hundred different eaux-de-vie between 10 - 70 years old, with each bottle averaging at ~45 years in age. Since Hennessy is known for buying eaux-de-vie from the entire Cognac region, it cannot be marked as a Champagne Cognac. It tends to be less smooth than the Rémy, although it's certainly a welcomed aggressiveness.

It wouldn't be much ...(continued)

Rolex DeepSea Under the Pole Expedition Film


DeepSea Under the Pole by Rolex was a revolutionary pioneer expedition and an innovative human adventure that combined ski trekking and scuba diving in one of the toughest climates on the planet: the North Pole. The crew of eight young, passionate divers, adventurers and explorers represented the first time man has ever executed dives at this remote site and revealed the hidden side of the polar ice cap; something never before seen by humankind.

You can read rest of the PR blurb via the source.

Source: TimeZone

Montblanc Meisterstück Solitaire Barley Reviewed


Quite a few of my subscribers on YouTube have been wanting an updated video for almost a year. The reason I do not bother making too many video reviews is because it's usually rather quite tedious to record, edit, and upload.

This was, however, created using my MacBook Pro's in-built iSight - hence the pretty terrible quality. At a low resolution though, it doesn't look all that bad though I guess.

I wonder if a Xacti or something of the sort is worth it... would be interested in something that could record 1080p with macro capabilities...

The Sterling Silver Collection


I decided to give the sterling pieces a polish this morning.

Left to right: MB Charles Dickens WE with B nib, Montegrappa Extra 1930 Turtle Brown celluloid and Ebonite feeder with M nib, MB F. Scott Fitzgerald WE with BB nib, MB LeGrand Solitaire Pin Stripe with B nib, MB Barley with B nib and a 0.035ct G VVS2 channel set diamond in its Platinum/PT950 plated clip (not Rhodium plated).

Here's a close up of the Montegrappa. This brand is not that well known, and is quite similar to that of Patek Philippe in comparison. One could compare Montblanc to Rolex in terms of popularity.

Montegrappa's roots are quite Italian, as is its design. The clip in particular is very similar to even some of the designs used by Visconti; the little roller is quite classically of Italian design. It also features an authentic Ebonite feeder; this is not very common among modern FPs. Of course, ...(continued)

PG Strike Gundam – Nearing Completion…


After a short break from working on Strike, I did some of my fastest work over the past two days.

The entire torso assembly was put together, using my method of sanding pieces down during a build, painting and letting them dry in the patio, while I return to sand and prepare the next set of pieces.

I find this to be quite efficient considering the painted pieces need around 30 minutes to dry (but typically over a day for the paint to cure). Here are some snaps of where this project currently stands, I know – I couldn’t resist :D



I also decided to go with ...(continued)