Tuesday, October 28, 2008

Python & Scalability

Was checking on Python scalability.

Found some good links
http://highscalability.com/youtube-architecture
http://highscalability.com/tags/python
http://www.python.org/about/success/strakt/ (This one uses Twisted as well)

Generally you can check here: http://www.python.org/about/success/

Couldn't resist this one: http://www.python.org/about/success/rackspace/

And yes, python is not only a scripting language, it is an object oriented programming language too!

A pat for Twisted is here as well:
http://news.zdnet.co.uk/software/0,1000000121,39246546,00.htm

Sunday, September 14, 2008

In search for an ORM

Sharan has been searching for an ORM for C++. Though we have been able to find many for Java, python etc; couldn't find one which is popular for C++.

A few that I found, though we yet to evaluate are:
http://soci.sourceforge.net/
http://sourceforge.net/projects/open-orm/
Database Template Library: http://dtemplatelib.sourceforge.net/

Found this one mentioned at a couple of places; but the page just refuses to open up
http://ceamus.com/objbuilder/

If anyone has any better suggestions, let me/sharan know.

Friday, February 22, 2008

wake_me_up or wake_me_not

We had a really tough problem to solve in the last few weeks and we finally got through it.. Every experience of solving a tough problem ends with sweet little learnings. And this time it was about "wake_up" functions on Linux. These functions don't seem to have good documentation anywhere and knowing the nuances of the different variants demands a lot of googling and reading :)
So was quite happy with this find, wherein a person has documented his learnings in one place.

http://groups.google.co.in/group/comp.os.linux.development.system/browse_
thread/thread/607517fcb4ecf29d/d752bf66a0a7bb48?lnk=st&q=wake_up_
interruptible+wake_up_interruptible_all#d752bf66a0a7bb48

And the equivalents of Mac can be found at
http://developer.apple.com/documentation/Darwin/Conceptual/KernelProgramming
/services/chapter_16_section_5.html#//apple_ref/doc/uid/TP30000905-CH219-CHDIDIDF

Hope this will help others in pursuit of wake_up problems!

Saturday, January 19, 2008

Macbook Air

Was reading reviews about MacBook Air and came across some very interesting one-liners on it

"It’s an expensive, disposable toy"
"Apple: Macbook Air inspires laptop Anorexia"
"Steve made a machine for himself, as ever."

Read some interesting stuff at
http://cultofmac.com/

What does GM stand for?

External beta testing is usually followed by GM build testing and subsequent release. So what is GM in the beta parlance? My project had been in the GM phase for quite a time. However I didn't bother to google for it throughout. Yesterday while reading an interview of an indie developer (Read Sweater), I read about Leopard's Golden Master not being released to Mac developers for testing before official release! And it was then, that I realised what the acronym GM meant. To confirm, I googled for the term which explained:

GM, or Gold Master, is what software is called when it has completed all phases of testing and is ready to be released to the general public

Ref:
http://beta.aol.com/projects.php?project=infocenter&loc=betaglossary#G12



Sunday, December 23, 2007

Pitfalls of using threads

livejournal's cpp community had a post on multi threading with c++, which got me reading on this.

The pitfalls with multi threading
- thread safe functions/non re-entrant functions
- deadlock
- race code
- pitfalls seen especially with C++ code (making initialization routines thread safe etc)

Boost.Threads (a little outdated article per the issues discussed still are a part of multithreading environment)
http://www.ddj.com/cpp/184401518

http://www.boost.org/doc/html/thread.html#id1710137

Pthreads
http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html

Testing and debugging is highly non-deterministic in a threaded environment, which adds to the difficulties.

Read to know more!

Monday, December 17, 2007

XCode 3.0 Instruments

XCode 3.0 has some exciting stuff introduced- Instruments. Read more on this:
http://www.apple.com/macosx/developertools/instruments.html