Archive for the ‘Projects’ Category

OpenID and Other Musings

Saturday, May 10th, 2008

So I’ve returned after some time at MIT where I was getting a bearing on where I’m going next with my part in the TAMI project, and I’ve come out with a few goals:

  • Finish tinkering and profiling the current TAAC setup.  This has already resulted in some interesting results, namely, that the planned OpenID setup is really slow.  To be fair, I’ve also only tested it with one physical setup, so I need to test a couple other servers, and so on. Unfortunately, it seems that the number of round-trips needed to get the FOAF file, get the OpenID identifier, and then establish a shared secret with the OpenID provider takes way too long. We can cache some of this (especially the former two), and can even avoid it all with a cookie established at the end of the first authentication, but the first sign-on takes entirely too long to process on this VPS.
  • Examine other authentication methods.  Since the key right now is shortening the time needed to authenticate against one’s FOAF URI, there are several other methods out there that may cut out the authentication issues, including RDFAuth and Toby Inkster’s FOAF+SSL.  The former has less round-trips (as there isn’t the cost of setting up the SSL connection), but the latter doesn’t require the maintenance of a PKI, and can be done with self-signed certs.  I hope to be talking with Toby and Henry Story, among others, to see what’s been done with FOAF+SSL, and to see how we can work that authentication method in.
  • Get a better idea how the reasoner engines work for the AIR reasoner. Seeing as my understanding is not terribly good at their reasoning methods, I’m going to be trying my hand at reimplementing a Rete system, a TREAT system, and a backwards chainer…  In Erlang (or at least do such for a Rete).  Why Erlang?  I think it will give me a good idea about not only how the system’s productions are called (as a network of alpha and beta nodes is rather nicely done in a functional framework), but it will give me a better understanding of the problems with trying to make a Rete concurrent (and why TREAT is ostensibly better at concurrency).  With Erlang’s BUILT-IN concurrency and light-weight threads, rather than a lock-based concurrent framework like in the Python we’re currently using, there’s no additional cost to making the functions concurrent if I take the time to do it in Erlang.  Luckily for me, I’ve worked with the Mozart Programming System in my programming languages class, and Erlang isn’t too different from that…  Plus, it’s another programming paradigm/language under my belt.
  • Implement cwm built-ins into the AIR reasoner.  Yosi and I have already discussed some of the issues with doing so, so it’s just a matter of my understanding the code that’s standing in the way of my adding such.  Thus the reason for the above, and studying the existing code.

What’s Up…

Tuesday, April 15th, 2008

I suppose it’s about time for me to announce a status report of what I’m up to lately…

First: I’ve picked up my Pixonomy project again, and while I’ve JUST put it on hold again, I’ve progressed the library with a refactoring and I just need to do some cross-platform hacking (to get it to compile nicely on OS X as a universal binary), and implement a couple of search functions to actually get it to a state where I can actually start programming client software in GTK+ or wxWidgets (I haven’t decided which) to demo the library.

Second: I’m currently taking a break from Pixonomy to work on a nifty font for OpenTTD.  Since I noted that they finally implemented TrueType support and Unicode support in 0.5.0 (which I’d tried to implement before, but never really got around to), I figured I’d try my hand at something fun.  After I get all the lower case characters done preliminarily, I’ll start adjusting the bounds and kerning by testing in game…

Third: Been watching some of the subs for this season, and I think Allison & Lillia does seem to have some promise, but we’ll see where it goes.  Zettai Karen Children, though, is not so much up my alley.  We’ll see where the other series I want to check out go (namely, Library War)…  There’s a few others that might be good, too.

Big Project 1 Continues…

Sunday, September 9th, 2007

I call it Big Project 1 because it was the first big project idea I had. For those of you in the know, Big Project 1 is the weather program (Big Project 2 is something entirely different, but still a program).

In any case, Big Project 1 has finally restarted after about 6 months of downtime. I finally perfected searching, so it actually only takes about 3-5 seconds to search for a city online, and set it as your default city. It now also has a Find City feature that automatically recenters on another city and updates the location data.

There are still a number of concerns however:

1. Searches are still not text-friendly. i.e. “Albuquerque” will return useful results. “Albuquerque, NM” not only will not, but will not even filter the “Albuquerque” results for New Mexico. This, thankfully, can be tweaked outside of the source code for the program.
2. More than two searches and certain weather data won’t be loaded. This may be a side-effect of the fact that I’m not yet using my cached weather data. Next step is to tune the format of the weather data I’m currently caching, so that I can not only send and receive more useful data besides current conditions, but also so that I can carry the burden and not have issues with FTP timeouts/numbers of sessions (which could be causing the current problem)
3. I’ve got to find sources of information for most of the useful bits (e.g. forecasts and history), especially for non-American sources, and then feed it into my custom format.
4. Some of my graphics are a bit concerning. I’ve got to not only design them, but… Well, if I detail THOSE OTHER issues here, it might be giving too much away… Suffice to say though, good 3D and imaging algorithms would be a big boon… *stares at Sarah*

But at least some distinct positive progress is being made on Big Project 1. Big Project 2 (started last month) is on hold while I refocus on Big Project 1, but rest assured that it’s standing pretty well as well. It’s already got most, if not all, of the kinks in the tagging done, but now it needs a bit of database work with SQLite, and then, lastly, the GUI design… But it’ll probably be done quicker than Big Project 1, were I focused on it.

Meanwhile, smaller projects like Ierukana’s redux are also on hold, but will likely be so for a lengthier period of time. (Nevermind that it’s serving as a test ground to learn Rails anyway).

