Node.js learning resource

'node.js' photo (c) 2011, Pedro Lozano - license: http://creativecommons.org/licenses/by/2.0/
Node.js



  What is Node.js? Node.js is a non blocking web server and also it is simple framework to write the web codes. It is written in JavaScript and run at the server side and using event driven model. Non-blocking feature also ease to pain to solve the dead-lock issue. Most of the web server or framework nowadays need you to aware or take care of threading or process dead-lock issue when you are writing code. The non-blocking feature also enable developer to implement real time web solution as it can handle thousand of simultaneous request per time. In case you are Python developer, the example for non-blocking web server for python is Tornado which they use it in the Friendfeed, please goto http://www.tornadoweb.org/ for more information. Please also goto http://nodejs.org/ the official site for more details and you can goto http://nodejs.org/#download to download the latest binaries.

Below are some resources that I found and bookmarked when I am learning it, you can try to start your journey to Node.js from here and please let me know if you have any other interesting site to show:
Learning Resources for beginners:
In case you are hard core developer that like design pattern and like to the art of programming. You can start to learn MVC for Node.js here:
Here are some sample project that using Node.js or some module that for Node.js in case you need it for example NodeJS RESTful module and so on, The most I like is the one eample of Real Time multiplayer game, please do check them out~
Here are some list of companies that provide hosting:
  1. Nodester http://nodester.com/  
  2. Hosting service from Joyent https://no.de/  
  3. NodeSocket http://www.nodesocket.com/ 
Facebook Group for you to refer or join if you are active user for Facebook:
  1. https://www.facebook.com/groups/sg.nodejs/  
  2. https://www.facebook.com/pages/Nodejs/132640106759624 
  3. https://www.facebook.com/groups/104124459678626/ NodeHack  *Updated: October 17,2011
Some Youtube webcast:
  1. Playlist of all Node.js related videos from youtube http://www.youtube.com/watch?v=7tUfDWRIMpw&feature=results_main&playnext=1&list=PLF31C7CF652CDB83A
Blogs about Node.js
  1. http://www.nodecloud.org/
While, ExpressJS is a framework on top of Node.js. I will say it simplify the way of implementing Node.js, this is a site you must check out! Last but not least, below are some or ideas videos from Youtube on how can you leverage Node.js for a better product or productivity tool .



*Please join my Facebook page if you like my post and stay tune with my updates.

Android Icon Designer

'G1 with latest CyanogenMod ROM' photo (c) 2009, okubax - license: http://creativecommons.org/licenses/by/2.0/
Hi readers, sorry that I have been lost in the blogging world for so long. Lately I am developing for some FREE apps. I make it for FREE is because as the Malaysia developers we still cannot sell the commercial product at Android market. Anyway, I am putting some resource that I founded during the development. These two site helps you to create your Android app icon on the fly with some clicks. Both of them are following the guidelines for creating Android icon. (Guideline is here)  The two URLs below are

  1. http://android-ui-utils.googlecode.com/hg/asset-studio/dist/icons-launcher.html#foreground.type=clipart&foreground.space.trim=0&foreground.space.pad=0.4&foreground.clipart=res%2Fclipart%2Ficons%2Fpower.svg&crop=0&shape=square&backColor=303138%2C100&foreColor=fffaff%2C36&foreEffect=2
  2. http://www.androidicongenerator.net/
Please try out for designing some simple Android icon. Anyway you still need Photoshop or Gimp if you need a complex one. Please do let me know if you have any other suggestion! 

Hello Android again

Android FTW















photo © 2009 Lynn Wallenstein | more info (via: Wylio)

I have been busy since few months ago and at last have some free time to continue explore Android development.  I didn't post about Android related topic since last year about 28-December 2009.  I already did some research about the blogs, recommended books, sources and forums that related to Android development since few months ago. I will share some of them here and you may find more resource from my last post that I wrote on 28-December-2009:
Blogs:
Forums
Source codes
Books
Last and not least, I wonder you already aware of 101ftb.com that provides you a chance to win free technical books that in hard copy format. If not mistaken, some of the countries won't have book to ship to them but they will win Amazon gift card of vouchers for example Malaysia. My friend already won twice from that Monthly Raffle. Anyway, you can join it right now and try your luck for the next Raffle.  Please let me know if you have any resource that you think is mandatory to add in. Enjoy the resources and happy Tuesday!

