Notes on codes, projects and everything
I am Lai Choon Siang. The place where I am living currently is in Subang Jaya, Malaysia. Most of the time, people I met online know me by my Internet Alias “Jeffrey04”. In my free time, I like reading books, traveling, taking photographs and blogging. I am currently maintaining two blogs; first consists mostly life journals in Mandarin language and the second, which is the blog that you are reading at, would be used to keep my findings and notes in web-development field. Besides that, I am also help in operating a Chinese blogger community website which helps to promote blogging in Mandarin Language among Malaysian.
I started learning about computer when I was in the age of 10. The first program I learned was Delta Drawing and recent studies claimed that it is actually a type of simplified LOGO language. I also learned a bit of LOGO before Windows 95 became popular and I quited the class which taught LOGO. Then I spent some time in learning the HyperText Markup Language (HTML) around the age of 12 and started to write some simple websites and applied CSS in later years. After getting used with installing scripts, then I built some bulletin boards using YaBB, YaBB SE, SMF, phpBB and Discuz without knowing much about programming.
In my secondary school life, I joined Malaysia Red Crescent Society and held the position as an Afternoon Session Representative, then Assistant Secretary, followed by Secretary and finally as a President. Besides that, I also joined Chinese Language Society and held position as a form representative. In these societies, I joined some camping activities, marching competitions and attended some courses such as basics in first aid. I also participated in educational slide making competition for physics when I was in form 5.
Then I entered Tunku Abdul Rahman College to take my Diploma in Computer Science and Management Mathematics. Throughout the two years of studies, I learned various programming languages such as C, basic JAVA, HTML and CSS, Classic VB and SQL as well as other subjects like Accounting, SDLC and Mathematics such as Statistics, Algebra, Calculus, Introductory Discrete Maths etc. Besides that, I also spent some time in learning PHP after learning the key-concepts of programming in college and built a simple blog. However, I migrated the blog to WordPress because of the lack of time and limited knowledge in spam prevention.
After obtaining my Diploma, I continued my studies in Advanced Diploma cum Bachelor’s Degree (in conjunction with Campbell University, North Carolina, USA) of Computer Science and Management Mathematics on a partial scholarship offered by the college. Throughout the two years of study, the new programming languages and technologies learned are procedural C# with ASP.NET, Object Oriented VB.NET, Oracle PL/SQL and Microsoft T-SQL, SWI-Prolog as well as some theory subjects such as basics in Database Design and Maintenance, basic Operating System principals, Windows 2003 Administration and Maintenance, Artificial Intelligence, OOAD as well as Mathematics subjects such as Quality Control, Applied Statistics, Theory of Interest, Mathematics of Life Insurance and Financial Market, Discrete Mathematics, Operational Research, Cryptography etc. I also took some liberal arts unit in Introduction to Psychology, Music Appreciation and Introduction to Short Story.
The topic for my final year seminar was on Solving Linear and Non-linear Equations using Numerical Analysis and built a web 2.0-ish tourism information website titled “Trekkr” with co-operation of Regina Foo. The final year project was built using PHP5 and MySQL5 with full Object Oriented MVC architectural. We didn’t use any framework at that moment as we wanted to keep the project simple (and the MVC architectural design is posted here). The final year project website was being uploaded to a real life web-server offered by my friend Clemence for testing in production environment and was taken down after the development completes. The web server used was Apache and was operating on Linux Operating System.
I am currently graduated from college and is looking for a job in web-development field. Unless I am developing projects other than PHP5, I would be on LAMP for my web-development projects. I used Eclipse PDT to develop my final year project but I am shifting to OpenKomodo for my future PHP5 projects. The operating system that I am using most of the time is Ubuntu Linux as it doesn’t cost me much money to work on it.
Sometimes I really doubt about the advantage of recycling old stuff to fund for new units beyond goodwill. Sure you get to convince yourself that you are saving the environment by doing so, and it also saves money in the long run. However, I didn’t realize how much it generates it may be after trying to work out an answer for a fictional IQ question.
I finally put in some time and effort learning myself a bit of Rust. Though I am still struggling with ownership and lifetimes (which is essentially everything about the language, to be honest), I find it more interesting compared to Golang, which is relatively boring, though being functional (no pun intended). While learning the language, the one thing I came across often is the Option
enum, then I remembered that I read something about Monad.
I have been following this excellent guide written by Benjamin Thomas to set up my virtual machine for development purpose. However, when I am starting to configure a Ubuntu Quantal alpha machine, parts of the guide became inapplicable. Hence, this post is written as a small revision to the previously mentioned guide.
I need a slide show script for my portfolio pages but couldn’t find a good one anywhere so I decided to write one myself. The slide show script will be able to display image and the respective description in a predefined order. However, in this version, visitors would not be able to directly jump to a particular slide yet. The script is written in prototype‘s object-orientation approach hence you need to have prototype called.
array_map function is a function that I use the most in my php scripts recently. However, there are times where I want to pass some non-array into it, therefore often times I have code like the snippet shown below:
$result = array_map(
'some_callback',
array_fill(0, count($some_array), 'some_string'),
array_fill(0, count($some_array), 'some_other_string'),
$some_array
)
It doesn’t look good IMO, as it makes the code looks complicated. Hence, after seeing how the code may vary in all different scenarios, I created some functions to clean up the array_map call as seen above. Code snippet after the jump