Category Archives: General

Catch-all category

General

Alpha shapes

Since Darrin Lemmer is stealing my Google juice with his posting of an email I sent to him :-), I’m going to post about that topic here.

Alpha shapes are this pretty cool geometric formalism that can help make sense out of point clouds. I came to them in investigating a nice way to render tri-dexel structures, but that’s a topic for some other time.

The simplest definition I’ve read is that alpha shapes are a generalization of convex hulls, in that they give a tunable parameter which, when set to infinity, produces a convex hull, but when set smaller produces a cell complex that more closely wraps the point set. At its best, subject to a couple of conditions that hold in useful cases, the wrapping is ‘perfect’. Anyway, I’ll let some others explain it, as I haven’t the patience right now, and I do have the links:

The idea behind alpha shapes is explained pretty well on this page, with a nice little Java applet that helps give you an intuitive understanding of it: alpha shape applet.

The implementation I used to play with this some is by Clarkson, at Bell Labs. Note that what this really implements should probably be called ‘alpha solids’. That’s alpha shapes with the interior simplexes removed. That’s generally what you want, but it’s something to be aware of as a difference from other implementations and from the uses of the term in the literature. You’ll probably want to use the ‘-A’ option when playing around to learn what it does; later you may want to use the ‘-aa’ option; in either case don’t forget to use ‘-mxxx’.

This is the alpha shapes page from one of the guys who first wrote up the idea, Ernst Mucke. There’s some (binary) code linked from there too, which is fun to play with but can’t be integrated into your own code without getting the source from them.

There used to be a page at http://www.alphashapes.org/ but I don’t know where it is now. It seems to come and go.

The CGAL library has an alpha shapes implementation that might be more suited to use within an application than the Clarkson code, although it doesn’t seem to do the alpha solids thing, and it has a separate commercial license (but free and OS for non-commercial use).

General

NREL Biomass Research

Just had to put in a bit of a plug for NREL. Very cool stuff going on there, much of which will be vastly more important than you may realize…

It was fun to take a poke around the place with my brother-in-law who works there. We primarily looked at stuff related to this: NREL: Biomass Research – Biochemical Conversion Technologies – Projects

General

Seeing What’s Next

I just read “Seeing What’s Next” by Clayton M. Christensen, Scott D. Anthony, Erik A. Roth. (LOC, Amazon)

I’m gonna have to come back to this one a few times, and maybe check out the authors’ other books.

This book covered a serious hole in my informal (and my short formal) economic education. As absolutely important as innovation is in the grand economic scheme, I hadn’t yet read anyone trying to put a formal framework around it. Of course, there’s always going to be that ineffable core in the process that gives us a reason to call it ‘innovation’ rather than ‘just what one would expect’, but there are meaningful things to be said about how a innovation is accepted into a market or markets, and ways to predict who will take greatest advantage of the innovation in a business sense. That’s what this book addresses, and from my first read through it, it seems like the theories presented and their applications have some solidity.

The fact that my economic education is rather limited didn’t seem to be much of a hindrance to my reading this book; the ideas are presented in a way that doesn’t require much there. I’m sure the combination of these ideas with a more complete understanding of economics would be more powerful.

I haven’t yet tried to take their theories and apply them to something on my own, and I don’t necessarily feel like that’s going to be easy without their extensive experience and/or the benefit of hindsight. And of course, a theory isn’t much of a theory if it can’t work beyond those boundaries. But it’s far too early to tell whether there’s a lack in the book or in me that’s at the heart of my uncertainty there.

In any case, I think this is a great read in that I gained a bit of a foothold in understanding some of the most important and complex economic events out there, not to mention a couple concrete ideas about where to place some of my intellectual effort in the near future.

General

Liquid lens

This kind of stuff is really cool. Not only is it a potential revolution for camera optics, and especially for cell phone camera optics, but it’s also got a bit of biomimicry, and it’s clearly ‘out of the box’ thinking relative to standard mechanical optics: Smile, You’re on Liquid Camera

General

Forests Forever

It may be an ad for Fujifilm, it may easily exceed the RDA for Flash, but it is pretty neat: Forests Forever.

General

Solar Electric Light Fund

