Category Archives: Uncategorized

CakePHP Application Development

CakePHP.jpg

As I’ve mentioned before, we’re using CakePHP for our development at work. Cake was the first formal MVC framework that I’d worked with, although at Asbury we had developed an MVC framework in house, almost unbeknownst to us. That is to say, we developed a sane web app framework, and weren’t aware that someone had already given a name to the pattern. Shame on us for not doing our research a little better.

Also, the other half of the web team had started working with RoR before I left, but I didn’t really look at it seriously.

CakePHP is one of many PHP MVC frameworks, and, naturally, there are a variety of opinions as to which one is the best. I can’t claim to have done a careful comparison. How did I choose Cake? I like to hire people smarter than myself, and trust their judgement. This was the recommendation that came up from that team of smarter people. And I certainly have to admit that Cake really works with the way I think, and is very much the effect that we were trying to achieve with our framework at Asbury. We didn’t quite get there, but we were headed very much in the right direction.

The CakePHP book from Packt Publishing was very helpful as an overview of what was possible. It has practical examples of what can be done, and has careful explanation of each step. In conjunction with the amazing online documentation, it provides a solid footing for jumping right in to writing Cake apps the first week.

One place the online docs are sorely lacking is the V part of MVC. The online docs are for programmers, not for designers – or perhaps “written by” is the better thing to say there. Either way, the section about views and layouts is still rather weak, although it’s being worked on. The Packt book is a good supplement to this, although it makes more sense on second reading, after a little hands-on experience with the Views stuff.

In short, recommended. 4-out-of-5-stars. Anupom and Ahsanul have done a good job of giving an introduction to Cake app dev in this book, and I’d recommend this as a desk-side reference as you start developing in Cake.

As to the other frameworks – yes, I’ve heard that there’s others that are better. One thing that is obvious, looking at the various frameworks, is that all of them are crazy active – they are all improving by leaps and bounds, and pretty much every feature comparison I’ve looked at is way out of date, and inundated by comments saying “yeah, that’s how it was 6 weeks ago, but you should take a look now!” So I’m pretty sure that the jury is still out on this, and that there will be still several years to watch these things before one emerges as a clear leader – if, indeed, that ever happens. It hasn’t in any other language (with the exception of Ruby) so I don’t know why we’d expect it with PHP.

iPhone ToDo Apps

My biggest disappointment with the iPod Touch has been the lack of a usable ToDo application. The main thing that I used my Palm for was always to keep track of tasks, as well as shopping lists, lists of books I wanted to read, and other things that fit the general category of ToDo lists.

It’s pretty simple to write a ToDo list application, and it seems very strange to me that Apple has never done a decent job of this. There’s a tasks thingy built into iCal, but it is almost worthless, and I’ve never been able to figure out how to use it as an actual task manager. And it doesn’t sync usefully with the iPhone/iPod software.

Over the last week I’ve been evaluating some of the available ToDo applications for the iPhone. My requirements are simple:

1) Synchronizes with the iPhone
2) Has a desktop component (web application is fine, too)
3) Allows me to share a list of tasks with someone else

#3 is less important – more of a nice-to-have than a requirement. The other two are essential.

Surprisingly, the pool is very shallow. I quickly narrowed it down to just two candidates – Remember The Milk and ReQall.

I tried RTM for about a half day, and found the process of marking a task completed was just too darned hard. It was 3 or 4 steps. I want to check a box. I had to select the item, click edit, scroll down, mark it completed, and save it. Way too much work if I’m just trying to mark off a shopping list while I push the cart.

ReQall looks like it might be the one I end up with, but rather than being hard to mark a task done, it make it hard to create the task in the first place. It’s got clever syntax interpretation, so that I can say “buy coke” and it knows from the word “buy” that it’s supposed to go on my shopping list. But that means that I have to type “buy” 48 times when I’m making the grocery list, rather than just selecting the grocery list and adding items.

I’m not sure why this has to be so difficult, when Palm did such a good job of this more than ten years ago.

Item 3 – the ability to share a list with someone else – I’ve had no luck with at all. I thought it would be a simple requirement, but apparently it’s hard. I just wanted a way for my wife and me to build a shopping list collaboratively, and then either one of us would have that list whenever we went to the store. Perhaps someone from one of those two companies can implement this before my 90 day trial runs out – or however long it is.

Anyways, for the moment, I’ll be sticking with ReQall, just because it’s so much easier to check off the shopping list. Marking something complete is the most satisfying part of having a list, and so that action needs to be simple. This is fundamental ToDo list UI dogma. If you don’t get that point, I’m not sure I want to use your application.

Hearing

Last night we went to a party. A friend of ours graduated from nursing school.

