Sunday, November 16, 2008

Got the kernel update blues

If you use linux with funky hardware, you will periodically enjoy time spent debugging the results of a new kernel.

We have an old Sony GRX laptop with Fedora 9. A long time ago, we bought an Asante AeroLan AL5410-G PCMCIA card. (For those who may be looking for the firmware, the Asante site still has it available as part of the driver download.) I decided to try to get this card working with Fedora. It did ... at some point. Thank you, ACX100/ACX111 project!

When the 2.6.27.5-37 kernel came along last week, the last build (acx-20080210) failed. Here's the build log:

make -C /lib/modules/`uname -r`/build M=`pwd`
make: Entering directory `/usr/src/kernels/2.6.27.5-37.fc9.i686'
LD /usr/src/acx-20080210/built-in.o
CC [M] /usr/src/acx-20080210/wlan.o
CC [M] /usr/src/acx-20080210/conv.o
CC [M] /usr/src/acx-20080210/ioctl.o
/usr/src/acx-20080210/ioctl.c: In function ‘acx_s_scan_add_station’:
/usr/src/acx-20080210/ioctl.c:506: warning: passing argument 1 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:506: warning: passing argument 3 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:506: warning: passing argument 4 of ‘iwe_stream_add_event’ makes pointer from integer without a cast
/usr/src/acx-20080210/ioctl.c:506: error: too few arguments to function ‘iwe_stream_add_event’
/usr/src/acx-20080210/ioctl.c:513: warning: passing argument 1 of ‘iwe_stream_add_point’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:513: warning: passing argument 3 of ‘iwe_stream_add_point’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:513: warning: passing argument 4 of ‘iwe_stream_add_point’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:513: error: too few arguments to function ‘iwe_stream_add_point’
/usr/src/acx-20080210/ioctl.c:523: warning: passing argument 1 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:523: warning: passing argument 3 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:523: warning: passing argument 4 of ‘iwe_stream_add_event’ makes pointer from integer without a cast
/usr/src/acx-20080210/ioctl.c:523: error: too few arguments to function ‘iwe_stream_add_event’
/usr/src/acx-20080210/ioctl.c:531: warning: passing argument 1 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:531: warning: passing argument 3 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:531: warning: passing argument 4 of ‘iwe_stream_add_event’ makes pointer from integer without a cast
/usr/src/acx-20080210/ioctl.c:531: error: too few arguments to function ‘iwe_stream_add_event’
/usr/src/acx-20080210/ioctl.c:549: warning: passing argument 1 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:549: warning: passing argument 3 of ‘iwe_stream_add_event’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:549: warning: passing argument 4 of ‘iwe_stream_add_event’ makes pointer from integer without a cast
/usr/src/acx-20080210/ioctl.c:549: error: too few arguments to function ‘iwe_stream_add_event’
/usr/src/acx-20080210/ioctl.c:559: warning: passing argument 1 of ‘iwe_stream_add_point’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:559: warning: passing argument 3 of ‘iwe_stream_add_point’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:559: warning: passing argument 4 of ‘iwe_stream_add_point’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:559: error: too few arguments to function ‘iwe_stream_add_point’
/usr/src/acx-20080210/ioctl.c:574: warning: passing argument 1 of ‘iwe_stream_add_value’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:574: warning: passing argument 4 of ‘iwe_stream_add_value’ from incompatible pointer type
/usr/src/acx-20080210/ioctl.c:574: warning: passing argument 5 of ‘iwe_stream_add_value’ makes pointer from integer without a cast
/usr/src/acx-20080210/ioctl.c:574: error: too few arguments to function ‘iwe_stream_add_value’
make[1]: *** [/usr/src/acx-20080210/ioctl.o] Error 1
make: *** [_module_/usr/src/acx-20080210] Error 2
make: Leaving directory `/usr/src/kernels/2.6.27.5-37.fc9.i686'


It turns out that the underlying API has changed. I've uploaded a patch on the project site for those afflicted.

Now -- does anyone else have a problem with this card and NetworkManager? It just scans forever and refuses to associate.


Nov 16 13:23:01 sonygrx kernel: acx_set_status(1):SCANNING
Nov 16 13:23:01 sonygrx NetworkManager: nm_error_monitoring_device_link_state(): error monitoring wired ethernet link state: error occurred while waiting for data on socket
Nov 16 13:23:01 sonygrx kernel: start_scan: seems like previous scan is still running. Not starting anew. Please report
Nov 16 13:23:01 sonygrx NetworkManager: nm_error_monitoring_device_link_state(): error monitoring wired ethernet link state: error occurred while waiting for data on socket
Nov 16 13:23:01 sonygrx kernel: get_mask 0x00000000, set_mask 0x00000000 - after update
Nov 16 13:23:01 sonygrx NetworkManager: nm_error_monitoring_device_link_state(): error monitoring wired ethernet link state: error occurred while waiting for data on socket
Nov 16 13:23:01 sonygrx kernel: get_mask 0x00000000, set_mask 0x00040000
Nov 16 13:23:01 sonygrx NetworkManager: nm_error_monitoring_device_link_state(): error monitoring wired ethernet link state: error occurred while waiting for data on socket
Nov 16 13:23:01 sonygrx kernel: important setting has been changed. Need to update packet templates, too
Nov 16 13:23:01 sonygrx NetworkManager: nm_error_monitoring_device_link_state(): error monitoring wired ethernet link state: error occurred while waiting for data on socket
Nov 16 13:23:01 sonygrx kernel: updating packet templates

