I just wrote up a call-for-people post about the DC-Baltimore Perl Workshop over at blogs.perl.org. I say it all there -- but in a nutshell, come and join us! :)
For Labor Day weekend (last week), Beth and I took off from work on Friday, rented a car, and headed out to Berkeley Springs, WV - aka "Bath". Nice drive up there, only a few hours away from DC. We've been around there before, and this time we decided to stay in-town so we could park our car and walk around more than we have in the past. We stayed on the top floor of a Bed & Breakfast downtown.
Saturday was a rainy day. We wandered about, looked at some junk shops, had lunch, took a long nap. I kept waking up to booming rolling thunder, but felt safe and cozy. Once we were up and about there was this weird siren that kept going off (sounded like an air raid) -- the inn keeper told me that it was their fire department and all-purpose alarm, and that it's not a big deal.
We headed to dinner and there was some noticeable water in gutters. But we only were walking a block down the road, so no real worries. The wait staff seemed a bit... off. Nervous and stressed, I'd say. We heard them start telling people who came in after us that they needed to order quickly because they were shutting down the kitchen. Specifically because of water building up behind their building and starting to come into the kitchen! No fun. So we finished quickly and boogied out of there.
Water had gotten quite a bit deeper in the street... and as we were walking back to the B&B fire trucks started to park diagonally across the road, and firemen jumped out and started directing traffic away. They were shutting down the whole road! And no wonder... the water kept rising.
Walking in, the innkeeper told us that we should go out back and consider moving our car. And... that was an understatement. I should have taken photos, but I was too busy deciding what to do. Water was up to the baseboards. I waded out -- water up to my knees! -- and moved the car. Water sloshed into the floorboards, and even though I moved the car to higher ground, I still had to go back and scoop water out. Ick!
Well, water was quickly rising and was even threatening to broach the B&B porch itself, which holds their outdoor restaurant and wine bar. After hanging out a bit longer we decided it was best for us to just abandon this whole scene. We packed up and drove back to DC. As soon as we left the road cleared and the rain stopped. It was a nice drive back to DC, and we were back in our apartment by 10:00pm. Whew! Sunday was stressful returning of a water-damaged car... and we were very pleased to have Monday to just relax :)
Here is the high-water mark in the park. The water "only" went up to my knees out on the street, but in the park it was quite a bit deeper.
I unfortunately didn't get a before-photo of the pool... but it was a beautiful clean blue.
They say that this was a 100-Year Flood! So I guess we shouldn't worry about going back to try again :)
(Images courtesy of The Huffington Post, and herald-mail.com)
I've traditionally thought of code comments as having two audiences. One audience is me, or whomever will be taking over the code after me. This consists of notes or hints as to what I was thinking when I wrote something. Typically these are regular code comments, possibly right on the end of a line. The second audience is the users of my code. Usually this is other programmers, in the case of a library (as opposed to the consumer of a resulting UI, which I guess is a sort of third non-engineer audience who doesn't read _code_ comments). This second group is the one for which you typically use POD (or similar in other languages - javadoc).
Increasingly, however, I have decided to act as though there is only one audience. When you separate code out the way I describe above, you immediately run into a question -- what do you do for a private method? You don't expect the users of your library to call it, and yet you might have some high-level usage guide that goes beyond what you might put in an inline comment. Same thing for private instance variables, or other internal helper functions.
I've also noticed that I have two different sets of code that I write, and for each there is ultimately one audience. The first is at work. Here I am writing code that my peers will use. But my peers will also _maintain_ the code itself. Similarly, I also write code for open-source projects. For the most part my code here will be consumed - but if and when I do actually get contributions to the library, the contributors are the consumers first and contributors second. They are pretty much exactly like the people at my work.
So I've settled on physically organizing my code into two sections, but using POD (or similar) for all of the usage or explanation-centric comments, and I treat my reader as a single audience. I put the public API methods all together, and notate them as a single section in my code, perhaps with a preamble with an example usage. I then put all of the private methods together, with a header that marks them as private -- but then I document them as if they were public. Because no matter what, from the perspective of the code IN my library, they ARE public.
I'm watching the first video for the CSU CS440 Intro to AI class, taught by Chuck Anderson. Man... so far this looks great. In addition to delicious shout outs to Turing and Hume and so on, tossed out a reference to the XKCD take on some AI concepts. Did I mention that we are using a wiki rather than WebCT as our primary interaction point? hmm!
I haven't seen the video for the CSU CS414 Object-Oriented Programming course.
Eliza: I am the psychotherapist. Please, describe your problems. Each time
you are finished talking, type RET twice.
Me: My friend Mike doesn't know who you are.
Eliza: Why do you say that?
Me: Because I mentioned you and he said that he hasn't heard of you. Asked
me if you were some sort of reference.
Eliza: Is it because you mentioned me and he said that he has not heard of I
asked you if I was some sort of reference that you came to me?
Me: Yes, exactly!
Eliza: Earlier you said you mentioned me and he said that he has not heard of
I asked you if I was some sort of reference?
Me: Right. Because a lot of lore from the '80s came from you.
Eliza: Does it bother you that a lot of lore from the '80s came from me?
Me: No, I rather enjoy it.
Eliza: Maybe your plans have something to do with this.
META INFORMATION: This is the technical blog and wiki of Brock Wilcox (awwaiid). Entries focus on my current projects, interests, and sometimes life events. If you'd like you can check out the list of All Entries or the RSS Feed. I also have a LiveJournal syndication feed for LJ friends.
2 Comments.
Clearly Eliza knows about my secret timemachine experiment!
-- awwaiid 2012-07-11 11:33 UTC
Funny, I was just reading some stuff about Eliza (and Parry) in an ancient AI book that gave all its example codes in BASIC. Fantastic stuff.
-- BatmanAoD 2012-08-22 03:15 UTC
Add Comment