That’s all for what I’m doing computer-wise for now… Other projects might come along that are more work-related and school-related, but we’ll just have to wait and see.

An Idea…

Saturday, May 12th, 2007

Is it possible to mass-produce a low-spec computer with wifi and a 3×4″ color touchscreen to retail for $50?

All Good Plans…

Thursday, March 1st, 2007

Unfortunately, as I was thinking about possibly turning my idea into a website, I decided to look online for similar ideas, and I found a similar website that does 80% of what I wanted to do with my program. Unfortunately, I can’t think of anything significant to differentiate my program/website from others so I may have to scuttle it, despite the time I’ve put into it.

It did come up with several useful services in the end though, but I can’t really make money off them. I’ll have more info on them as they firm up though.

So What Exactly Is Up?

Wednesday, February 7th, 2007

The more observant of you may have noticed some signifier of the FOAF linkage on my front page (returned after a hiatus). That’s right, you know who I am now!

That being said, everything up to now (and my quietness) has a fairly long backstory.

It started back in November of last year, when an attempt to renew pipian.com went horribly wrong (Thanks RegisterFly!) $130 and nearly two months later, I finally got it back and, by that time, had started on a new project.

This project is still somewhat secret as it’s incomplete at this time, but it’s progressing well (and some of you already know of it) and will hopefully will be marketable by the summer (crossing my fingers of course).

In the process of working on this and getting back into the groove at school (and in all the hecticness of setting up and being Chief of Operations at Genericon XX) I managed to finally (and briefly) meet Jim Hendler, who is currently in the process of moving to take a constellation chair at RPI this semester. This got me thinking.

One of the items that my ’secret’ project needs is something of a stable geospatial framework of coordinates, cities, and hierarchies, to enable intuitive and ’smart’ discovery of as many cities as possible, and as needed. Thus, I came up with the concept of the Semantic Web Locationary, utilizing several well-known semantic ontologies and several free/libre data sources to accurately describe many geopolitical constructs (mainly hierarchies of city->province->country->continent->Earth styles).

I figured this would both help to get my feet wet in a seriously usable semantic web context (The Geonames.org ontology is not terribly human-friendly, even if machine-friendly and more detailed than the Locationary) as well as offering a framework for my program to rest on as well as offer a static reference for other semantic applications (foaf:basedNear anyone?).

At any rate, it’s somewhat stable now, in so far as all the MAIN parts are implemented (if a bit in semantic flux at the moment), so I can move closer back to the project by overlaying one more data store over the existing Locationary (Arash Partow’s Global Airport Database, given the fact that DAML no longer has their airport script online, DAFIF is no longer available, and my project needs airport locations) and probably making that publically available as well…

More information about what I’m REALLY planning with this semantic data when the project gets closer to completion. :)

Current Project…

Friday, September 22nd, 2006

Seeing how the Gamecube-Linux kernel patches now include a gcdvdfs driver, I’ve tried examining files on Gamecube discs, particularly Pokemon Colosseum for the purposes of model rips. Sadly, however, this seems to not be so great, as even though the FSYS files have been described (Search for gcfsysd on Google), the enclosed compression ‘files’ marked with a LZSS header are unknown.  Oh well…

It’s fairly obvious that they have the format:

struct lzss_file {
char magic[4]; // "LZSS"
int decompressedSize;
int compressedSize;
int empty;
unsigned char data[compressedSize - 16]; // Data...  I think.
};

While it’s definately compressed, and the header suggests LZSS, the actual implementation of LZSS is unknown. Even if the size gets within 16 bytes by using it with some fiddling with constants, it keeps filling with pre-initialized data, and as such, isn’t properly working (as LZSS should rely only on the bytes given than bytes filled in by the decompression algorithm before hand).

Thoughts on Dvorak…

Saturday, August 19th, 2006

I’m only a day and some in, and I’ll try to stick with it for two weeks, but here are my thoughts (after perusing other alternate keyboard layouts…):

  • I like the period on the left ring finger. It’s much more comfortable.
  • I’m not sure I agree with the hand-alternation principle… It seems more staccatto while learning at least.
  • ‘L’ really stresses the right pinky. Same as ‘;’ (for programing)
  • ‘I’ and ‘U’ should switch if hand-alternation does work.
  • I do miss the ‘Z’, ‘X’, ‘C’, ‘V’ combination (to a lesser extent ‘Q’ and ‘W’
  • ‘F’ is a bit inconvenient…

If Dvorak doesn’t satisfy me in two weeks, i’m going to try Colemak

P.S. Soon I should have some keyboard layouts prepared for Mac users…

Typing Test…

Friday, August 18th, 2006

I’ve been touch-typing QWERTY for some time, ever since I started at age 13 or so.

Thus far, here’s my stats on an Apple Pro Keyboard:

(Accuracy in keys hit/total keys for each finger, from left pinky to right pinky, and then the thumb.)

89/89, 77/80, 27/28, 26/26, 74/75, 22/23, 50/51, 04/04, 92/93
Keystrokes Per Hour: 20277
Words Per Minute: 67
Adjusted Words Per Minute: 66

The reason I’m focusing on this is a curious one. I’ve been casually interested in Dvorak for a while now, and recently, my brother came into the possession of some 15-20 Apple keyboards of various design (Yeah, I know… That’s a lot!), of which at least 5 are Apple Pro Keyboards. I figured that now was as good enough a time to start learning Dvorak, which I plan on starting after this post (to finish preparing and such), so if you see me responding slowly for the next few days, you know why.