Sharing session of ASP.NET MVC and jQuery - tips and tricks in Tech Insights 2010

 

I just did a sharing about ASP.NET MVC and jQuery tips and tricks about 2 weeks ago at Tech Insights 2010 event http://www.techinsights.my/ . I am little bit disappointed with my performance over there. In fact, I felt dizzy and nervous during the sharing when looking down to all the audience down from the stage. Oh my god, seems I am still not well trained with this kind of event. Anyway, I have some plans in my mind to train myself be better and cope well with this kind of event. 

I created a simple shopping cart for the sharing and it is called eStore. If you are familiar with shopping cart then you will know some of the features is mandatory to be included such as product details, product browsing, product searching and so on. I don't manage to include Administration functions and shipping module.. Anyway, like what I said the intention to create this shopping cart is to show how jQuery can be integrated with ASP.NET MVC and enhance the User Experience (UX) and so on. I hosted the project to Codeplex.com. The URL for the project is http://estore.codeplex.com. I included the project template to start off the jQuery integration process as well so you don't need to build it from scratch. Some of the jQuery plugin are used in the eStore such as jQuery UI, jQuery Watermark, jQuery Lightbox, jQuery Coda Slider and so on. I planned to use jQPlot for the charting in the administration page and it is in my todo list. Please don't hesitate to let me know if you have any suggestion or question. 

 

ASP.NET MVC for Tech Insights 2010

I was invited by Patrick to speak in Tech Insights 2010. My topic is "ASP.NET MVC with jQuery - tips and tricks". I can say the topic take focus on Web Developer and developers or for those like to know more about ASP.NET. However, if you concerns about the design of application, MVC is one of the pattern that suitable for it. 

MVC is acronym for Model View Controller. It is a kind of art of programming that stated how should your application be separated in term of layers. It also allow the developer to test each of component individually since it also promotes separation of concerns. It also allow me to implement TDD or Test Driven Development in the projects and it allow all the component to be tested before any other functional or system test. 

Model can be related to Data Model and Domain Model. Data Model is the layer that capsuled the logic how the application should access database.View is the presentation layer and it present how should the information formed and visible to the user. For example, if the user have 1000 or more of student records, I can present it as a table, a repeated list, and even you can put some filter such as age filter, performance filter to allow the teacher to do some filtering on the information and let them find what they want instantly. The View also define how the user interact with the system or application. The design of View is important as it can leads to how is the productivity of a user. For example, the application is efficient if a click can trigger an action compare to another application that needs 3 clicks to trigger the action. The Controller receives input and initiates a response by making calls on model objects. A controller will get the input based on the user and instructs the model and viewport to perform actions based on that input 

ASP.NET MVC is a framework that adopts MVC framework and it is still built on top of ASP.NET. The ASP.NET MVC 2.0 is better than 1.0 as it have more features. ASP.NET MVC is flexible enough to allow developers build their own View Engine and also Controller Factory. You are allow to use MEF, Unity and other IoC framework or Service Locator framework to build them. Some of the existing View Engine that you can download or use such as Spark, NDJango and so on.  

I bet you use jQuery before. If not you may goto http://jquery.com/ to grab a copy to use it in your web application. I will say the learning curve of this framework is minimum compare to others. What is jQuery? jQuery is created by John Resig. It is a Javascript framework to speed up your development and eliminate your lines of code. Microsoft already integrated jQuery framework into Visual Studio since few years back. I will say it really help all web developers eliminates big collection lines of code. I was a web developer and I know the pain to write script and dealing with the DOM. jQuery really helps me a lot in my web development since few years back in some of the projects. 

For example, the single line of code that shown below find the paragraph elements that with neat class name and add the new "ohmy" class name into it and at last it show this invisible element slowly. I can still remembered I wrote more than 5 lines to do the same task! So now can you imagine the power of jQuery? 

$("p.neat").addClass("ohmy").show("slow");  

jQuery is more than that. The creator of jQuery is smart and allow jQuery to be extended by everyone. He allows everyone to unleash their creativity. So please stay tune to see how I use the jQuery to build a more friendly eStore.  I hope everyone will like it. Please left me some comments if you want to know more! 

