Sunday, March 10, 2013

Speech for Undergraduates on "Computer Engineering vs Industry" in UOP

The beauty of the moments which let yourself back to the past and let you recall what you had been in old good days is that it just make you revisit through all your connected dots (If I speak Steve Job's language) and come up with an amazing story-line molded just like the way you wanted to have. In 8th March, '13, I happened to have such an amazing moment (which was a challenge a bit) that I of course enjoyed every bit of it. That was about expressing the self with my road map, experience,  insights and thoughts as an industrial professional & as a former undergraduate, for a very young, energetic and enthusiastic audience of Engineering Undergraduates (of ~500), which was  nowhere but in University of Peradeniya, the sweet little old place I used to love a lot.

It was started with a very casual, informal, friendly start-up speech (I love doing this always, specially when I have the ownership of hosting; that simply makes the audience so comfy with a little more motivation for the interaction, and to keep the enthusiasm and momentum going, as the environment is more friendly) in the usual loud voice, with a little bit of introduction of myself through undergraduate life, industrial experience, expertise and the fact of who am I right now. 

Defining the terminology "Engineering", "Industry", "Undergraduate", and "Role of a computer Engineer" at Industry's perspective was to be the effective kickoff of the speech. 

Expressing different domains of Computer Engineering in the industry in very details, along with hands-on use cases that I myself had gone through on each domain for last 6 years, Major projects/companies in the world I had interacted in order to conduct them took the major part and it was followed by some decorative discussion points such as the actual role of a computer engineer in each domain who owes the technical leadership and what's the real deal of the undergraduates in being able to be ready for such great challenges, and the major IT companies in the country & the value/trust gained internationally via the quality of their optimum computer-engineering solutions for each domain, etc... The middle part of the speech was to be considered as the core of the keynote. That ended up with this amazing example of brain wave measuring embedded system that I happened to touch a little bit long time back. Had many good feed-backs on that to be able to suppose that it was a hit within the audience.

Thirdly, some head-ups on how the engineers can be special in the industry, what is the kind of "perfect" model of a computer engineer that the industry's dying to look for; what qualities/talents typically expected, how(and what are the main approaches I may recommend) to build up the engineering thinking pattern & skills at the undergraduate level; and then, the current status of the local/foreign industry for all domains in computer engineering, brought a smooth and complete entry toward the end of the speech.

Finally, I had this 18th (secret & serious) slide prepared  with a couple of great sayings of two inimitable legends that inspired a "lot" on my way to who I am right now; Michael Jordan and Steve Jobs to add an extra motivation to the audience mixed with my own experience via the two of my ever most favorite fields of interests; Computing and Basketball... which declared the closure of the speech at a peak.

The feedback of the speech has been amazing (so far, at least :D) and I still enjoy every moment when I recall it. That was a big-break for me; which on the other hand, renewed the my confidence on public speaking and keynoting.. I had almost forgotten that I was pretty much into speaking earlier, probably this can be a point I will start re-thinking of it all the way back :-)

This Facebook Album shows some live actions of it.

Tuesday, January 15, 2013

Notepad++ Regular Expressions - Find/Replace

It's been a quite a while that I wanted to have a full blog post on Regular expressoins to be used on Notepad++ that could immensly help when it comes to string manipulations; which coudln't be done due to lack of time to pay on it; But here it comes.

Following are some of the tips on primitives of the REs on Notepad++
  • [ ] : The square brackets can be used to match ONE of multiple characters. For instance, [abc] matches any of the characters a, b or c. Hence, b[eo]n will match words like ben and bon, but not been or beon. Ranges can also be used, [a-z] is any lower case character and so on.
  • ^ : The caret can be used inside the square brackets to exclude characters from the match. For instance, hell[^o] means the string ‘hell’ will be ignored if followed by the letter ‘o’. Another example is [^A-Za-z] which will exclude all alphabetic characters. However, if not placed inside a set, ^ can be used to matches the start of a line.
  • $ : This matches the end of a line.
  • . : The period or dot matches any character.
  • \d : Matches any single digit.
  • \w : Matches any single alphanumeric characters or underscore.
  • \s : Matches whitespaces including tabs and line breaks.
  • * : The asterisk or star sign matches 0 or more times. For example, Ba*m matches Bm , Bam , Baam etc.
  • + : The plus sign matches 1 or more times. For example, lo+l matches lol , lool , loool etc.
  • \< : Matches the start of a word. For example, \< directly followed by 'sh' matches 'she' but does not matches 'wish'.
  • \> : Matches the end of a word. For example, sh\> matches ‘wish’ and does not matches ‘she’.
  • ( ) : The round brackets can be used in the Find & Replace function to tag a match. tagged matches can then be used in replace with \1, \2 etc. For example, If you write 123xxxRRR in the search and 123\1HHH in the ‘Replace with’ filed, the result will be: 123xxxHHH.
  • \ : The backslash can be used to escape regex characters. For example to match 1+1=2, the correct regex is 1\+1=2. Otherwise, the plus sign will have a special meaning.
Hope these examples to be helpful in real time :
  1. Find: Win([0-9]+) Replace with: Windows\1 Will search for strings like Win2000, Win2003 and changes them to Windows2000, Windows2003
  2. Find: [a-z]+(\d\d)\> Replace with: Windows\1 Will search for all alphanumeric followed by 2 digits only at the end such as Win98 and Win07 and changes them to Windows98, Windows07
  3. Fiind : –USD([0-9]+) Replace wtih :  : USD\1 of Entrace Fee NCAA finals–USD200peradult will produce Entrace Fee NCAA finals : USD200 peradult