Friday, August 05, 2011

Nvidia to Nouveau - can't be happier

I used the proprietary nvidia driver for the last couple of years on my desktop. X server process with nvidia used to grow to over 1GB of resident memory use:

10001 root 20 0 2515m 1.3g 9284 S 4 31.8 310:38.06 X

And here is the same with Nouveau:

2997 root 20 0 84328 28m 13m S 5 0.7 34:49.18 X

28 frigging megabytes! No problems whatsoever so far, with performance or anything else.

This is NV44 (GeForce 7100 GS) card, nvidia 270.41.19, nouveau 0.0.16_pre20110323, xorg-x11 7.4 (server 1.10.2). But really I've had the same memory behavior with a variety of nvidia versions from as far back as I can remember.

All other software and usage patterns are the same. The only difference is the driver.

Thursday, September 16, 2010

MySQL 5.1 federated engine fix

In 5.1.50 version of MySQL if you attempt to install the "federated" plugin you get this:

mysql> install plugin federated soname 'ha_federated.so';
ERROR 1126 (HY000): Can't open shared library '/usr/lib/mysql/plugin/ha_federated.so' (errno: 2 undefined symbol: dynstr_append_mem)
mysql>
Apparently dynstr_append_menu is not used anywhere else in mysqld. But it is defined in libmysqlclient. So, we can try to build a frankestein library like this:

levi plugin # cd /usr/lib/mysql/plugin
levi plugin # gcc -shared -o ha_federated_am.so ha_federated.so ../libmysqlclient.so

Now trying to load the federated engine plugin:

mysql> install plugin federated soname 'ha_federated_am.so';
Query OK, 0 rows affected, 1 warning (0.00 sec)
It works.

In the end I still abandoned the idea of splitting off a part of the database to a separate server using the federated engine. I could not make it use correct indexes and it kept trying to pull in huge datasets over the network, even if the query itself is very direct on a unique index.

This just looked like a neat trick, so here it goes. I could not google up any other easy solution at least.

Andrew.

Monday, September 13, 2010

Amazon S3 curiosity

In preparation for some changes coming to isbndb.com soon I've been moving MARC data to Amazon S3 storage. Loaded 10+ million records just fine, but when I checked the status this morning here is what I saw in the log:

STORAGE_PUT: marc_record/soap/113.mrc
MethodNotAllowed: The specified method is not allowed against this resource.

The unlucky culprit is this book.

As it turns out, you can't place an object with a key that is either equal to "soap" or starts with "soap/". Not using REST API at least. I did not try using SOAP, it might work -- since the problem is likely that S3 considers that URI a SOAP entry point.

Who would have thought that S3 storage is not URI transparent. I re-read the documentation about what's allowed in keys and I don't see that restriction.


Andrew.

Friday, March 26, 2010

First Android app

That square gibberish thing on the right is a QR code for my first Android app. Point your phone's barcode scanner at it and it should pop right up. Or go check this excellent site: http://www.androidpit.com/en/android/market/apps/app/com.ejelta.whereami/Where-Am-I

I treated myself to a Moto Droid about three weeks ago, and here is the result. In a way, it's a slightly expanded version of a Hello World, but it did let me try practically everything in the phone except for sensors information -- maps, preferences, layouts, threads, data retrieval/parsing, activities switching, etc. Not to mention a crash course in Java which I knew absolutely nothing about up until the Droid.


Overall I like the phone a lot. And I like the development environment even more. Libs and documentation are pretty good. Frustrating at times, for a lack of examples in some key areas, but very good nonetheless.

Eclipse is a pretty solid product too. Although it would have been much nicer if the editor was Vim-based in it :)


Andrew.

p.s. Always wanted to share with the world the true location of Yellow Brick Road -- this was my chance.

Monday, September 17, 2007

The "one-half" kind of platform on the Internet

My friend Bill asked my opinion today on the excellent article from Marc Andreessen -- The three kinds of platforms you meet on the Internet.

I replied via email, but then thought this dried up blog of mine may get a few words as well. So, here is the quote.