For the first time in more than 20 years, I felt completely comfortable at a party. I could hear conversations. I could choose what conversation to participate in based on the topic, rather than on what I could manage to strain and catch snippets of – or not, at the case often was. I could actually hear everything that was said, rather than trying to interpolate from context. It was a truly amazing experience.

I have a large number of learned behaviors stemming from being deaf on one side – everything from positioning myself so that my cone of hearing encompasses the conversation I want to hear, to fading into the background when it’s just too frustrating to try to pick out what’s being said.

For the last week, I have very intentionally sat in places where people are on my left. Turns out my cyborg ear is actually significantly better than my “good” ear, with this new device, and I have even had to turn it off in order to focus on what’s happening on my right side. Bizarre.

I keep wondering what this new hearing is going to do to my habits – how quickly I can overcome 25 years of conditioning, or if it can be overcome. I’ve hated social situations for years – not so much because I’m not a social creature, but because of how embarrassing it is to be unable to hear, to have to ask for things to be repeated again and again, to feel like I’m missing at least half of the conversation.

I wonder how much of it is habit now, and how much of it is just a reaction to the situation as it happens. Last night, I was able to carry on conversations, but I was acutely aware the whole time of how amazing it was to be able to hear. I wonder if when the novelty wears off, I’ll be able to just participate normally, and not revert to my habits.

Time will tell.

SEO, Astroturfing, and Paying my bills

I have several websites with very high Google Rank. I did this the old-fashioned way – I put content there that people cared about. It happened almost without my noticing, because it wasn’t intentional. I was producing content that people cared about, and the high rankings were an unintended side effect.

Now, there’s a new breed of people out there. Not so new, I suppose. They think that if they can find high-ranking sites, and put their links there, that they will magically have popular sites. Although they are wrong, they are right enough that they are willing to pay a lot of money for these links. I’ve written before about what I think of SEO, and some other folks have been even more forceful, or more brief. In short, I have nothing but contempt for artificial SEO.

Which leaves me in a curious position. One of these sites, rcbowen.com, I largely abandoned several years ago, because it was becoming too problematic to maintain multiple websites. But the Google rank remained, because apparently there’s still some content there that people care about. including a set of embarrassingly outdated howtos. on various topics that I largely no longer care about. I keep meaning to go update them, but it’s never important enough.

Meanwhile, just in the last month, no less than 6 organizations approached me and offered me absurd amounts of money to put their advertising links on these sites. Hmm. They’re going to pay me to put links on sites I don’t actually care about any more. What’s the downside?

Well, the downside is that I disapprove, philosophically, with what they’re doing. Astroturfing – the manufacturing of word-of-mouth – feels fraudulent to me. On the other hand, I am also philosophically opposed to unpaid bills. And is it *really* that much different from putting Google ads on this site? Well, except that it pays a LOT more.

I’m curious what you think. But probably not curious enough to change my mind if you think I sold out.

User interface fail

I can’t do anything about it. I don’t even really know what it means. It’s certainly not OK. Why do you force me to click this button?

I *HATE* user interface things like this, and I expect better from Apple.

Worse still, it’s happening every 2 or 3 minutes, for the last 3 hours. Getting mighty tired of this.

Un/Bar/Foo/Camp/Conferences

I commented extensively on Skippy’s post about ELTU – so extensively, in fact, that it seems worthwhile making it into its own posting. I hope it doesn’t come across as overly critical of the work that folks did on the FooCampApache, or whatever it was called, that was done at ApacheCon in Amsterdam earlier this year. I have to admit, I simply don’t get the concept, and didn’t get much out of it. But almost everybody else that I talked to about it said that they loved it, and that it was a raging success. Maybe I’ve just been attending traditional tech conferences for too long.

——

I’ve been fairly skeptical of the entire concept of unconferences, for a number of reasons.

The main one, of course, is that I’ve never seen it done in such a way that I personally found to be useful. It seemed like a lot of people waiting around for something to happen, and then saying how successful and energized it had been, when nothing happened. Seemed like a huge waste of time and floor space.

The other one is that I would personally be very reluctant to send an employee to a conference (whatever cool or hip meta-foo-bar-un label was put on it) when I couldn’t tell what, if anything, they might get out of it. Perhaps if they were closer to home, that would be less of an issue, but being so isolated from the tech centers of the country, these things are never here.

I’ve been involved in a number of local tech user groups, and several of them eventually devolved into a situation where a very small subset of the group had to come up with topics each week/month in order to keep the group functioning. It strikes me as highly improbable that a room full of random strangers will spontaneously organize itself into useful conversation – primarily because I’ve never seen it happen.

