Archive for the ‘At Work’ Category

CRM Systems

Sunday, August 9th, 2009

Checking out SugarCRM in terms of features and capabilities:

Helps when you are running Ubuntu on your laptop:
http://www.howtoforge.com/installing-sugarcrm-community-edition-on-ubuntu-8.10

Search & Move in Ruby

Tuesday, August 4th, 2009

Its interesting that one can still get an adrenalin rush from coding…
Ever wanted to be able to move a set of opening and closing tag from one part of the document to another? Across 100 files?

This was a quick hack I did up over a night in Ruby.

#### Initialisation ############
files = Array.new
filelines = Array.new
locationfiletype = “/home/yuit/*.html”
destinationfolder = “/home/yuit/Desktop/”
loggingfolder = “/home/yuit/Desktop/”

#### loading all files into memory ######
files = Dir["#{locationfiletype}"]
files.each do |f|
# puts “#{f}”

filename = “#{f}”.split(’/')
filelines = IO.readlines(”#{f}”)
puts “Opening file #{f}”

############################################
## initial scanning : Form tag replacement##
############################################
a = 0
foundstarttagsource = false
foundendtagsource = false
foundstarttagdestination= false
foundendtagdestination = false
locationstarttagsource = 0
locationstarttagdestination = 0
locationendtagsource = 0
locationendtagdestination = 0

filelines.each do |g|
if “#{g}”.include? “

” then
locationstarttagsource = a
foundstarttagsource = true
end
if “#{g}”.include? “” then
locationstarttagdestination = a
foundstarttagdestination = true
end
if “#{g}”.include? “” then
locationendtagsource = a
foundendtagsource = true
end
if “#{g}”.include? “

Notes:” then
locationendtagdestination = a
foundendtagdestination = true
end
a = a+1
end

if foundstarttagsource && foundstarttagdestination && foundendtagsource && foundendtagdestination then
puts “Found the form tag in #{f}”
puts “#{locationstarttagsource}, #{locationendtagsource}, #{locationstarttagdestination}, #{locationendtagdestination}”
filelines[locationstarttagsource].gsub!(”
“,”)
filelines[locationendtagsource].gsub!(”",”)
filelines[locationendtagdestination].gsub!(”

Notes:”,’

Notes:

‘)
filelines.insert(locationstarttagdestination,”

“)

file_output = File.open(”#{destinationfolder}#{filename[-1]}”, “w”)
filelines.each {|line| file_output.puts “#{line}”}
file_output.close

else
File.open(”#{loggingfolder}error_replacement.log”, ‘a+’) { |file| file << “#{Time.now}\t #{f}\t : Form tag not replaced\t #{foundstarttagsource}\t#{foundstarttagdestination}\t#{foundendtagsource}\t#{foundendtagdestination}\n”}

end
end

#### Clearing up memory ##########
files.clear
filelines.clear

Building An Intranet Knowledge Base while Leveraging on Wikipedia

Friday, July 17th, 2009

There’s an interesting discussion on Slashdot over this question of
“Integrating Wikipedia With a Local Intranet Wiki”. Something that some of us have come across.
Some of the proposed solutions are:

a. Complete dump of Wikipedia and add your own stuff to it
b. Build a simple proxy server that rewrites wikipedia content to include a header of your local content
c. IFRAME? Intelligent proxy/page modification?
d. Browser extension somewhere that lets users add their own comments to any arbitrary web page
e. Create an internal wiki, and wherever relevent you link to the wikipedia article
f. Its probably not going to work because “You are trying to force a technical solution on a social problem.”

Someone also posted an interesting conceptual paper:
http://www.galois.com/files/MLwiki_Datasheet.pdf

Pretty interesting ideas. What are the pros and cons of the above suggestions? Any ideas on top of those?

http://slashdot.org/comments.pl?sid=1304239

Late Night Meetings: 2

Tuesday, May 12th, 2009

Having another late night meetings, and reminiscing back 9 years ago. Back then, I had a palm pilot with a foldable keyboard, and tried to get work done by connecting to my handphone (i believe it was a Sony Ericsson T68i) via infrared, sending and checking emails/sms using the built in email app in Palm
Fast forward 9 years. Now, I’m having an IBM Thinkpad X200 running Ubuntu 9.04, with a Singtel Mobile Broadband, connecting to the internet through the 3.5G network, accessing my emails thro Zimbra web interface, IM’ing on Pidgin.

Late night meetings

Wednesday, May 6th, 2009

Its been quite a while since I’ve had long late night meetings with clients. Just finished one. Sure brings back memories back to 2001 days. And this one is pretty memorable in the sense that we had 4 projectors projecting different screens all at the same time, of which one was a mindmap so that we can decide and change the IA on the fly and make a decision there and then. :-)
05052009661

Learning and Curiousity

Sunday, May 3rd, 2009

I always believe that curiosity is one of the core characteristics that one needs to cultivate if he/she wants to thrive in the digital medium, and thought I’d just point out a small case in point that I personally experienced 15minutes ago.

I was just clearing my emails, and this being a Sunday evening, I just happened to have a *little* more time on my hand and decided to do some simple analysis of one of the usual email marketing newsletter I receive rather than sending it straight to the thrash.  Selecting the “Show Original” option on the right-click menu, i noticed a few email headers that I didn’t recognise

  • List-Unsubscribe
  • X-List-Unsubscribe
  • X-Unsubscribe-Web

None of these email headers were those which I’m personally familiar with.  A quick check with Google shows up the following interesting articles:

  • http://www.jamesshuggins.com/h/web1/list-best-practices.htm
  • http://www.jamesshuggins.com/h/web1/list-email-headers.htm

Apparently these headers are specified in RFC 2369

Going through the intro of this RFC, tells you that these headers are optional, but meant to extend the functionality of list managers and their respective functions.

Quite a bit of things that you learn in 10minutes of quick research, all because of the curiosity of examining the email message body.  So now, I can learn more about what the latest technical implementations are,  what other people think about email best practices,  from their point of view, both technically, and from a messaging angle.

Always be curious. You’ll be surprised how much you’ll learn this way.