Making a Super Cal if Rage Will Stick Ex Paella Down Us
Something I am not good at
The paella must be possibly the worst national dish ever created, I thought to myself as I looked at the charred remains in my pan. It is as if the mind of some ancient Spanish conquistador, returned from his conquests abroad feeling hungry and unfulfilled, dreamt of bringing byriani to Spain, but in the midst of pillaging had forgotten to take culinary notes.
"How difficult can it be, Jose?" the weary warrior muses,
"Yeah, yeah, its just rice and meat, innit", says his Catalan colleague coming from the Spanish equivalent of Birmingham.
"We could use something flavourless, amorphous and chewy, like mussels, instead of meat",
"Whoaaah, nice,",
"And langoustines...",
"langa-what?",
"I know, right? Just throw them all in, don't bother shelling them",
"Raphael has some tomatoes he doesn't need for pelting passing pedestrians",
"Ahh...the flavours", fanning the flames as the smell of their concoction cooking brings back fond memories of far-away burning villages.
As I proudly presented my still smouldering efforts on the table, I am met with quizzical glances.
"What is it?" asked Mrs Saif, "I mean I can see what it is, but what is meant to be?",
"Its Spanish! Paella!", I exclaimed, "It's what Nadal, Ballesteros, and Ronaldo eat, guys. Come on, tuck in!",
The kids were not too sure, "Looks like your byriani" said one, encouragingly.
"Ronaldo is Portuguese," said another hoping to distract while passing her food to the dog who knew better.
"Look, why don't we order Mexican" said Mrs Saif kindly, "and you can try something you are goo.. err.. not so bad at."
Something I am not as bad at
Failure, I am used to. Under appreciation, I accept as the condemned accepts the noose. If I can divert my attention to coding instead of cooking, I may perhaps have less cause for despondency. But for me, the two streams of activity, cooking or coding, have the same triggers, and very often the same outcomes. Some one says: "You can't cook", outcome: paella. "You can't do this in Perl", outcome: more burnt offerings, sacrificing time and sanity, yielding an unrecognisable, unconsumable concoction for presentation to a community that never wanted it in the first place.
So when one person on Reddit presented a gist to use bash
, ncal
and Perl to create a week counting calendar on a terminal,
I thought, hey this could be done in Perl alone.
What's the point?
Here-in lies the problem with the irresponsible, belligerent coder, unsatisfied with mere re-implementation of another's code, who has to add his own flavours into the profusion of existing successful recipes. After all, MetaCPAN has no shortage of Calendar Modules,
including Manwar's collection of excellent exotic calendars. EDIT: In fact Dave Cross' Calendar::Simple
has an example which does exactly this.
I have started yet another project, this time a Calendar Application for the Terminal,
which will (eventually) be interactive, customisable, use terminal colours for highlighting, allow adding and removing of events, will import, export and use standard .ics
files, and create crontab
lines. Or it might end up an exercise that once again reveals how inadequacies overcome aspirations.
Similar things exist (CalCurses, uses curses library) and
(khal in Python) as well as cal
and ncal
, for those interested in such tools. Of course, I know my limitations, and this project will be Pure Perl. Pure Madness. Of course, if someone gets the title of this blog, somehow, it will prove to me that there are such other mad people around.
Hey Saif,
Great to know you're in the calendar coders club.
I love the non-orthogonal challenges of programming around dates and calendaring.
There's only one word for it!
It really has been fascinating learning for me. To think that astronomers detected a difference in consecutive years of less that 0.1% centuries ago, and compensate for it is amazing. The maths is the clever bit. I am planning to cut out dependencies like DateTime that do all the work of calculating dates, just so that I can explore how this is actually done.