New printer
Just got a HP Photosmart Premium, a wireless enabled all-in-one printer.
Good to see that machines in the house can share one printer now, in old days it was not that easy (different platforms, different locations).
Just got a HP Photosmart Premium, a wireless enabled all-in-one printer.
Good to see that machines in the house can share one printer now, in old days it was not that easy (different platforms, different locations).
It was said corp IT is now able to switch HP laptop with a MacBook, there is a guy in our group got his MacBook, and another guy’s request is being handled and will get in “couple of days”.
I’m thinking now – maybe I should get my HP laptop replaced as well. I’m checking software installed on my laptop now, so that I have some rough idea of what ability I’m going to lose by switching to Mac.
I believe I’m still going to have MS Office, and I will still have Firefox and Thunderbird, I will have Yahoo Messenger, and I think Adium can do all Pidgin does. I don’t think I need putty and WinSCP. I assume I can still get software for Blackberry and Nokia E90, but if they are not available it won’t be a big deal. I will have Perl, python, Java, subversion, etc. by default, which is good.
I may lose GNAT Ada, and have to find a better Common LISP environment. I need to find a good media player, while i think VLC should be good enough. Obviously I will lose all those Windows development environment, but if I can get Fusion I could run a Windows image (not sure about corp IT policy though). A new printer (all-in-on) is on the way and I believe it works with Mac (my current one does not work quite well).
Pretty much everything is fine
. I will submit the ticket after coming back from the Christmas vacation.
Reading the post about Google DNS service, it seems it’s breaking the eco system in silicon valley.
I used to believe silicon valley has good eco system for start-ups, that is, start-up companies try all sort of new ideas, and once proved working, they can go IPO or get acquired by a big company, so investors can get return, as well as founders get financial benifit.
Story is different in China, small companies try all new ideas, and once proved working, big companies become copycat, using their massive audience base kill the start-ups.
Pity I’m seeing Google is following the second route now.
It seems they finished construction work on I680, though partly – the highway between Washington and Mission Blvd., it becomes 5 lanes now.
It seems Californian still has money to build I680, the construction work didn’t get any impact from this economy crisis, good to know.
I wish things can be better day by day.
Changing to new theme, happy holiday.
Since proxmox gives me great VM performance, I’m moving PowerBook (was running Fedora) back to be a PowerBoox, running OSX 10.5.
It will be a client box still, but it will not be a dedicated dev related box.
It seems by default wsgi use 15 threads per daemon process, it sounds like a cool feature at the very beginning, but later it turned to nightmare to me.
I’m working on testing user authentication system with Cassandra as backend, obviously establishing connection to Cassandra for every request doesn’t make sense at all, so I’m trying to do some persistent connection stuffs.
The quick and easy solution for me is, establishing the connection in class level, so at least requests handled by same process can share the connection. So I created a class member to hold the connection, and __init__ of every class instance, I “ping” the connection by describe_keyspace (assume it access meta data only which would be fast). If there is anything wrong during the “ping”, I will shutdown current connection and establish a new one.
Too bad with default wsgi configuration – it runs in thread model, so by the time I close/re-open connection for the class (process), there could be other threads using the connection. It seems I can only run with some kind lock mechanism to avoid this from happening, which is tough and frankly speaking, I don’t know how to make it efficient.
So I changed wsgi configuration, make it one thread per process, by doing so I can be sure while I’m doing the “ping” there is only one request for this class (process), so I can safely do whatever I want, as within the class (process) there is no parallel execution.
The performance is pretty good, I will tune to see how many processes I should run for the wsgi daemon, but with 5 processes, I can reach 190 ms average/250 ms maximum for 10 concurrent clients, 380/450 for 20 concurrent clients, and550/650 for 30, pretty linear in term of average response time.
It seems, to me at least, thread is not a great idea always, I cannot tell how much performance gain can it gives me, but it at least makes things complicated.