Samuel Liew’s Blog

News, events, and other interesting finds

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)

I just had to make a new blog post on the success of my computer graphics assignment.

In this project, we have to create and render a scene using a program called POV-Ray for the given open-ended theme “My Toy Story”. We are required to design, model and beautify our own scene, which must consist of objects of different shapes, textures and surface finishes with simple animation. This assignment is worth 10% of the overall assessment for this unit.

We had to demonstrate the use of the required objects/components during the presentation, and being able to change the code to show that we know what we were doing. My tutor (Yasmin) said it was very well done and gave me full marks (according to the marking guide), and told me she would recommend to place it on the unit online gallery.

Screenshot of my scene

My Toy Story: Buzz Lightyear

Animation of my scene

Animation

Development

Early stage of development - putting the "pieces" together. The black lines are placed to intersect at the origin to aid me in positioning.

Original Model

Original model of Buzz that my image was modelled upon.

More information/source files are available on my school page.

What Matters?

  • Being appreciated for the services provided to the customer, because being appreciated is one of the strongest motivators for what we do.
  • Being able to maintain a relationship with the loyal customers, as they are the best form of indirect advertising.
  • Keeping my employees happy and up to date – they are the ones who run the business.
  • Being able to do what I want, where I want, when I want to. Autonomy empowers.
  • Keeping customers happy. Without them your business cannot sustain itself. Why go the extra mile when we can go two?
  • Whatever matters most to our customers is what matters most to me. We can’t go wrong putting our customers first.
  • Being able to make your business stand out from all the other competitors as the market is quite saturated already.
  • Being able to apply technology to leverage the efficiency and effectiveness of the workflow and processess of the business.

Condensed from:

http://www.bnet.com/blog/business-strategy/what-matters-most-you-or-the-business-you-8217ve-built/261

http://www.seacoastonline.com/articles/20100802-BIZ-8020309

http://findarticles.com/p/articles/mi_qa5341/is_200008/ai_n21459107/

http://www.openforum.com/idea-hub/topics/innovation/article/what-matters-most-to-business-owners-you-may-be-surprised

#393
1. Coma > Long sleep
2. Aristotle > ?
3. Pink eye > Elephant
4. Expensive > Diamond
5. Dancer > Occupation
6. Lipstick > Makeup
7. Buffer > Memory
8. Stilettos > Knives
9. Booming > Box
10. Rap > Rhymes

#394
1. Rhythm > Beat
2. Baby > Boom
3. Sanctimonious > Arrogant
4. I like > Ice Cream
5. Constipated > No shit
6. Sleep late > Overwork
7. Over easy > Relax
8. Erratic > Behaviour
9. Umbrella > Rain
10. You don’t > cry

#395
1. Leads > Clues
2. Concierge > Service
3. Thousand > Days
4. Engines > Aeroplane
5. Argument > Resolve peacefully
6. 2006 > ?
7. Knot > Dead
8. -
9. Handsome > Prince
10. Ridge > Water

#396
1. Bangs > Long hair
2. Diaper > Change
3. Coffee table > Low
4. Cops > Good guys
5. Matches > Firewood
6. 250 > guys
7. Hurricane > Katrina
8. Bad > Smell
9. Confirmation > Alert
10. Fibre > Vege

#397
1. Gangs > Secret society
2. Contact > Point
3. Surprisingly > Easy
4. Pencilled > Drawings
5. Ignore > Warning
6. Let’s go! > to the mall
7. Cornerstone > Church
8. Influential > Person
9. Holistic > Lifestyle
10. Lovesick > Relationship

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