Wednesday, October 15, 2008

Blog Action Day

Today is Blog Action Day. The topic this year is poverty.

Many have written about many different things, but let's take a moment to consider how poverty affects humanity's ability to satisfy one of the few critical needs: food. No, I'm not talking about GMO-free food, nor am I talking about trans fat free food, nor am I talking about sugar-free cookies. I'm talking about the staples -- I'm talking about sustenance.


BBC: World hunger


I'm talking about how our ability and desire to pay more for food and siphon away food to create fuel is contributing to already soaring food prices. The world population is expected to grow from close to 6 billion today to approximately 9 billion by 2050. (Source: BBC/UN) The FAO estimates that 75m of those who are hungry are hungry because of high food prices.

And we're still wasting food. According to this CNN article that cites the US FDA, approximately one-quarter or 25.9 million tons of food winds up in garbage cans all over America. So how about this -- how about one week of consuming everything you buy?

Would that be too hard?

Sunday, September 14, 2008

University technologies ... more tag clouds

If you've spent enough time at a university, you'll have come into contact with the "Office of Technology Commercialization", "Office of Technology Licensing", or someone responsible for what's called "technology transfer". Essentially, these people are responsible for finding problems that can be solved using technology created by the university and making that technology available to the right people ... for a fee of course.

If this surprises you, consider reading the primer offered by Stanford's OTL. The Bayh-Dole act specifically intended to make federal government funded technology more accessible.

So what's this got to do with tag clouds? Well, just think about thousands of people walking around, some with ideas, some with solutions, some with problems ... we know they don't use all the same terms, so how can these people find each other productively? Think about why Google offers search suggestions. You may be looking for "software", but I might always refer to "algorithms" or "programs".

That's the power of a tag cloud. When words are placed out of context, the brain is probably forced to be more open about interpretation.

iBRIDGE screenshot


The nice people at iBRIDGE know this (or unknowingly benefit from it). Try it out. Try searching for "natural language" and see how the tags to the right help out.

For another example, look at Nestlé's US and EP patent filings. You could either scan 1,436 entries to find references to "ice cream", or you could simply click "ice", "cream", "confection", or "frozen".

So here's my question: why don't other technology search sites like yet2.com, e-ip.com, etc. use tag clouds? Don't make me click through pages of results -- give me a tag cloud!

Sunday, September 07, 2008

The Experiment

Few things engage me as much as text mining. I've had some time to play recently so I created a new toy that allows me to catch up on the news in an interesting way.



The essential mechanism is simple: use RSS to get data from a few news feeds, do some simple term analysis, add a sprinkle of "intelligent tagging", and presto!

Take a look: News site

You can click each term in the tag cloud to see a list of news articles where the term appeared. You can click over to the original article if it gets your attention.

Tag clouds are not new. The presentation here isn't half as pretty as wordle. But it was fun to create and I hope you enjoy it as well.

Friday, August 29, 2008

FreeMind for mind maps

How do you represent thoughts on paper? Left-to-right, one sentence after another? Or do you treat paper like a canvas, creating "clusters" of words?

If you like clusters, then you probably like mind maps as well. No -- mind mapping does not "change the way you think!" or awaken some hitherto dormant genius. But yes, if you prefer a "canvas", mind mapping certainly makes it easier to express yourself. It may have something to do with the fact that if you're innately predisposed to thinking incrementally from vague to precise (fleshing out, stubbing), then mind maps permit that naturally. The (perhaps equally innate) desire for grammar, on the other hand, probably creates cognitive overhead.

There are over a dozen useful mind mapping software; some are even free and open. There seems to be a reasonably complete list available at mind-mapping.org. But if you're looking for this kind of software, allow me to introduce you to FreeMind. It's open source, it's free, it's easy-to-use, and it works! Most importantly, there is an active user and developer community so there's help when you get stuck.

Earlier versions were somewhat slow, but starting 0.8.x, I've found FreeMind to be responsive enough to use for live discussions. For example maps and screenshots, go to the project's gallery, but here's a picture of a "brand map" that I did using FreeMind.

Nestlé brand map image (created using FreeMind) (click to enlarge)

The company's official brand show-case is here. I find the mind map, even as a picture, to be more engaging. Do you?

Sunday, August 17, 2008

This is incredible!

Ever had a moment where something jolts your consciousness and forces you to take notice? Or you just discover something really, really interesting (to you, at least)? And there's a part of you that says, "you gotta' tell someone about this!"

The next time that happens to me, I'll write about it here .

Here's what I found today. Simple, effective typography and composition to really get your attention ... beautiful! (runtime: 2:23)





For more, go to www.girleffect.org.