Samuel Liew’s Blog

News, events, and other interesting finds

Above by an Indonesian government spokesman:

“It has only been a week of smoke but people are already making so much noise. What about all the oxygen that (Indonesia) supplies to them during the rest of the year?”

Amazing how they can come up with this stupid statement. They can’t ‘provide’ oxygen to us the same way they can’t stop our supply of oxygen. Air belongs to everyone, they are the ones polluting it. It is these type of people that is all talk but no action on trying to stop the fires. They only know how to shoot themselves in the foot. Year after year the same thing happens, yet they can make this kind of joke.

Do you have colour deficiency? Take the free online hue Color Challenge by xrite.com to find out now!

Screenshots:

Take the free online Color Challenge by xrite.com!

#398
1. Singapore > My country
2. blah blah blah > Rattle on and on
3. Stall > Holder
4. Bowls > Soup
5. Entrance > Attraction
6. Antique > Porcelain
7. Elizabeth > Queen
8. Hook > Captain
9. Width > Ruler
10. Photo journalism > Fun

#399
1. Mustache > Upper Lips
2. Person > Third
3. Restore > Heal
4. Discretion > Veto
5. Lamp > Post
6. Pillow cover > Sleep
7. Arousal > State
8. Seattle > Tower
9. ATM > Card
10. Custard > Cream puff

#400
1. Return > Double edge
2. Alarms > Bells ringing
3. State > America
4. Picture frame > Wooden border
5. Wreath > Flowers
6. Arrest > Crook
7. Sincere > Thanks
8. Nathan > Leper
9. Bag > of Chips
10. Arched > Doorway

#401
1. Panels > Wooden
2. Repetitive > Song
3. Pancakes > Maple syrup
4. Quarterly > Report
5. Impulsive > Behaviour
6. Episode > Television
7. I am > Amazing
8. Horrendous > Downpour
9. Inhumane > Treatment
10. District > 9

#402
1. Intruder > Alert
2. Repelled > Mosquitoes
3. Trench coat > Spy
4. Lipstick > Red
5. Humongous > Sponge
6. Oven mitts > Protection
7. Case > Cigars
8. Daughter > Kidnap
9. Attorney > Power of
10. Shaken > Up

LunaNiña.com | Unconscious Mutterings | What is this about?

After coming across this article on Gizmodo (Most Days I Feel Like This PayPal Automated Support Bot), I had to try it out myself. Apparently, this has been fixed by the company that is running the AI behind the bot, but I still had some fun with it.


This is called street-smart. Giving a third-party’s number instead of her own, then saying that she doesn’t know what I’m talking about.


This bot CAN keep a secret ;)


Very well-constructed last response.


AI still can’t handle any form of simple sarcasm until it is bluntly stated.


Are you seriously giving your company’s number to a bored person?


I should have said I don’t give refunds XD

As I am involved in the visuals ministry in church, I usually have to check through the lyrics of each song before service for consistency. This is tedious work as there are many songs, and have to repeatedly do the same validation each week. As any knowledgeable IT geek would do, I wrote a UltraEdit macro to automate the task using Regular Expressions to find and replace stuff.