The Solar Electric Light Fund sounds like a great thing. The combination of green technology and the strategy of working at a small scale to get into places where large scale operations wouldn’t make economic sense has a lot of power.

It’s really fascinating, this world…

General

New rechargable battery

Rock on, Toshiba.

General

Wireless network ‘conduit’

Since I’m too lazy to try to find such a product, and not motivated enough to create and market it if it doesn’t already exist, I’ll just describe this thing, float the description gently on the ether, and maybe by the time I need one, it will materialize for me. By the way, if you find yourself motivated enough to market it, you could give me the motivation to create it by consulting with me to do so. You take the risk, I provide the skills :-).

I am in the early stages of getting ready to buy a house. I will need a whole-house network. I will not want to make this network wireless because I don’t feel confident in the security, I’d like to reduce spurious radiation if possible, and I want the speed and reliability of wired LAN that wireless just doesn’t seem to match.

On the other hand, I may not want to bore holes in ceilings and floors to run conduit, should it not be in place already. But, it seems to me that a purpose-tuned application of wirless network technology could be used to patch across the gap, while simultaneously avoiding the (perceived) shortcomings of wirless. Given that the stations are fixed and close to one another, highly directional antennas with just-enough power could be used to increase security and reduce radiation. That the stations don’t have to talk to anyone but their single partner gives some potential advantages in security, speed and ease of installation.

General

Slots vs. Members

(OK, now, this is an article about data structure design, not some euphemistic battle of some genders.)

(Are open-Internet confessions of ignorance really a good idea? I only post such a thing in the hopes that someone may find it useful as a bridge to some subject they hadn’t though about before. In this case, if you’re a ‘programmer’, maybe you haven’t though much about ‘knowledge bases’ before.)

In messing around with Protégé, I’m learning about the knowledge-base concept of slots versus the programming concept of members. Please keep in mind in that I still haven’t bothered to even read the Protégé project’s no-doubt-excellent tutorial on ontology design, nor any books on knowledge-bases, -capture, -management, etc., though I really will some day. Anyway, for the purposes of this article I’m just a software developer who happens to have stumbled upon an interesting tool.

Many popular programming languages (C, Java, Python, etc.) have a simple mechanism by which you can create your own application-specific types. You create classes/structs that have members, like so*:

struct HairInfo
{
float Length;
float CurlFactor;
...
}

If you had another struct

struct String
{
float Length;
char *Str;
...
}

the two ‘Length’ members would not conflict with one another because they’re in different namespaces. One would tend not to think of them as being related in any very deep manner. In fact, if you wanted to represent the fact that the members _were_ deeply related, you’d probably create a new type to use instead of ‘float’, and use that type for both members.

In the Protégé world, trying to create two ‘members’ with the same name _will_ lead to a conflict. Cuz you’re not creating members, you’re creating slots, and those all live in the same namespace. Which seems weird, coming from classes’n’members background. Members are pieces of an object; slots are descriptions attached to an object.

Protégé does it this way, I’m guessing (because I haven’t actually read), to add an additional dimension of semantic richness to knowledge structures. This concept is also found in another topic I don’t know enough about, RDF/Semantic Web, where there’s a (universal) namespace of predicates. The point is that, for example, you may be able to apply the predicate ‘creator’ to a book, a web page, a magazine, a tree, etc., and that in a connected world, you can search the world for, say, “creator=’Steven Ourada'” and find all the things someone claims I created, without having to know beforehand to what sorts of things that predicate might be attached.

So a system like Protégé shares predicates, or descriptors, or slots, or whatever, rather than types. That’s interesting. That’s my only point.

* A long time ago, I shared space (in a rented GE trailer. Did you know GE rents trailers for temporary office space? I did not know that before I worked in one.) at Engineering Animation Inc. (EAI) (I wish the Wayback Machine kept images. How useful is this?) with the Barbie Magic Hairstyler team. One of the things I remember hearing people talk about was the HairInfo struct. This is by far not the oddest thing I ever heard in that trailer, but it still sticks out.

In case you want to know more about the making of Barbie Magic Hairstyler, contact Adrian Sannier. Yeah, I didn’t think so.

General

Biodiversity

I’m thankful for… biodiversity, the vast web of intricate interrelated behaviors in the world. Like octopuses who walk on two arms, for one of the bizillion exizamples.