Category Archives: Programming

Update for 3/13/2016, part 2

This is part 2 of a three-part initial weekly update on my site, my projects, and my life. Part 1 is here. Future updates will probably only take up one post. Project updates In progress Cognitive science field research – … Continue reading

Posted in Board games, Career, Cognitive science, Doctor Who, Drawing, Math relearning, Nutrition, Programming, Project updates, Videos, Writing | 2 Comments

Wha? What’s this blog doing here?

It’s time for my semiannual post. I have many things swimming through my head these days. I mean I always do, but the conceptual fish seem to congregate and multiply when their river is dammed, and right now the blockage is the need to get my finances up to date and to clear out some of the junk in my little apartment and get it organized so I have space to live. I’m procrastinating on these but also not working on anything else really, so my brain is getting a little antsy (fishy?) to get back to the fun stuff—all my many personal projects. Since this site is mostly about my projects, let me tell you about the ones that have been on my mind.

First, a side note. As an experiment, I am embedding the song from IMEEM that I am listening to while writing this so you can experience the same musical environment, if you wish. Just scroll to the bottom of the entry and click the start button. You might also want to click the loop icon in the upper right corner of the player. Isn’t it nice of me not to have it play automatically?

Second, a housekeeping note. I am planning to switch my site back to WordPress. Drupal is flexible, but WordPress seems better coordinated, and I don’t need all that flexibility for this site at the moment. Plus WordPress now does the things I switched to Drupal for (versioning, autosave, tags). Also we use WordPress for our website at work, and I suspect I’ll build other sites in the future, and I’d rather spend my time getting to know one tool well than to try to learn WordPress plus Drupal plus whatever else.

With that out of the way, my main project at the moment is giving myself a fake computer science degree. This project started about a year ago when I got frustrated with my inadequate and disorganized coding practices and set out to improve them. I began by learning about software development techniques and methodologies, and that, as usual, has expanded into something much more comprehensive.

The problem with programming is that everything you learn about has prerequisites you have to know about to really understand what you’re doing. My programming knowledge is pretty much all self-taught, and I’ve acquired it in a random fashion, so I often feel like I’m missing a lot. It’s certainly humbling to read programming blogs and realize how much I don’t know, but it also gives me something to reach for.

So to help myself feel like more of a real programmer, I’m collecting introductory books on the major topics I would study if I were getting an undergrad computer science degree, plus any other programming topics that are relevant to my areas of interest, and reading them. I’ll post a list of them soon.

I need to go to bed, so I will leave you with a list of some other things that have been pooling in my mind: graphic design, algorithmic music composition, The Shack, Theophostic prayer. I will try to go into more depth in the next few days.

I see right through you – Angelina
Continue reading

Posted in Drupal, IMEEM, Programming, WordPress | Leave a comment

A thought on leaky abstractions and theology

I wonder if the “simple” truths of Scripture are really just abstractions and they sometimes leak (see this), which is why we need people who study and sometimes explain the complexities of theology, for the times when people’s lives don’t fit neatly into the abstractions. Continue reading

Posted in Programming, Theology, Thought, Transferrable concepts | 1 Comment

Akelos and OpenLaszlo–a first attempt

Along with my updated site I am updating my self-limiting policies on what I post. In the past I have refrained from posting on things like programming that would bore most of my audience (of 5 people), but no longer! I am going to post about whatever I feel like. My readers will just have to suffer.

This job I’m in is the most educational I’ve ever had. I never thought I would learn about networking or do any web programming, but now both are in my job description. When I decided my employer needed a web application, I didn’t know a thing about writing one, so I decided to use the web application framework Ruby on Rails because it allegedly made web development easy, or at least easier than it had been.

Well, once I got into it, it did seem like a pretty easy way to develop, but there was one problem. It’s hard to deploy, at least if you’re using a Windows server. So I looked for a PHP alternative, because I knew I could deploy that with virtually no effort. And I found CakePHP, CodeIgniter, and Akelos. I’m trying out Akelos because it’s pretty much a straight port of Rails to PHP (so all that Rails learning won’t be wasted), and even though it’s very new, people are already impressed with it.

But then there’s the problem of the user interface. It’s very easy to create boring and cumbersome UIs in regular HTML. It’s hard to create nice-looking and easy-to-use ones that work right in every browser. Hence there are rich Internet application platforms like Adobe Flex. I somewhat randomly settled on OpenLaszlo for this.

Laszlo interacts with the server by passing XML back and forth within a single application, I presume using a single URL. Akelos executes actions based on the URL the browser requests and then generates a view, usually in HTML, that gets sent to the browser as the content for that URL. Invoking a different action means pointing to a different URL. How can I get the two to work together?

The answers are probably obvious to anyone who’s familiar with the tools or with web programming in general, but I am just learning this stuff, so I was pleasantly surprised when I made fairly easy progress tonight with only a couple of general hints I picked up online. I’m used to guessing wrong about how things work and spending hours slogging through documentation and experimentation.

Tonight I successfully embedded a Laszlo Flash application in an Akelos view and had the application grab some XML data from a static view in Akelos. The next step is to get Akelos to generate the XML dynamically from the database, and after that I’ll have the Laszlo application give Akelos data to put into the database. Then I’ll have to learn more about OpenLaszlo to define the next tasks.

I think the basic idea behind getting the two to interact is to treat the Laszlo application as a web browser so that it is the one making the requests for the various Akelos URLs, while the browser simply points to the Laszlo application. So to deliver the data to the application, I created a view that contained the data (and a corresponding action in the controller), and then in the application I used the relevant URL in the src attribute of the dataset tag.

I would post the code for all this, but this entry is already long enough. When I get far enough along, I’ll post a demo or tutorial or something, either here or on the Akelos wiki.

Continue reading

Posted in Akelos, OpenLaszlo, Programming | 3 Comments