← Home About Archive Also on Micro.blog
  • The Last Airbender

    while searching for something fun to watch as a family during lockdown we somehow settled on The Last Airbender. i don’t remember why at all. it was probably my wife’s suggestion and we all liked the show when it aired originally. i didn’t really have huge expectations when we started, but i’m a sucker for animation, and any unforced activity with teenagers is a win, so that was that.

    i realized as we progressed through the seasons that it was a not only a great story and but also really subversive. it showed things that aren’t really taught in western education. parents poking their heads in to make sure the kiddo is pacified in front of a TV probably never noticed. i sure hadn’t when i was pacifying my own kids with it.

    how many other children’s programs teach naive american’s about meditation, chakras, reincarnation, and chi? balance, harmony, or how conflict resolution without guns or killing?

    and did you notice that the Earth King dressed in Qing dynasty regalia and wore spectacles like Puyi? there was quite bit of history stuffed into those fictional characters. Uncle Iroh spoke in Taoist proverbs the whole time and he’s really just an animated taoist Uncle Cao. far and away my favorite character, of course.

    last night we finished the final episode of The Legend of Korra. that’s seven seasons and roughly 100 episodes. quite a journey and the education never let up, literally up to the very last second.

    season one dared to suggest an alternate creation myth to a frighteningly closed-minded judeo-christian audience. and was it just me or did the series actually end with the main character walking off into the sunset with the hot girl — despite being female!?! like for real non-straight relationship in a kids show? hell yes! how on earth did that make it through the story meetings?

    but far and away my favorite bit: after watching the second season’s baddy spout straight up Bakunin collectivist anarchism episode after episode — i kept thinking thinking, “where do i know that voice? what actor is this? i just can’t place it,” my wife says, “this bad guy sounds just like Henry Rollins?” and holy shit it, it is! who do they get to preach anarchism to the youth but the lead singer of the band named after the anarchism’s black flag and maybe the best spoken word artist of our generation. not bad Nickelodeon, not bad at all.

    anyway, it was a very nice way to introduce a still young and open minded audience to a broader view of the world without upsetting their closed-minded parents too much. so if you’re a parent and need to pacify your kids during lockdown (i completely understand), might i suggest plopping them down in front of Avatar Ang and friends. they might just learn something new.

    → 5:03 PM, Jul 24
  • blog-app - dev journal - day 2

    Fun with Split-Views

    I don’t really know where to start on this blogging project. I like some of the features of Jekyll and want them in a Mac app – that’s about as far as my app specification goes – and is probably why I’ve been looking at a blank Xcode project for too long.

    To break the writer’s block, I’ve just been throwing together some chopped up app parts I had lying around. Here’s what’s in the screenshot of this app-salad: a default toolbar, an outline-view set to source-list mode, a few text fields and a code editor that I dragged over from Stacks.

    Day 2 split view

    I usually leave split views with mostly default behavior and basic constraints. My feeling is that whenever they’re too clever they break. But I noticed another app that had a nice, and relatively simple way to prioritize column resizing as the window gets narrower.

    The idea is that the left and right sidebars remember their width as fixed values. As you resize the window only the content area changes. Only after the content area reaches its narrowest limit will the sidebars begin to shrink too. First the right will get narrower. And when it reaches its limit, then finally the left sidebar shrinks. This part is fine, and is relatively easy to set up with some basic constraints.

    But here’s the surprising bit: the process is completely reversible. As the window gets larger, the sidebars will return to their previous positions, even after a relaunch. Each sidebar has a desired natural width that it will return to before the content area is allowed to grow. The natural width only changes when the user manually drags the split to a new size. Resizing the window, relaunching the app, or moving it to a new window might affect the sidebars temporarily, but nothing affects the natural width except direct manipulation of the split.

    To be honest, I’m not even sure I’m going to use this in the app long term, or if this sort of split-view arrangement makes sense here. I just kind of wanted to fiddle with the split-views to see if I could build something similar and it was a good way to move past that daunting blank Xcode window.

    What is this: these are random snippets from my dev journal. I’ve been working on a simple blogging app for fun. This is a non-serious side project, progresses very slowly, and will probably never see the light of day. The images may not perfectly correspond to the journal entry. In most cases I’ve added them later based on the relative time of git checkins.

    → 4:01 AM, Jun 9
  • dev-journal

    blog-app - pause

    2020 Craziness

    Over the past week I’ve been tweeting less so that the people that need to shout will get heard clearly without needless distractions from me. For me it’s time to listen more and talk less. Since my hip-injury prevents me from going to protests (my wife went to a small demonstration!) I’m supporting the movement with my donations. You should do both if you can.

    So even though my developer journal is going better than ever, I put my blog on hold, just for a little while. Perhaps this week there will be less teargas and we will see some real change. And maybe in the early mornings it will be a bit quieter. And then, maybe, I’ll blog a bit more about side project.

    Until then, stay safe, demand change today, #blacklivesmatter

    → 4:56 AM, Jun 7
  • blog-app - dev journal - day 1

    For the past week or so I’ve been fixing bugs in the Stacks v4.1 release at a crazy pace. I was hoping to have it done last Friday. It has some big changes for a point-one, but I hit a snag right before sending it out to developers for testing. The point is, I’ve been working like crazy and I’ve needed a break in the evenings and I’ve been tinkering with this blogging app some more.

    My big idea was to rip the persistence code out of Stacks partials. It’s uses hierarchical NSFileWrappers to store an arbitrary graph and it’s easy to pick the format for each object. I figured it would be a good way to save blog posts that stores each post as a plain text file. It’s obviously more trouble, but it I liked the idea of the plain text files – and it’s nicely tested code that’s been working in production for years. So created a new app in Xcode and voila! It’s a blogging app. Or, well, maybe it could be someday.

    I’m not sure how much I’ll get done only working in the evenings. And not sure how much I’ll post here. I mean, app building is not especially exciting all the time. But It seems natural to blog my dev journal while building a blogging app. Hopefully I’ll make it far enough to use the app to write the blog. So, here’s a picture of what I’ve got so far. Not very exciting – but hey, the persistence layer already works great and I’m posting, and that’s not nothing, right?

    So, yeah… I’m trying that dev journal thing again. Wish me luck. Maybe I’ll work on some UI bits next and that’ll be worth posting.

    Day 1 basic app

    What is this: these are random snippets from my dev journal. I’ve been working on a simple blogging app for fun. This is a non-serious side project, progresses very slowly, and will probably never see the light of day. The images may not perfectly correspond to the journal entry. In most cases I’ve added them later based on the relative time of git checkins.

    → 4:34 PM, May 24
  • the stupidest thing i got in trouble for

    this entire story is 100% true and to the best of my memory i’m not exaggerating any of it, except for one thing. i’ll mark that with asterisks so you know.

    my french teacher was Mme. Nail. again, this is 100% true, “Nail” was honestly her name. anway, she was really strict but only in bizarrely pedantic ways.

    for example, talking in class was often tolerated (so long as it was “en francais”), and even eating (french food only, s’il vous plait), but forget any item on her rather extensive list of things mandatory for all french students to have at all times and it meant an instant detention. this sounds like a big deal, but it really wasn’t. it was just an hour on wednesday afternoon, usually en masse with many others who were all there for equally nutball reasons.

    the list of items included your workbook and binder, paper, pens, pencils, etc. really nothing out of the ordinary. the strangeness was that the list was spot-checked, boot-camp foot-locker style, walking down each row of the classroom for inspections.

    so one autumn day in French I, long before i started carrying a spare spot-check-kit containing an unused copy of each required item, i was caught without a pencil, having apparently left it in some previous class.

    boom. detention.

    ok. fine. it really wasn’t so bad: one hour. usually spent cleaning blackboards or stapling papers… which incidentally were required to be stapled perfectly straight and horizontal or, i shit you not, she would make you remove them and do it again.

    but on this particular wednesday she was out sick, so detention was postponed until the following wednesday.

    ok. whatever. again, no big deal… except the same thing happened that wednesday too. so it was postponed again.

    and the following wednesday? well, this time it was on me. i just forgot. it had been the better part of month after all. and again, this was all just because i didn’t’ have a pencil, a pretty easy thing to forget.

    and when the end of the semester rolls around the rule is that all unserved detentions are automatically escalated to referrals to the vice principle. no exceptions. no excuses. this is going on your perminent record.

    so a few hours into the beginning of the new semester I find myself parked outside the vice principle’s office. me, the good kid and super nerd, just sitting there with all the arsonists and paste eaters. after about an hour of waiting while trying and failing to blend, my name is called. i walk in to his public-school-shabby, wood paneled little office and head for the seat across from his desk. i think i was literally shaking, what with the whole whole “permanent record” thing. but just to terrify me a bit more he demands in a loud stern voice before my butt even hits the chair or he’s cracked open my file,

    “Do you have any idea why you’re here today?”

    to which I replied, in a shaky and honestly quite scared voice,

    “I forgot my pencil.”

    which i’m sure sounded like a wise-ass joke, but… like… what the hell else am I going to say? he doesn’t react right away, but his face turns red and i can tell he’s just about to go nuclear on my ass… but right before he does he decides to have a quick peek at my file first… and then… he just sort of deflates, shrugs, and says,

    “Oh. Ok. Well, just try to keep on Stephanie’s** good side from now on, OK? You can go.”

    ** I just made up the name “Stephanie”. I don’t recall Mme. Nail’s actual name. It might have been Stephanie, but probably wasn’t. But I do distinctly remember the vice principle using her first name. his sudden casualness caught me off guard and i knew right then that she was probably in more trouble than i was.

    → 7:20 PM, Jan 9
  • RSS
  • JSON Feed
  • Micro.blog