Excited and learning Google Android development

I am execited about Google Android based phone lately. I am learning and finding some resources about Android and also development. For the moment right now, there are some Android phone in the market, such as Motorola DROID, HTC Magic, HTC Hero, Sony Ericssion X10 and so on. For more information about Android powered phone, please take a look at http://www.androphones.com/. If you are still wondering what is Android, you may find some details about Android Mobile OS from Wikipedia. For developers in Android, I found some simple tutorials that helps me to understand Android development. There are listed as below, you may need Eclipse or Netbeans IDE to develop it:



And for sure, we won't miss out the tutorials and dev guides from Android Official site: http://developer.android.com/guide/basics/what-is-android.html and also forum http://groups.google.com/group/android-developers.


Some Android development related videos:



In case you are in living Malaysia especally Kuala Lumpur area, you may attend their meet up all the times. Please get more details from the Facebook group http://www.facebook.com/#/group.php?gid=133530318700&ref=ts. Last but not least, try to join this forum too, I found out it have quite number of resources http://www.anddev.org/viewforum.php?f=8. And for the Android mobile phone beginners, you may try to take a look at the list of Android Starter Apps shared by CNET,


Editted 31-DEC-09


Added some blogrolls that write Android related posts, please enjoy :


http://saigeethamn.blogspot.com/


http://www.helloandroid.com/tutorials


http://davanum.wordpress.com


http://bakhtiyor.com/

Resource for Google Maps Developer

I am learning how to use Google Maps API and doing mash up recently. The Google Map is very useful for those want to do GIS developing. The GMaps API is quite mature nowadays and very powerful. The features of the Google Maps such as Street View, Get Directions from one point to another point and some party or developer even mash up with transportation schedule, earth quake notification and so on.

The links shown below are the site that publish tutorials for Google Map:

http://econym.org.uk/gmap/

http://marcgrabanski.com/article/jquery-google-maps-tutorial-basics

http://marcgrabanski.com/article/jquery-google-maps-tutorial-ajax-php-mysql

http://www.designing4u.de/2008/05/google-maps-and-jquery-drop-down-and-clickable-maps/

And this is the Google Map plugin for jQuery if you are using jquery.

http://github.com/digitalspaghetti/jmaps/

If you are so excited about it, let's read the blog below to keep up to-date what mash up are up everyday:

http://googlemapsmania.blogspot.com/

Updated my blogspot layout

Incase you didn't take notice on the layout of my blog, just FYI, I just updated my blogspot theme. This theme makes my blog looks more tidy and neat. The previous layout makes my blog looks messy. This time I have adapt a more clean and Web 2.0 feels style. Anyway, please kindly help me to vote the poll below if I need more improvement?

Quiz for Web 2.0

How well do you know AJAX or Web 2.0? Please go through this quiz then you will know well you are? Please kindly comment your marks here and share with us. :D

XNA Game Studio & Resources

I was attracted by Microsoft XNA framework. I learned Direct X before. But, after that I gave up. at last. Now, I am attracted by XNA framework. To me, it is a very cool and robust framework allow you to code and design a game. It is really cool~I just downloaded XNA Game Studio Express and installed in my home desktop. I plan to learn it up and design my game. Wow, really looking for it now. Anyway, I bookmark some links for learning XNA framework and I am putting here:
added (21/12/2006):

Migrate over to my own free domain - http://www.ahpen-blog.co.cc


I just move all my existing posts in this blog over my new blog. I am sure using BlogMl again. :) I transferred over all my posts within 5 minutes. ;) It is cool. Anyway. you can just go over my new blog http://www.ahpen-blog.co.cc/. I am using Wordpress as my blog engine.
Well, I am using http://www.freehostia.com/ as my host server and using http://www.co.cc/ as my free domain name. You can try to do it as well. Feel interesting? Just do it. ;)

Attracted by Second Life



Recently, I was waching to CSI:NY. Generally, I am a CSI Fans of New York and Las Vegas and also Miami. So, basically I was addicted to CSI. Due to one of the chapter of CSI, the case happen related to Second Life. The geeks & pro-Killer attracted me. She is really good in technology, computer, network, hacking, killing and etc. One of the technology she is using is Second Life. Seems, she used it to trace down victim's IP and look for where are they in the real life. A

