Blankego's Humble Home

You can find useful links here, If you and me have some intersection in interests.

Programming

Know your enemy and know yourself

-- know what is out there may be used as your weapon!

You don't need to build the Babel to make your way to heaven - http://rosettacode.org/

Compare the syntax in a tabular style - http://rigaux.org/language-study/syntax-across-languages/

Have questions? Ask an warm-hearted expert at Stackoverflow

Javascript aka ECMAScript

Javascript may be not a fancy language, but it's definitely a fun one. It's so dynamic that you can tweak it however you like to do all kinds of nasty tricks, as long as the brower says okay. Yeah, the browser's compatibilty is always the pain in the ass. I bet you've been haunted by it for a long time. Guess what, it won't quit, you will likely keep being bothered by it, for the foreseeable future. That's because the browser implementers they don't appreciate the virtue of collaboration - to make a better world? No way! They're doomed to fight each other to death. Although the fighting is bloody, the competition does have some benefits, it pushes the web to evolve.

Embrace HTML5 if you're optimistic

Use deploy some lib to fight the cross-browser war

Commonjs

Endeavour to make the language COMMON.

Coffeescript

It's essentially js in Sugarcoat.

dress = (who, clothes = "coffee flavor sugarcoat") ->
    "The #{clothes} does make #{who} look sweet!"

There's one problem: bugs also love candy! How would you debug a program under camouflage?

Node.js

Resurrection of the server side javascripting. Is that only hype or real deal?

Prevent your code from going haywire

Use QUnit

Python

-- The big snake is moaning!

I started programming by learnging turbo BASIC and PASCAL and a little bit C, But my process slept for N years until I rediscovered the Wonderland of programming by meeting Python, It's truely a fun language but not a easy one. I love underscore promises she stays single! Mess with a couple(__) to have an affair is just not my thing ;) Why on earth are there so many self, __. And as a pure dynamic language it surprisingly lacks a decent closure, don't tell me it has a lambda, for me it's more like a lame-duh. And here comes the really deal-breaker. They indeed compiled the damn runtime in different encodings for different platforms, UCS-4 for linux and UCS-2 for mswin32 respectively! When use the UCS2 version You cannot treat characters beyond BMP the same way as the other characters, You have to manipulate surrogate-pairs by hand, len() , for c in s: all crippled, in one word, the cross-platform blurb turned to bullcrap . As a Chinese speaker how can accept that?

Ruby

Ruby is awesome and elegant, its syntax is basically impeccable, except the slightly fat runtime.

Functional

I'm a big fan of functional programming, I like filter, fold, map, currying..., so much fun!

C/C++

C is cool. You wanna see how cool it is? Meet the GObject! Wanna see some macro tricks, check out this! If you have some control issue, who doesn't, put the C horse at your disposal!

C++ is powerful. It's as powerful as adrenaline rush! Although the templating of STL is kinda lame, when you made yourself acquainted with -

you got a amazing new horizon!

IDE

The QtCreator rules! Get the 2.5 version, it no more chokes on 0X lines!

Dependency hell

I hate fat-ass runtime, I'd rather stick with C++ than mess around with C# or Java, they both strangled by their corresponding FRAMEworks. Python and ruby have same problems, you can't force your end users to install any thing other than your app. Win32 is the worst scenario, you either give them the [gui].exe or give them the web! If you have to use a framework, you'd better bundle it with your app. How can one bundle JVM or .NET? You simply can't ! I've tried Mono's bundle tool, couldn't work it out on windows.

How about Lua? Lua's syntax is so verbose, so restrictive and so anti programmer's intuition. IMHO, it isn't worth the trouble.

PHP

Php is easy. Because it's permeating the web, it's worth to learn, unless your company uses rails or django. The Yii framework is a decent one. If you want to get the gist of MVC, all you need is to peruse Yii's guide and work out some proj.

http://phpsadness.com/

C# / JAVA

.NET/Mono and JDK they're just fine. If your boss prefers either of them, how dare you argue with him.

Java is the simplest language in the world except its enum. Simplicity may be interpreted by someone as suck-ness. No need to deny it, but you don't have to suck to play with something sucks. It really easy (in another world productive) to coding towards JDK or .NET.

The C# on the other hand doesn't suck at all. It's actually well balanced beauty. The true generics, The LINQ the evolving conciser and cleaner syntax -- you just cannot get enough of it!

IDE

The MonoDevelop is wonderful !

If you're into C#, buy this book: http://www.albahari.com/nutshell, it's the frakking bible for CSharpers!

Databases

SQLite is a handy gadget. Its official doc is very clean and very helpful, If you're new to RDBM, I suggest you play along with it.

MySql's old version doesn't speak unicode well.

CouchDB is a fun kid, and easy to befriended. It's not some old fashioned document-oriented DB like eXist, it speaks directly JSON(BSON) - the simplest hierarchical data structure to handle.

Deal with Data

Unicode and stuff

Sinology

Phonology