What can I say? It's a very nice classification attempt-slash-summary, a good place to refer somebody to, etc. I enjoyed reading it.

But I think he may be wrong in presuming a strong separation between clients and servers. In his view the only true platform is that in which a "server" somewhere either runs the user code (level 3) or it does not (levels 1/2). If we include the browser into the mix as a full member the picture becomes a much more interesting and complex one. Security aside it's possible to imagine an application that pulls its parts from various sources (either through some browser extension for "trusted" JS sources or through a platform-registered proxy of some kind or through a greasemonkey-like mechanism) and then executes on the client/browser. It instantly achieves full "Level 3" platform status -- there is virtually no cost for developer and the code runs in the same space as the "core" platform code. At the same time it's much easier to provide on the "platform" developer side -- less security/throttling/fairness overhead.

That's what I think.



Andrew.

Thursday, March 22, 2007

Ad-supported google phone?

With the recent hype around "google phone" I am wondering... If it turns out to be true is google simply going to make it a device with a slick interface and a couple of google-ish features, or, would they try to change the laws of the market?

I mean, they are kings of ads, they tried a limited area with a free ad-supported wi-fi. So, would not it be interesting if they planned an ad-supported cell phone? It senses where you are, it shows you local businesses, the businesses pay google, you get either a free service or a discount towards the service..

There are of course privacy and fraud issues, but... it's interesting nonetheless.

Labels:

Wednesday, May 31, 2006

Illusion -- you can't touch that piggy

I was going through unread entries in Mighty Optical Illusions tonight...

This holographic piggy struck a mighty cord -- I saw it with my dad several years ago in some tourist trap store.. Universal Studios most likely. The store demonstration used the same pink piggy as in the article photo -- so between ourselves we always refer to it as "the piggy that is not there illusion".

We were both so impressed that when I got home I wrote a little script to calculate the kind of mirror it would take to produce the effect. Believe it or not, my dad was going to build the actual mirrors to try it out based on the printout of that script.

So.. Turns out the script is still there and still works. I dusted it off a bit and converted to the platform my site is on now. Take a look if you're curious -- full source code is there as well.

This image is built on the fly:



The image URL is: http://ejelta.com/am/piggy.png

Several parameters are accepted: size=##, noaxis=1, norays=1, hzcheck=1.

Enjoy!

Thursday, May 18, 2006

ISBNdb.com/Google Co-Op Integration

Following up on the recent Google Co-Op announcement ISBNdb.com now supports a set of custom queries in Google for those who opt-in.

The one I like the most is the simplest of queries we support -- in my Firefox I can simply do Ctrl+J, type "isbndb some title" and hit "Enter". That's all it takes to get a page with Google search results and a box linking directly to the same search for "some title" on ISBNdb.com -- sort of a search shortcut.

Links:
What do you think? Some other interesting ideas for Google Co-Op?

Wednesday, May 17, 2006

Mechanical Turk - the ultimate Turing test

Somehow I ended up today looking at long expected (only I expected Google to offer it first, what with GFS and such) Amazon S3 data storage web service and JungleDisk as a way to use it for files backup/transfer under Linux. Looks cool so far.

...but that's not the topic of this post. The topic is Amazon's Mechanical Turk -- in essense a system that allows to integrate humans and their brains into arbitrary software. It does not yet feed those humans, no Matrix for you, but it does pay them money.

What occured to me is that this could prove to be the ultimate platform for the Turing test.

We have some software that wants a human to do some task and pays that human for that. What would an entrepreneur do? I think the best way to make money on it is to design another program that would pretend to be human by performing that task. Right? We have the platform, we have demand, we have the economic stimulus -- an ideal situation for an interesting invention.

I can't wait to hear first rumors..

Friday, May 12, 2006

Unicode fix-ups on ISBNdb.com

Just a qiuck note that I ran ISBNdb.com's database through a series of filters fixing problems with older non-Unicode data (iso-8859-1 and marc-8 stored as broken or partially encoded utf-8). This affected roughly 1% of the data. The result is that practically all data we have now is in proper Unicode.

More interesting updates soon...