Anyway, Microsoft also bought their land in Second Life. Whenever any developer functions, it would be hold at there too. To land on there to have overview what is second life, just goto http://www.secondlife.com to download the client or the viewer. Register yourself and login into the second life. If you want to land on Microsoft land, just goto http://slurl.com/secondlife/Microsoft%20Island///. Please ensure you installed the viewer before you goto the island. For the calendar of the Microsoft events at the island, please do visit http://sldnug.net/ for the calendar. Please do enjoy yourself in secondlife :D

Game or rest when you feel you are tired and doing nonsense thing.

I was doing nonsense whole day in my working day; Surfing around on the Google for looking Ruby languages of thing. By the way, I cannot think of some solution for my codes or my work. Feeling frustrated is not a good way to release your tension,so, I rather to spend my time on some relaxing game or rest my brain. Maybe I am too tired lately. Therefore, I am planning to take a rest next week. :) Just try to play the game when you are tired or doing nonsense thing.




Games at Miniclip.com - Pebble Dash
Pebble Dash

Throw the pebble as far as you can!

Play this free game now!!

I am in a new division and new team.

It has been few months from the post. I was attached with another new team called STP (Software Technology Platform) since 5 months ago. For those that worry about my career, thanks you a lot. This is the time to inform you about my career. Sorry for no following post after the a while. What am I doing now? I am doing about researching work and writing some firmware regression test case of thing.

Exported Blogger post to geekswithblogs.net

I am planning to clone my blog to geekswithblogs.net. I found out that geekswithblogs.net support BlogML. BlogML is a markup to export your current blog contents or post to a xml formatted file. Anyway, you can go to the link below to learn more:

The file that provided maybe it works on your laptop or computer, but some how that is not work on my laptop and my blogger. I suspect maybe that is some changes on the blogger site. I found out another tool or it is a PowerShell Script to help me to export my blog to an xml file at last. Please take a look at:

http://www.aaronlerch.com/blog/2007/07/21/export-blogger-blogs-to-blogml-with-powershell/

Visual Studio 2008 RTM

Visual Studio 2008 is released to manufacturing. (RTM) Please take a look below or download your trial version, or else you can get your copy of express edition of VS2008.
http://msdn2.microsoft.com/en-us/vstudio/products/default.aspx

My team being dismissed and I learned something.

Something special happened in my life. My team being dismissed. The reason given is the biz is centered at U.S.A as the software aim for Aerospace & De fence. (Nonsense, right? If so, why form this few months ago?) My team will be re-deployed to other department too. But, they still have no position for me yet. I have gone through once re-deployment and restructuring in my ex-Company Intel before and I have very good luck to gone through it. Anyway, this is my first time to face re-deployment in my career.
The feeling of being re-deployed is not good. I felt like just like a specimen/mice for the scientist.
Don't know about my future, my career now. But, the good thing is I can have my free time to learn more thing and explore more things, I like that!!
I learned to assembly the Cognex Insight Vision Camera and how to operate the camera. It is cool and it is an IP Camera. Well, I think I will have my lot of time to play with it...Waiting for the "Scientist" to "operate" me...

Some suggested tools for PowerShell development

To keep on learning on PowerShell, you may go into deep to learn how to develop cmdlet if you are developer. That is very cool to develop your very own cmdlet. I found some examples that to develop some cmdlet to get contact info from the Outlook and some even more cool. Anyway, I plan to develop my very own and useful cmdlet. You can get some extra or extension for cmdlet or powershell in http://www.codeplex.com/PowerShellCX/Release/ProjectReleases.aspx?ReleaseId=2688
and this is Keith's project. (My Boss : P)
That is no project template for you to create cmdlet, but you can get on from this website. http://channel9.msdn.com/ShowPost.aspx?PostID=256835

Thanks.

Powershell is cool.

Just got free time to play with Power Shell recently. Power Shell is really a cool tech. It enable you to create your custom command or it is called cmdlet in PowerShell and it is created with your familiar technology .NET if you are a .NET developer. For more information you can refer to some blogs and websites stated below:

Links

Books
Hope i will still get some free time after that to post some of my research done lately on PowerShell and DirectShow.

Impressed by this.

Just play around in youtube, can you do this? I am impressed by this. That's cool. Lol.