We did an unconference at ApacheCon this year, and other than a lengthy argument over whether it was a *camp or a foo-something or bar-something-else or unconference, I never saw much discussion about how to actually do it effectively. There seemed to be a perception that if you just have a room, Good Things Will Happen. This was not my experience. What I saw was people giving talks that were rather less well prepared than they would be at a “real” conference, because they somehow expected discussion to pick up … which it didn’t.

Turns out, however, that we did most of the things wrong that you (See Skippy’s post) point out. Closed doors. Separate small rooms. Designated speakers. Pre-determined schedule with not much flexibility for later change. Specific facilitators who seemed to feel the need to instruct us on How Things Should Be Done.

One of these days, I’d really like to attend an event like this that is well done, so that I can observe it being done, at a conference for which *I* am not responsible.

On the other hand, maybe it *was* well done, and I’m just so steeped in the formal conference mindset that I can’t see it.

Geek Arrogance and Chauvinism

I read with mounting horror Aaron’s post about the Ruby conference, and the various things that he linked to from it. Unfortunately, it’s an old and familiar story.

Unfortunately, it reminds me of attitudes in another community I used to be very involved in – Perl. Attitudes within Perl seem to have changed an awful lot in the last 10 years. I’m sure a lot of that had to do with the discovery that Allison Randall was smarter than any half-dozen of the rest of us put together. But, too, it had a lot to do with the examples of folks like Larry Wall and Casey West, who demonstrated by their actions that it was possible to be brilliant, but still be professional. This is a message that many boys (I hesitate to call them men) within the Ruby community haven’t grasped yet.

Having been involved in the planning of ApacheCon for the last seven years, I’m also horrified that the planning committee for a (seemingly) respectable conference would accept a talk that made no secret of the fact that it would use jokes about pornography to make its points.

I’ve written before about how pornography is treated as acceptable for public discourse. That was 6 years ago. At least in the technical circles *I* work in, this attitude has lessened, but not vanished, in that time. It is far less common for me to hear reference to porn in every day technical discussion than it was back then. I don’t assume that the people in question believe, as I do, that pornography itself is damaging. I think it has more to do with the realization that some discussions simply don’t belong in professional settings. When someone spends good money to travel and attend your conference, they deserve to be treated with professionalism and respect, not treated to a stream of pornographic images and sexual innuendoes.

And this isn’t just about alienating the women in your audience. Turns out that some heterosexual men actually believe that objectifying women isn’t a good thing. But even if you don’t accept that belief, you owe it to your audience to treat them with professional courtesy, and recognize that they are paying a LOT of money to attend a technical conference, not a peep show.

Shame on Matt for putting together this presentation. Double shame on GoGaRuCo for accepting this talk. Shame on the decent men in the audience (assuming there were any) who didn’t get up and walk out after the first slide. Shame on the chauvinistic boors who are defending Matt in the various forums where this is being discussed.

Turns out, in the real world, it actually matters if you’re a jerk. It’s time for the Ruby On Rails community to grow up and realize that being professional isn’t a weakness. But it would be grossly short-sighted to merely point the finger at them and not take a close look at the attitudes within our own communities – be they technical or otherwise – and seriously reconsider our common courtesy in the work place.

BAHA

I am now wearing my new BAHA Intenso ®, which I acquired about 2 hours ago at the UK Hearing Clinic.

As we walked out of the clinic, I heard a fire engine siren, and I knew which direction it was coming down the street before I saw it. This is a pretty big deal, since have lacked directional perception in my hearing for more than 20 years now, so I assumed this would be something I’d have to relearn. But I heard it, and immediately knew that it was to the left of me.

The device itself works amazingly well. In fact, when I first put it on, we thought that we’d have to send it back and exchange it for something less powerful, because even moderately loud noises were painful with the device set on a hair above zero. However, the audiologist adjusted it, since the gain and low-tone setting were both cranked all the way to max, and it was much better. Even now, I’ve got it set on 1, or somewhere between 1 and 2, and it is very loud.

I am sure that it will take a long time to get used to it, and that I will have headaches for the next few days. But, to be able to hear is pretty amazing.

On the way home, Maria drove, so was sitting on the left of me. Turns out that when she mumbles inaudibly to herself, she’s actually saying intelligible things. Who knew? 😉

About ten years ago, I went to an event where Dr. Vint Cerf was speaking. His wife was there with him, and she has a cochlear implant – not the same thing I have, but much more complicated and amazing. At question time, one of the suits asked the standard question that you ask technology wizards. What’s the most amazing advance in technology in the last 50 years? And, of course, being Vint Cerf, the expected response was some blather about how the Internet has changed everything. But, being Vint Cerf, he said instead, my wife’s cochlear implant.