Archive for Jul 2010


Remembering in KRL: Using Entity Variables with Forms

Dan asked a question in the Kynetx Developer Exchange about remembering user entered data in KRL. I gave him a brief outline of the solution but thought an example would be nice. This blog post is the detailed answer to how to gather, remember, and use user-supplied data. The basic idea is to store the data in an entity variable. Trails (a type of persistent variable) are the most appropriate type of entity variable to use. The ruleset pattern has four rules: initialize, send the form, process the form, use the data. The actual ruleset has five because I
Continue reading...


Changing the News with Kynetx: Utah Company WILL Revolutionize Internet Use

Yesterday Tom Harvey of the Salt Lake Tribune had a great article on Kynetx in the Money section (see Utah company looks to revolutionize Internet use). I loved the article, but what I loved even more was what Casey Holgado (@caseyholgado), one of our summer interns, did with it. Here's the headline for the online article as it appeared: Casey wrote a quick Kynetx app that changed the headline to read like this: This to me embodies the spirit of Kynetx: "the Web, your way." We didn't change the text on the server, of course, only the headline for
Continue reading...


Using ANTLR and PerlXS to Generate a Parser

As I mentioned earlier, we're anticipating changing out the current Parse::RecDescent based parser in the Kynetx platform with one that will perform better. We've been going down the path of using ANTLR, a modern parser generator that supports multiple target languages. That flexibility was one of the key thing that got us interested in ANTLR. We might want to generate Ruby or Javascript KRL generators at some point. But of course right now we want to generate a Perl parser since that's what the underlying Kynetx Event Service (KES) is written in (it's an Apache module). ANTLR doesn't support
Continue reading...


Parsing for a Cloud-Based Programming Language

If you follow my blog, you're probably all too aware that Kynetx provides a cloud-based execution engine for a programming language called the Kynetx Rule Language, or KRL. The execution engine is a big, programmable event-loop in the cloud and KRL is the language that is used to program it. As with any language, the first step in executing it is to parse it into an abstract syntax tree. The KRL parser has had it's ups and downs. A while ago, I reported on changing out the HOP parser for Damian Conway's RecDescent (note that the system is written
Continue reading...


iPhone 4 Underwhelmed Me

I know, they may take away my Apple Fanboy membership card. But the iPhone 4 that came yesterday hasn't blown me away. Here's my initial thoughts: The camera is better and the flash is nice. But it's still a phone camera, not a real camera. The screen is much clearer than my iPhone 3Gs, but not so much that it enables cool new things. . The glass back looks like one more thing to break. Facetime was fun the one time I did it. I'd probably do it a lot with my kids if they were little. Now, not
Continue reading...


Scaling the Cloud

This week's Technometria podcast is with Sebastian Stadil of Scalr. We talked about how to scale cloud computing. That may seem like a boring topic--after all, isn't the cloud supposed to be scalable? That's one of it's basic qualities, right? True, but it turns out that while scaling services via the cloud is relatively easy--if they've been architected right, managing that scale can produce some real problems. Scalr is both a company and an open source project. We not only talk about the problems and solution of scaling cloud computing, but also how this hybrid business model works for
Continue reading...