geansai gorm

Archive for the 'jareth' Category

It was my daughter Boann’s second birthday yesterday. We had a lot of friends and family visit. Thanks especially to my sister Tarynn and brother Michael and their families for making it all the way up from Dublin!

Boann and Jareth both had a great day, which is a big change from Jareth’s other birthday experiences! Jareth’s own second birthday was spent hiding from everyone. Boann is the exact opposite - loves to be the centre of attention.

The rain fell sporadically throughout the day, but that didn’t stop the kids from running around like mad things. After everything was done, Bronwyn spent a while sweeping grass trimmings out of the house.

That night was the first that Boann was to spend in her own room. Up until now, she slept in a bed in our room, and sometimes in our own bed.

We moved that bed into a new room and decided to try put her into the same routine that Jareth is in - every day, we put Jareth up to his room at 8pm. It doesn’t matter to us whether he goes to sleep or potters around in his bedroom for hours, as long as he stays up there!

Anyway, last night at eight, I brought them both up. I spent a few minutes with Jareth getting him ready for bed. When I went into Boann’s room, I found her on her bed already half-asleep!

It didn’t last, though. Throughout the night, Bronwyn and myself spent hours reminding her that she now sleeps in her own room. Between us, we got 6 hours sleep (11-5), with us taking turns to stay in there with her.

Hopefully things will turn out better today!

Overview: Learning PHP Data Objects, by Dennis Popel, is an introduction to PDO, which walks through the building of a believable test example - a library manager for your home library. Each chapter introduces a new facet of PDO and shows how to rewrite the appropriate parts of the application to slot the new ideas in. Very clear and easy to read. Non-PDO subjects are appropriately kept to the appendices.

I really couldn’t find very much about this book that I didn’t like. Ignoring the appendices, the book is 154 pages purely devoted to teaching PDO through examples, including error handling, working with BLOBs, even the creation of the M in MVC (Models).

I mentioned MVC there. One of my gripes with most tutorials of MVC is that they introduce the concept simply, then provide pages and pages of code with the end product which is “hello world”. Why I should go to all that trouble instead of simply writing <php echo 'hello world'; ?> to the screen usually escapes me. Dennis, however, concentrates solely on the Model and shows exactly why it’s a great idea. I think some more separation of concerns would have been better (don’t mix Author and Book SQL in the same object, for example), but the ideas were all good.

I think that if Dennis was going to show how the Model works, he should also have gone a little further and showed an example of an Active Record pattern as well. But I guess the point of showing MVC was more to show /an/ example of abstraction of the DB code, and that was sufficient.

The book covers a Library manager application all the way through from conception to implementation, demonstrating at all points that the code works with SQLite and MySQL (and by implication, all other DBMS’s) with a change of only the connection string.

Possible problems are explained clearly and solutions are provided. For example, Dennis explains why, after you compile the query select * from books, PDO (and indeed the database itself) does not know how many rows it will return. A solution, in the form of a very smart getRowCount() function shows a query-agnostic method for counting results of an arbitrary line of SQL.

Other areas that are covered in the book include error-handling, prepared statements and transaction-handling.

PDO can handle Prepared Statements even if the underlying DBMS cannot handle it, so it is possible to write your code in a cross-platform way. Examples of why you should use this are provided. One of the examples shows an efficient way to handle insertion or updating of a table using the same parameters for both cases, with the row-handling function deciding whether to use update or insert based on whether an ID was provided.

I feel the Transactions section could have been expanded a bit further. It is not explained how PDO handles this for DBMS’s that don’t internally support transactions, and I wouldn’t like to assume that they work all the time, only to find after deleting critical data that it’s not supported.

Overall, I enjoyed reading this book. Dennis is a good writer and I think he explained his thoughts very clearly.

On an aside, my four-year-old son Jareth loves Packt Publishing’s books. Sometimes when I go to read another chapter, I need to covertly steal the book I’m reading back from him. For a while, he made it a bed-time ritual to grab all the Packt books he could find around and bring them up with him to read in bed. I think he loved the screen-shots and the frequent code samples. He’s high-functioning autistic and likes literary constructs, and programming books are perfect for him in that regard. Thanks Packt, you’ve made my son (and therefore me) happy.

Today, I add a new tag to my wordpress collection.

Yesterday, Jareth’s psychiatrist, the jazz-playing Michael McDonough, verified that Jareth is autistic.

This was not a snap decision. Jareth has been in observation for over a year now. Almost every week, I’ve taken half a day off work to bring him to sessions at Enable Ireland. the Monaghan branch is very very friendly.

Some of the signs of his autism:

  • He will be four next month. He has not spoken a single sentence yet.
  • He expresses excitement by jumping up and down and flapping his hands
  • He has extraordinary sequencing ability - can write numbers from 0 to whatever, and letters from a to z. Also the reverse - z to a, whatever to 0.
  • His drawing ability is more complex than one would expect of a three year old.

There are more symptoms (see here for the more common characteristics), but they are not as visually obvious.

So why am I putting this in my blog? Surely one non-technical post this month is more than enough?

Well, if you are reading this blog, you are probably a technical person. And you probably exhibit those same characteristics. Are you very good in some areas (programming, for example) and other people think you are anti-social (even if you don’t think so yourself)? Do you fidget?

The reason I say all this is that I see myself in Jareth. As a child, I was always alone, I was nicknamed “Einstein II” because I had a great ability in maths and general knowledge (the maths ability stagnated as I got bored with school), I still fidget (rocking, finger tapping), people say I am antisocial and arrogant and even sometimes obnoxious although I really don’t see it at the time and am always surprised when someone says it.

Autism is about 80% genetic, and there is a 4.3:1 ratio of male to female incidence. this means that if Jareth’s autism is hereditary, then he most likely got it from me than from Bronwyn.

There is a plus side, though - I grew out of most of the symptoms, and I think he will as well.

Also, his abilities are perfect for the 21st century - his interests lie in areas that are perfect for engineering, programming, or other technical careers. I think he’ll go far.

Autism is not a bad thing. It is just another way of approaching life. There is no cure, but autistics say that they don’t want to be “cured” anyway.

My son enjoys his life, even if communication is frustrating, and I would not have him any other way.

I don't have a geansai gorm, but if I did, I might sometimes wear it.