“He was one of those people who stared at you with a meaningful smile on their face, as if he was somehow intellectually and spiritually superior, when the fact was he was simply socially inept.”
—Kate Atkinson, Life After Life
“He was one of those people who stared at you with a meaningful smile on their face, as if he was somehow intellectually and spiritually superior, when the fact was he was simply socially inept.”
—Kate Atkinson, Life After Life
Mr. Bernstein, Citizen Kane Quotes on IMDB
(via Dave Winer)
A clipping lets you easily insert pre-defined bits of text into a document. A clipping can be any length of text, and it can contain placeholders that are swapped out with the corresponding value when you insert the clipping.
Recently I had to create a bunch of register/unregister functions for a C header file that would handle adding and removing a callback. I had about twelve callbacks I had to do this far.
I’ve heard of BBEdit’s clipping functionality but have never done anything with it. This MacWorld article I liked to was a good overview of what they can do.
I created a clipping like this:
extern return_enum myobj_register#CLIPBOARD#(myID id, #CLIPBOARD# callback, void *callbackArg);
extern return_enum myobj_unregister#CLIPBOARD#(myID id, #CLIPBOARD# callback,);#INSERTION#
I then added it to a clippings set called something like “MyProject.h” so that the clipping would be active when I worked on header files.
After restarting BBEdit (it didn’t seem to notice the clipping set until I restarted — may have been user error), I had the clipping available in the clipping palette. Now all I had to do was copy the callback name to the clipboard then go to the point in the file where I want the register/unregister function to be and execute the clipping (via a keystorke or double clicking in the clippings palette) and voilà — I had my register and unregister functions created for me.
Adrienne So, Against Hoppy Beer
I love a good hoppy beer. However, they can suck when you are at a festival or a tour and it seems like every brewer is pushing their hoppiest beer on you. It can sometimes ruin your mouth for the rest of time.
I was using pthread_cancel for the first time on a project at work yesterday.
I followed along in the man pages and made sure that I made the call to pthread_cleanup_push to set the cleanup handler for the thread cancelation event. I then went to compile and got strange errors about all the functions after the pthread_cleanup_push having invalid storage types.
I banged my head on this a bit thinking I made a mistake somewhere. I then took a look at pthreads.h and saw that pthread_cleanup_push was a macro and it had an unclosed curly brace in it. Thinking this odd, I then googled some more and came across this page on QNX’s website about pthread_cleanup_push and noticed in the sample that there was also a pthread_cleanup_pop you have to use at the end of the thread’s main function.
Looking back at pthreads.h, I noticed that pthread_cleanup_pop contained the closing curly brace. I don’t know why I thought it was ok to push something without also doing a pop on it, but I’m not always the sharpest crayon in the box.
Once I added the pthread_cleanup_pop at the end of my thread logic I was able to build without an issue.
One Last Cringe for ‘The Office’ Finale
Bob Odenkirk as Michael Scott? That would have made for an interesting show. Odenkirk did show up again in Season 9 as a Michael Scott doppelgänger so you got to see a bit of what it would have been like. However, Odenkirk was problably playing Micheal Scott as played by Steve Carell.
I wonder what Michael Scott would have ended up like if Odenkirk had a chance to put his fingerprints on the role?
This song really gets me pumped up.
This whole album is great.