I do whiteboard screencasts fairly often. In the unlikely event you haven’t seen a Khan Academy video before, here’s one: Of course the most well-known examples of “whiteboard” screencasts are the videos at Khan Academy. It’s intended to mimic the live presentation of content on a whiteboard, hence my name for it. ![]() This is a screencast where I am demoing some sort of concept or calculation by writing things down, rather than clicking through a Keynote presentation or typing something on the screen. ![]() Less code = good.Įxcept for that whole undo bit that I completely forgot about in setFillColor.In this post, the fifth in a series of posts on how I make screencasts, I’m going to focus on what I call the “whiteboard” screencast. Instead of touching my ivar directly, I would just use the accessor to release the memory it was holding on to. I was taking a little short cut that I had discovered a while back. It was in my base graphic class, in the dealloc method, and the change went from: It's so you don't have to wade through 1800 lines to find the two or three that caused your bug.Īfter alot of digging and applying changes to version 406 that would later show up in version 407, I found the bug. Lesson #1- there's a reason why all the smart people who write books on version control say "make small changes and commit frequently". A bunch of svn co -r's and xcodebuild's later, and I find that the bug showed up between commits 406 and 407.Ĭool, now I know I can narrow down and see specifically what I changed, by doing a "svn diff". until we find version x that works, and version x+1 that crashes. And then if it works, lets check out a newer version than that and see if that crashes. right? So let's check out an old version of FS and see if that works. right? And I've got a subversion repository for some reason. Of course, this worked just fine at one point in the past. I tried a bunch of different things, and nothing helped. I immediately headed over to Apple's Technical Note TN2124, otherwise known as "Mac OS X Debugging Magic". (Gus stares blankly into space, unable to come to any conclusions, and is slightly afraid that he's writing over some memory at startup or something which is only coming to light later on.) And since I like sharing little programming stories (and I just get dumb looks from my dogs when I tell the stories to them), I'll share this one with you. It took a little while to narrow down to a reproducible case but it was pretty easy to fix once I found it. Speaking of bugs, I fixed a big crasher in FlySketch the other day which had been bothering me for some time. (Geeky Mac OS programming things follow.) The documentation hasn't been updated yet, so no need to ding me about that- but if you do run into any bugs, I'd like to know about it. It's the latest and greatest version, with bugs just waiting to be discovered. Whenever I run a scripted build of FlySketch it uploads it to the server and this page has a link to it. ![]() I've also created a "latest" page like I do for VoodooPad. Use at your own risk of course, but it's been very stable for me (now that I fixed a ridiculous undo bug). You can download it from this link if you would like to try it:. I've made a new build of FlySketch, and I'm calling it 1.5b1. My views have changed over the years, hopefully my writing has improved, and there is now more than a handful of folks reading my site. (This post is from my old, old, super old site.
0 Comments
Leave a Reply. |