Math
Feeding Fledgelings
Two of this year's chicks, who fledged four days ago, can fly pretty well now for short bursts, but they tire very quickly and can't stay up for a long flight.
Just now, at sunset, Oak (I'm naming them for to the trees they ended up in when they fledged) flew from the oak over to the back porch roof and spent ten or fifteen minutes begging from there, in nice view of my office window. He was EEPing louder than the other chicks, and both parents were feeding him as fast as they could find bugs. Oak is as big as a towhee, and fat and fluffy, with a spotted breast and a short stubby tail less than two inches long. He still has some of that scrowly wide yellow bill that says "Feed me, mama!"
At one point a parent showed up with a pyracantha berry, but Oak was already being fed. The parent tried a little squawk, maybe to see if Cedar wanted anything, but almost dropped the berry in the process. So with an air of "oh, what the heck!" it swallowed the berry.
Then Cedar started crying from the chinquapin (or whatever the weird tree in the backyard is) and drew the parents' attention away from Oak. After another few minutes of fruitless eeping Oak decided to get some of that action and joined Cedar. Then they both flew down to the lawn, where for the first time I could see both at the same time. Cedar is a lot slimmer than Oak, but with a longer tail, maybe half the length of an adult's.
Oak was in the wildflower bed, actively hunting for food and occasionally finding something to swallow, though I don't have a lot of confidence that they were insects rather than dirt clods. Cedar wasn't hunting for food very actively, but took a few desultory pecks at the pavement and once picked up and swallowed something (a piece of a leaf, I think). Every now and then one parent would glide in from the front yard, and whichever chick noticed it first and eeped would get fed.
I haven't seen Holly today. I thought I heard some eeping from the direction of the holly in the front yard, but never definitely located the third chick.
The evening wore on, though, and the chicks have found trees to roost in for the night and have finally stopped eeping. Mom is taking a well-deserved break while Dad sings the family a lullaby.
Why People Are Passionate About Perl
This is inspired by brian d foy's post asking why people are passionate about Perl. I can't speak for everyone, but I'll share some things I've picked up from others along the way.
Mainframe programmers. We were invited to present to the Capacity Management Group in Sydney, Australia a couple of years ago. Basically they wanted to know what Perl was, and whether it could be useful. They were completely blown away by the fact that it was free (in their world everything has to be paid for) and had filters for EBDIC systems automatically integrated! The idea that they could download thousands of libraries on demand also for free was an added bonus. With thanks to the passion of at least the organiser we've been given a few more speaking opportunities with them.
Shell programmers. We've had some die-hard shell programmers being sent to our courses, and some of them have fallen in love with Perl. They've been used to everything being much more verbose than shell and were delighted that you can get so much done in so little code in Perl.
I am passionate about Perl because it's an easy language to work with. I first learned it because I needed it for a job, and I was delighted at how powerful, simple and often intuitive it is. I like the english constructs: unless, and, not, or. I like the short-circuiting nature of the operators: my $foo = $a || $b || 0; - that saves me so many lines I always have to do in other languages. I appreciate its variable scoping and I like strict. I love the DBI, and even more so the abstraction classes (DBIx::Class, Class::DBI etc). How could I not mention the CPAN? Perhaps Perl's biggest answer.
I know, and program in, several other languages, but they don't compare well. I do a lot in PHP, but there are so many little things that get in my way and slow me down. I also keep littering my code with mys. I do a little in C, but I think most people would prefer Perl to C when speed wasn't an issue, so that's not saying much. I write bash occasionally, but past a few lines I can't stop myself returning to Perl for better error handling and real lists. I have never encountered anything that compares to Perl's testing frameworks.
We taught a friend of ours Perl, he is a very experienced Java programmer. He still writes a lot of Java but he uses Perl to script all the repetitive stuff. ;) I can still remember the expression on his face when we showed him "Hello world". Where was all the rest of the code? He's not passionate about Perl, but he's not passionate about Java either. Maybe programming doesn't inspire him with passion, but I always smile when I he asks me "so how would I do X in Perl?" and I show him a simple, elegant, and short way of doing it; followed with him showing me the awkward, cumbersome way he's been trying in order to get it to work in Java. Sometimes I'm able to offer better Java solutions, but not as often as he's able to improve my Java code.
Cool Karate Moment
My old sensei did and I still have a pretty good side kick. I have a lot more control with the final placement than I do with a roundhouse and I am a lot more consistent than with a front kick. (Other kicks are periodically practiced but not enough for me to even discuss here.)
Today, sparring, I set my side to my partner and threw a side kick. And realized that I might as well have just dropped an anvil on her head for all she knew how to deal with it.
This is strange, because it is to my mind just like a front kick, only from *my* side. As far as she's concerned, it's no different. But it came as a complete surprise, a thing she couldn't block or respond to.
While I know this wouldn't help me with a sparring partner from outside my dojo, it definitely left me with a feeling of accomplishment.
Grace Hopper Travel Scholarships for students, junior faculty and members of NGOs and non-profits
Applications for women students to attend the Grace Hopper Celebration of Women in Computing in Colorado in October are open.
See http://gracehopper.org/2008/participate/student-scholarships/
5 things I hate about Perl
This is inspired by brian d foy's post on "What do you hate most about your language?". Of course I love Perl. I program in it and teach it for a living. Still I hate....
- eval. Block eval should be spelled "try" and should have a "catch" instead of an ugly unreadable if statement following. Block eval should not be called the same thing as string eval - which is very, very different.
- symbolic references. You should have to *turn on* this functionality if you want it, rather than having it on by default. Trying to convince self-taught programmers who refuse to use strict because it breaks their code and don't want to know that hashes are a better solution, is a challenge in self-control every time. In fact, although I hardly ever use strict in my command-line one-liners or my temporary stuff; it shits me that strict isn't on by default.
- bad legacy stuff. In particular things like "reset", which makes some sense in the context of lazy programming, but which just screams out to be abused in "job secure" code.
-
inconsistent whitespace rules.
print $foo->{blah}; print $foo -> {blah}; print "$foo -> {blah}";
I get why the last one fails, but why allow the second one to succeed if you can't be consistent? - no way to take a slice through arrow-notation. If it wasn't for this, we could teach our students arrow notation exclusively and they'd never need to know about the uglier form of dereferencing.
Pantry Chili
Whipped this up in under an hour (mostly simmering time) using nothing but pantry items. Alternate name would be “Simple Weeknight Chili”.
Ingredients
- 1 lb ground beef
- 1 14oz can kidney beans
- 1 28oz can diced tomatoes
- 1 tbsp butter
- Medium white or yellow onion, diced
- 2 cloves garlic, minced
- 1 tbsp chili powder (the Penzeys stuff is really good)
- Pinch dried oregano
- Salt + pepper to taste
Method
- Brown ground beef over medium heat in a medium stockpot, drain and rinse. Drain and rinse beans. Put empty pot back on the heat, add butter, onions, and garlic. Saute for 5-6 mins. Toss in chili powder, oregano, salt + pepper and continue frying for a couple of minutes. Stuff will stick to the bottom a bit, but that’s ok — it will come off later.
- Add browned meat, beans, and tomatoes (including juices). Stir and heat until simmering. Turn down the heat to low and simmer for 25-35 minutes (or longer if you want — the longer you simmer, the more the tomatoes will break down). Done.
Serve with crusty bread and a beer.
Time flies
This week I had a hectic day at work on Monday, then spent Tuesday and Wednesday at a local security conference. It was ok, some lectures were pretty interesting, others were either plain out dull or just on the side of what I expected or was interested in hearing. Unfortunately some of the speakers only presented their own solutions - or worse, spoke about their own organization, but without being allowed to reveal any details from them.
Today I caught up on some projects, and tomorrow I plan to dedicate myself to only one project for a change. We'll see how it goes, though.
The house is still under work. It will probably take some time, but I am confident our builder knows what he is doing and will do it well. I just hope we're lucky with the weather for the next days, too, it's neither fun nor good for the house to work in heavy rain and wind, and this is on the most weather prone side of the house, too.
I need new glasses. If any locals would like to come with me to the optician, I'd be very grateful. I hate picking new frames on my own, and if the staff are busy it's not fun to ask them either, even if it's their job. My old frames are falling apart (I may get someone to sold them for me, but I still need some new ones), and I am not sure the lenses are right for me anymore either, so I'd like some new ones. Style yet unknown. I thought about going for a two-for-one offer at Specsavers, but I should have extra thin lenses, so it would be very expensive as I have to choose the same for both frames. And I didn't find any nice frames among the cheaper ones that could justify getting two pairs of heavy glasses and then get another light one later if I felt I needed it. Now I am using an old pair, and even though they are a lot better than my contact lenses (I can't work by the monitor with them) they are not perfect. At least they are very light with thin glasses....
Lots of new flowers are sprouting in the garden. Different daffodils are in full flower now, as are yellow and red tulips. The scillas are about to end the blooming now, but some perennials I bought last year are flowering or sprouting now. And we have LOTS of yellow and white primulas (two different kinds), as well as a few violet ones of a third kind. I'll try to take some pictures tomorrow when it's still light outside.
I hate Video
Not the Only DSL Company in Town...but AT&T Sure Acts Like It is
My AT&T DSL goes down. I call AT&T’s customer service number. After wading through a lengthy voice mail, I reach a recording telling me the Indianapolis area is experiencing an outage expected to last until 10:15 pm.
I hang up, and continue to try to connect around 10:15 pm and later. At midnight, I go to bed.
Awake again at 3:45 am. I have a final examination I’m supposed to take online on Tuesday. I reckon I’ll sleep better if I know the system’s back up, so I go poke at it. It’s not. I call AT&T again. I get someone named Jules in some customer service center overseas. Based on the accents of the various people I speak to there, I assume it’s India.
After a half hour of diagnostics with Jules, he decides it’s a modem fault, and tells me someone will call me in the morning to schedule a visit to see and probably replace the modem. He gives me a case number, which I record.
Tuesday, May 6th. 1:30 pm.
No telephone call. It is not morning anymore.
I call AT&T again, with the interminable menus and waits. I get a female person named Sam. She says nothing was ever done to ask anyone to come look at my modem, has no faith that the modem is the problem, insists on an hour of “try this, try that.” After an hour, she decides that maybe I need to talk to one of their Mac specialists. Didn’t get that name. Mac person wants to start over from scratch. No progress a half hour later. Mac person escalates me to Don, second tier. Second tier appears, by the sound of it, to actually be in the US.
Don tries another half-hour’s worth of stuff. At the end of all this, he comes to the same conclusion Jules did, actually: there’s something wrong with the modem. He creates a trouble ticket and promises someone will call me within four hours. He takes both my home number and my cell number to ensure I’m reachable. He gives me the direct connect number for the department that actually sends people out.
Wednesday, May 7th. 10:30 am.
No telephone call. It is not between two and six pm on Tuesday anymore, by quite a bit. I call the direct connect number. No voice menus, but still a lengthy wait. I get Sheila. No explanation of why I wasn’t called, but it doesn’t sound like she’s surprised. She tries poking at the modem again from her end, with no difference. She allows as how this is not the first case of this precise problem they’ve seen today. I begin to suspect it’s something that AT&T has broken in their outage/security upgrades to the Indianapolis area system.
Sheila tells me the earliest anyone can actually come out is Thursday. I tell her I have to work Thursday afternoon and need them to come in the morning. She calls Deb in scheduling to try to get that done.
After a full hour, including holds, I’m told that no, they cannot come out when I’m off work; they are only available when it means I have to take off work---and with my manager going off work for a medical procedure, this is not a time where I can take off to deal with this. Which, given the days I have to be there because he won’t be, and I’ll be needed, means “you’ll be offline over a week.”
I tell Sheila this is not acceptable, and she says she will escalate it to her manager and they will call me back. Reluctantly, I hang up the phone with no visit from tech support actually scheduled. It is 11:35 am.
12:30 pm.
Sheila calls back, wonder of wonders. Her manager says no, I will have to take off work or wait until Tuesday. Reluctantly, I agree to take off Thursday afternoon, that being the only part of that time frame where that’s even possibly doable at work.
Thursday afternoon. 2:30 pm.
Jason & Jason arrive at my door. These guys are clueful, courteous, tidy, and competent. Yes, the modem is broken. They replace it, make sure everything’s detangled in terms of IDs and passwords, make sure both machines are back online and working perfectly. We’re good to go: I’ve found where the competence at AT&T hides. Too bad I can’t just get these guys’ number for my next problem, if any.
The Huntress is Still on the Prowl
It’s not that I wanted her to hunt. I just understood that there’s a primal huntress alive and well in this particular cat, as there had been in her sister, Tondra, in her heyday. At 17, though, Tondra had long since conceded the hunting tasks to Sarah.
It was autumn, still prime hunting time, but nothing. Winter, nothing, but I thought perhaps that was due to lack of available prey: birds gone south, mice hunkered down warm in some inaccessible hole.
Spring. I wondered if perhaps the cat door being at window height meant that she might be catching something, but could not manage to get it into the house. That would be lovely, from my standpoint. I pretty much stopped thinking about it. Until Tuesday.
I was putting up a curtain rod over the great room window that faces into the back yard. Because I was doing so, I just happened to see a cheerful Sarah bouncing through the back yard with a mouthful of bird.
Before I could even consider doing something about it, I watched her bound to the bedroom window and prove that she had no trouble going through the cat door with a mouthful of prey, at least bird-sized prey.
I had no idea whether this bird was live or dead; it wasn’t moving, but I have enough experience to know that’s not especially relevant. And if you’ve read earlier entries in my blog, you know that I’m terrified of live birds in the house. I had to catch that cat before she opened her mouth.
I ran into the bedroom, where she’d just jumped down from the window. I swooped down on her, picked her up, and ran to the kitchen, where I opened the screen door and shoved her into the back yard, closing the screen behind her.
I noted her offended look as I then sprinted back to the bedroom to lock the cat door. That done, I could take my time returning to see how things were progressing. In the kitchen, Tondra was showing interest in going out and watching the proceedings, so I let her out. I then returned to my curtain rod and front seat view of the back yard.
Sure enough, after looking around for a good place to be and not finding one that appealed to her, Sarah bounded back to the cat door and attempted to bring the bird in yet again. She was not happy when she discovered that she couldn’t come in, but my problem was solved, and I turned my attention to the hardware---until I heard squawking. I peeked out the window to discover the bird flying away while Sarah tried to catch her in midair.
OK: I guess we’ve established she still hunts. And that the bird was live and quite healthy.
Which seems to make it inevitable that one of these days I’ll come home from work to find an avian critter staring at me, inside my house.
Quotes from The Sisterhood of the Traveling Pants
- Not all who wander are lost. - J.R.R. Tolkien
- Luck never gives; it only lends. - Ancient Chinese proverb
- Today is the tomorrow we worried about yesterday. - Anonymous
- Can you make yourself love? Can you make yourself be loved? - Lena Kaligaris
- There is no such thing as fun for the whole family. - Jerry Seinfield
- Love is like war: easy to begin, hard to end. - Proverb
- Rule#1: The customer is always right. Rule#2: If the customer is wrong, please refer to rule#1. - Duncan Howe
- When life hands you a lemon, say, "Oh yeah, I like lemons. What else ya got?" - Henry Rollins
- I have seen the future and it's like the present, only longer. - Den Quisenberry
- Sometimes you're the windshield; sometimes you're the bug. - Mark Knopfler
- If you feel like you're under control, you're just not going fast enough. - Mario Andretti
- The problem is not the problem. The problem is your attitude about the problem. Got that? - Coach Brevin
- If you don't find it in the index, look very carefully throughout the entire catalog. - Sears Roebuck catalog
- Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you are a mile away from them, and you have their shoes. - Frieda Norris
- Time tells the truth. - Fortune Cookie
- Of the thirty six ways of avoiding disaster, running away is best. - Anonymous
- Life is so... whatever. - Kelly Marquette
- You will make all kinds of mistakes: but as long as you are generous and true and also fierce you cannot hurt the world or even seriously distress her. - Winston Churchill
- Wish for what you want. Work for what you need. - Carmen's grandmother
- My karma ran over my dogma. - Bumper sticker
- You can take a road that gets you to the stars. I can take a road that will see me through. - Nick Drake
- What you do speaks so loudly that I cannot hear what you say. - Ralph Waldo Emerson
- All Moanday, Tearday, Wailsday, Thumpsday, Frightday, Shatterday. - James Joyce
- Is there world enough for me? - Jane Frances
- In your eyes I am complete. - Peter Gabriel
Friendship and Fiction
Another of my favourite friendship series is Sex and The City. Samantha, Carrie, Miranda, and Charlotte are as different as four people can be, they disagree and yet, they stick around and be there for each other.
The more I watch and read such books and stories, I wonder where has friendship disappeared from real life. I don't have any close friends in the same city. They've moved, gotten married, moved on, grown out of friendship, stopped caring, or all of the above! The only friends I seem to have now are in distant cities. Thankfully there are a few who are still around (in cyber space or over the phone) and bother if I call them in distress. The rest make me wonder how soon before these ones become scarce too? Is this a quarter-life crisis, friends reduced to pleasant acquaintances? If yes, what is the mid-life crisis?
Is modern friendship just limited to a guest appearance in fiction?
|| raga : kurinji ||
Kurinji raga is derived from the 29th melakarta Sankarabharanam. It is a sampoorna raga with vakra sancharas (needs a separate post) in the arohana and avarohana.
A: s r g m g m p d n s
Av: s n p n d d p m g r s
The notes taken by the raga besides Shadjam and Pancham are :: R2-Chatusruti rishabham, G2-Antara gandharam, M1-shudha madyamam, D2-Chatusruti daivatam and N2-kaishiki Nishadham. Jiva and nyasa swaras are G, P, N. The phrase “snNS” has N as tevra swara and the upanga raga has all the notes rendered with gamaka.
Since the svara sanchara is limited, it is sung in madhyama (slow tempo) shruti in vilambit laya to enhance feelings of compassion. Kurinji is actually a Tamil folk tune adopted into Karnatic music.
[1] Kshirabdi Kanyakaku | KhandaChapu (29MelaJanyam) | Annamacharya | Telugu |
[2] Muddugare Yashoda | Adi | Annamacharya | Telugu |
NotreBene : Time permitting, I shall add data, so consider the raga-series a perpetual work-in-progress. Thanks for using a track-back to this original blog entry instead of copying!
This is brenda's rant on thing programmers should do
This is brenda's rant on this you should do
1. Functions (or subs) should be small, concise, and to the point. Don't write functions that are > 100 lines.
2. declare your variables. use strict; E_STRICT;
3. put your virtual host config in seperate files, in sites-available. Don't appeand to existing files.
4. Give code enough db and os permissions to do their job and no more. the postgres users connecting from php does not need to own the database and every table. It should have things granted that it needs to do. The apache running as www-data should not have write permission anywhere unless it needs to have it.
5. use transactions!!!!! if you need to insert to 3 tables to save something, put it into a transaction so you don't end up with half of it failing and leaving the DB as a mess.
6. Put your data integrity rules into the data schema. It'll also be in your code, but having it in the database as well with means less bugs, and never more. You'll notice that you screwed up.
7. turn error_logging on, and CHECK YOUR ERROR LOG well before you deploy to staging. Don't wait until it's on production before realising that it's spewing errors at us.
8. don't copy paste similar things over and over in code. MAKE A SUBROUTINE!
9. name your methods properly.. A function called exists() on it's own, not inside a class, is just WRONG!
10. Use comments. Both inline as you go, and a doxygen to describe each function, define, class ... everthing needs describing.
11. GLOBAL variables are wrong. Use a static class or a define.
Paying Ransom