Currently this script does the following:

  • Correct all words to proper capitalization
    - Capitalize first word of every line
    - Capitalize any word that refers to God. E.g.: Jesus, Lord, Holy Spirit, Father
  • Standardize words/punctuation
    - Replace angled quotation marks (“) to standard (")
    - Replace tabs with a space
    - Replace words like “O” to “Oh”
    - Captalize labels and add buffer lines before each (Chorus, Verse, Bridge, etc.)
  • Removes unnecessary stuff
    - Lines with song chords, if any
    - Multiple spaces
    - Trailing spaces
    - Multiple blank lines
    - Certain punctuations

Example song (before running the macro):

2. Tell the world Verse 1: F#m Don't want to stand here and shout your praise, F#m And walk away and forget your name. F#m I stand for you if that's all all i do, F#m 'Cause there is none that compares to you. Pre Chorus: F#m F#m 'Cause all i want in this life is you. F#m And all i want in this whole world is you, you, you. Chorus: Bm7 D A E Tell the world that jesus lives. F#m D Tell the world that. tell the world that. A E Tell the world that he died for them. F#m D Tell the world that he lives again. Verse 2: F#m No longer i, But christ in me. F#m 'Cause it's the truth that set me free. F#m F#m How could this world be a better place, by Thy mercy, and by Thy grace. Bridge: A Bm9 F#m D Come on, Come on, we'll tell the world about you. A Bm9 F#m D Come on, Come on, we'll tell the world about you.

Example song (after running the macro):

Tell the world Verse 1 Don't want to stand here and shout Your praise, And walk away and forget Your name. I stand for You if that's all all I do, 'Cause there is none that compares to You. Pre-Chorus 'Cause all I want in this life is You. And all I want in this whole world is You, You, You. Chorus Tell the world that Jesus lives. Tell the world that. tell the world that. Tell the world that He died for them. Tell the world that He lives again. Verse 2 No longer I, but Christ in me. 'Cause it's the truth that set me free. How could this world be a better place, by thy mercy, and by thy grace. Bridge Come on, come on, we'll tell the world about You. Come on, come on, we'll tell the world about You.

Here’s the macro code:

InsertMode ColumnModeOff HexOff PerlReOn TrimTrailingSpaces Top Find RegExp "^[ ]+" Replace All "" Find RegExp "^\s*(([A-G][\/ A-G a-z 0-9 #]{0,5})\s+)+\s*$" Replace All "" Find RegExp "^[0-9]+[\. \: \)]?\s*" Replace All "" Find RegExp "^(Key|key|KEY)[\. \: \)]?\s*[A-G a-g].*" Replace All "" Top Loop SelectLine ToLower SelectWord ToCaps Key END Key RIGHT ARROW IfEof ExitLoop EndIf EndLoop Top Find RegExp "\b(you)\b" Replace All "You" Find RegExp "\b(you've)\b" Replace All "You've" Find RegExp "\b(you're)\b" Replace All "You're" Find RegExp "\b(your)\b" Replace All "Your" Find RegExp "\b(yours)\b" Replace All "Yours" Find RegExp "\b(christ)\b" Replace All "Christ" Find RegExp "\b(father)\b" Replace All "Father" Find RegExp "\b(god)\b" Replace All "God" Find RegExp "\b(almighty)\b" Replace All "Almighty" Find RegExp "\b(son)\b" Replace All "Son" Find RegExp "\b(he)\b" Replace All "He" Find RegExp "\b(he's)\b" Replace All "He's" Find RegExp "\b(his)\b" Replace All "His" Find RegExp "\b(him)\b" Replace All "Him" Find RegExp "\b(himself)\b" Replace All "Himself" Find RegExp "\b(holy ghost)\b" Replace All "Holy Ghost" Find RegExp "\b(i)\b" Replace All "I" Find RegExp "\b(jehovah)\b" Replace All "Jehovah" Find RegExp "\b(jesus)\b" Replace All "Jesus" Find RegExp "\b(saviour|savior)\b" Replace All "Saviour" Find RegExp "\b(holy spirit)\b" Replace All "Holy Spirit" Find RegExp "\b(holy one)\b" Replace All "Holy One" Find RegExp "\b(spirit)\b" Replace All "Spirit" Find RegExp "\b(lord)\b" Replace All "Lord" Find "Lords" Replace All "lords" Find RegExp "\b(king)\b" Replace All "King" Find "Kings" Replace All "kings" Find RegExp "\b(Word)\b" Replace All "word" Find "prince of peace" Replace All "Prince of Peace" Find "my redeemer" Replace All "my Redeemer" Find "Kingdom" Replace All "kingdom" Find "your majesty" Replace All "Your Majesty" Find "my Spirit" Replace All "my spirit" Find RegExp "\b(o|oh)\b" Replace All "Oh" Find RegExp "\s*\b(((^(P|p)re)(C|c)horus)|((^PRE)CHORUS))\b" Replace All "\n\nChorus" Find RegExp "\s*\b((P|p)re([ ]|-)?chorus|PRE([ ]|-)?CHORUS)\b" Replace All "\n\nPre-Chorus" Find RegExp "\s*\b((P|p)re|PRE)\b" Replace All "\n\nPre" Find RegExp "\s*\b((C|c)oda|CODA)\b" Replace All "\n\nTag" Find RegExp "\s*\b((V|v)erse|VERSE)\b" Replace All "\n\nVerse" Find RegExp "\s*\b((B|b)ridge|BRIDGE)\b" Replace All "\n\nBridge" Find RegExp "\s*\b((I|i)ntro|INTRO)\b" Replace All "\n\nIntro" Find RegExp "\n\nIntro(.)*\n\n" Replace All "\n\n" Find RegExp "\s*\b((E|e)nd(ing)?|END(ING)?)\b" Replace All "\n\nEnding" Find ":" Replace All "" Find "’" Replace All "'" Find "‘" Replace All "'" Find "“" Replace All """ Find "”" Replace All """ Find "[" Replace All "" Find "]" Replace All "" Find " " Replace All " " Find " " Replace All " " Find " " Replace All " " Find "'S" Replace All "'s" Find "'R" Replace All "'r" Find "'V" Replace All "'v" Find RegExp "^'c" Replace All "'C" Find RegExp "(\r\n){3,}" Replace All "\r\n" SelectAll Copy

Download The Macro (requires UltraEdit)

The following tips should help you avoid a mouse-related musculoskeletal injury. The same posture principles apply to other input devices (e.g. trackball, touchpad, pen, etc.). Postural variation is a key factor for good ergonomics. Try to regularly vary your posture when you work with a mouse, and in this way you will help to minimize the risk of ergonomic problems. The best ergonomic mice are designed to allow you to vary your posture while working with the mouse.

  1. Mouse Grip – don’t grip your mouse too tightly. Hold the mouse gently to move it over a tracking surface.
  2. Mouse from the Elbow – don’t skate or flick the mouse with your wrist. Make controlled mouse movements using your elbow as the pivot point and keep your wrist straight and neutral. Anything that impairs free movement of the forearm/hand and mouse will increase injury risks.
  3. Optimal Mouse position - sit back in your chair, relax your arms then lift your mousing hand up, pivoting at the elbow, until your hand is just above elbow level. Your mouse should be positioned somewhere around this point. Don’t use a mouse by stretching to the desk or out to the side of a keyboard.
  4. Avoid restricting circulation – For may people there are exposed blood vessels near the skin at the wrist, which is where the pulse is often taken. Any pressure in this region will disrupt circulation into the hand and this will increase the risks of injury.
  5. Don’t use a Wrist Rest - research has shown that using a wrist rest doubles the pressure inside the carpal tunnel. Do not use softly padded wrist rests, especially one that is rounded, or a soft chair arm rest. Doing so ‘locks’ the forearm into position.
  6. Mouse shape – choose a mouse design that fits your hand but is as flat as possible to reduce wrist extension. Don’t use a curved mouse. Use a symmetrically shaped mouse and consider using a larger mouse. Pen-based mice designs also allow a more comfortable grip.
  7. Load sharing – if you want to load share between your right and left hands, that is using the mouse for some of the time with each hand. For this you need to choose a mouse platform that can easily be configured to the left or/and right, and a symmetrical shaped mouse that can be used by either hand.

Adapted/summarized from Cornell University Ergonomics Web, http://ergo.human.cornell.edu/cumousetips.html by Professor Alan Hedge, Cornell University.

Okay, so I was trying out this hundred pushups program (hundredpushups.com) for the last month, and using the pushups logger (pushupslogger.com) to record my progress, which also posts updates to Twitter automatically. So far I’m at week 5 out of 6, and doing about 85 pushups per workout (5 sets of about 17). Here is my page on PLU: http://www.pushupslogger.com/plog/show_user/118564

Currently it seems that the logger website has broken down and I’m not able to add new entries, and I find it a pity not to do so. However I will complete the hundred pushups program, and then try out my own exercise program:

Mon/Wed/Fri pushups, Tue/Thurs/Sat situps
5 sets of 20 each
one minute rest between sets

[Update]
06/09 – 30
09/09 – 30 (5/1)
11/09 – 25|100 (5/2)
13/09 – 30|100 (5/2)
16/09 – 25|100 (5/2)
18/09 – 30|120 (5/3)
21/09 – 30|120 (5/3)
24/09 – 35
25/09 – 30/120 (5/3)
30/09 – 30/120 (5/3)