Average score:

The Programmer's month

There are a lot of challenges that need to be faced. I will deal with them head-on, one at a time. These challenges include:
Technically half the month has already passed, but the month was not run properly and our failure was building on itself as it did toward the end of last year. I have therefore taken the initiative to erase all the April performance reviews to date, and I am asserting my authority over this month (given that the Thinker seems incapable of doing his job properly). To begin with, I will deal with only two problems (so as not to be overwhelmed with the sheer number of things that need doing). Neither should pose too much difficulty. We will call this "warmup".

The first challenge is in nodes 396-400 of Gamer Mom. The code allows for only one image where we need two. The trouble is that I have bypassed my usual image-flipping functions, so as to allow me to control the different characters separately (as the script calls for). I think I will simply need to keep track of which image was used previously, in a new variable which is not affected by the flipping function. It's not elegant, but it'll work.

The second challenge, now that I seem to have already solved the first one, is to provide a menu for the blog that only appears within individual post pages for "watercooler" posts. This menu will need to be an iframe that is added to the page with Javascript. It will need to be either at the top or the bottom of the page (rather than the side), so as not to mess with the formatting on the main page where these posts are presented within iframes.
First activity: Fixing the Gamer Mom problem 0:08
Time allocation: Mundane activities 3:45
A Sudoku puzzle 1:58
Gamer Mom 1:25
The blog 1:24
There were no real challenges. It was all rather tedious.
Notes: "Mundane activities" included TV, comics, piano and web browsing, alongside the things which are actually acceptable.
Performance review:
Massively out of character. You are not allowed to indulge in non-rule-based entertainments, or to browse the web.
First activity (Tue.): Experimenting with Linux on my own computer 0:20
First activity (Wed.): Changing Yardena's default kernel in GRUB 0:16
We've been slipping. After erasing the performance reviews for the first half of the month, we still are not following protocol to the letter. Days aren't being scored immediately, characters are watching TV regardless of whether they are allowed to or not... my natural inclination is to change the Rules, and certainly there is a lot that needs changing. But at a certain point, we'll need to just accept the Rules and find a way to make them work for us. If I keep adding rules and restrictions, and we keep falling back to the same state of uselessness, then it's likely the Rules are having no effect at all.
Time allocation: Braid 4:19
The Importance of Being Earnest 3:38
Trying to fix Yardena's computer 3:17
Watching TV with Yardena roughly 2:30
Mundane activities 1:41
Well, I didn't solve the problem, exactly. Nor do I understand the cause of the problem. I'm not even sure I was responsible for creating the problem, though it does seem most likely. But since the problem is limited to one version of the kernel, I just set a different one as the default and I'm calling it a win.
Notes: I finally played Braid, on Yardena's computer since it won't run on mine. Awesome game. I'm quite stuck at some of the puzzles, but I intend to return and try again. No spoilers, please!
Performance review:
It's understandable that you switched focus to Braid, which was surely the more stimulating challenge. But since you've admitted you technically didn't solve the problem, your score is going to be low.
First activity (Wed.): Reading blogs 0:14
First activity (Thu.): Trying to write a post about The Voice, realizing my opinion made no sense, and giving up 0:36
I've been losing readers on my blog on account of not posting enough.
Time allocation: Gamer Mom 7:28
The Importance of Being Earnest 4:33
Mundane activities 4:17
Comics 4:08
TV 2:29
Talking with Yardena 0:47
Reading an inspiring article about Jonathan Blow 0:41
I know, no progress on the blog front. But Kyler and I are really close to finishing Gamer Mom, and I had some really good conversations, and I started an interesting new approach to comics editing with Avengers vs. X-Men that I think some of my friends will appreciate. So not a bad day at all.

At the rehearsal, Sura (the director) brought her young daughter Batsheva who immediately started ordering us actors around as though she were the assistant director. I was conflicted about this: on the one hand, I felt bad for Yardena who's the actual assistant director and is having a hard time finding a way to contribute to the play. (Sura's thrown out most of what Yardena worked on, and generally acts like she has no use for Yardena's talents.) On the other hand, Batsheva is so darned cute. When I saw her I said "How have you been doing? How was [your sister's] wedding?", and she immediately called me out for just making smalltalk without actually being interested. She's like that with everyone, no sense of propriety but a strong sense of logic and personal preference. She couldn't understand why I kept smiling while she interacted with people -actually, it annoyed her quite a bit. She is so much like I was when I was her age, except a lot happier. Man, I'm smiling just thinking about her- she is the most adorable little Asperger kid. If only she were ten years older.

...terrible taste in DS games, though. A Phineas and Ferb licensed game? Everyone knows licensed handheld games are trash, no matter the license. I need to lend her a game of some quality, so that she understands how games are supposed to be made.
Performance review:
Nice work on Gamer Mom. If you keep this up, we'll have a new reliable character in the group and we won't need the Worker so much.
First activity ():
First activity ():
We've been slipping. After erasing the performance reviews for the first half of the month, we still are not following protocol to the letter. Days aren't being scored immediately, characters are watching TV regardless of whether they are allowed to or not... my natural inclination is to change the Rules, and certainly there is a lot that needs changing. But at a certain point, we'll need to just accept the Rules and find a way to make them work for us. If I keep adding rules and restrictions, and we keep falling back to the same state of uselessness, then it's likely the Rules are having no effect at all.
Time allocation: Mundane activities 4:40
Gamer Mom 2:31
TV 2:08
Reading 1:07
A new musical theme 0:50
The blog 0:42
Looking into Amazon Mechanical Turk 0:35
Thinking about multiple personalities 0:25
I have some behaviors that seem to transcend my characters. If there is a chance for conversation, I jump at it. So too with new musical themes. It is debatable whether it is justified to give priority to these time-sensitive opportunities over the necessary rhythms of a multi-character life. I am acting on an assumption of scarcity which could easily enough be disproven. But even if we accept new music and desired socializing as our highest priorities, I see no need for television and comics to join the list. There is little social harm in falling weeks or even months behind on such entertainments, and with the internet there is never a scarcity of amusements. So why do I put all my projects on hold as soon as my shows come on?

Good heavens, "my shows". One would think The Voice U.K. had any effect on my life! Have I some obligation to popular culture?

But perhaps I do. "The natural goal of life is to find many opportunities, and preserve them.". If I don't keep updated before my memories fade, how will I understand, much less appreciate, the next episode? Continuity gives the semblance of a world. But those worlds (and the real one) must never take precedence over my own!
Performance review:
So many rules broken.

I'm taking off another point because I'm not happy with how you've been running this month. A rule should have been made banning TV at the start, since we don't have the Worker to contain the addiction.

First activity (Mon.): Testing an idea for the code 0:15
First activity (Tue.): Thinking about what Gamer Mom means to me 0:31
The end line is in sight for what is the best thing I've ever done in my life. Time to stick the landing.
Time allocation: Collaborating with Kyler 6:08
Coding 5:22
Mundane activities 3:34
The coding is done. Kyler's images (all four hundred of them) are ready. All that remains is testing, better support for touch screens, reworking the CSS to anticipate possible font problems, buying hosting space, designing the web site, setting up a system for donations and publicizing the game. I have been working on Gamer Mom for thousands of hours now; what's left is nothing.
Performance review:
Congratulations! Gamer Mom will go far.
First activity: Memorizing some lines at the last minute before the rehearsal, which turned out to be for a different scene 0:48
I haven't spoken to Moshe in a few weeks. I went over on Shabbat, and he wasn't home. So he still doesn't know I'm moving. We'll still be able to talk on Shabbats, since I'll be in Beit Shemesh, but he won't be able to come over anymore.
Time allocation: Mundane activities (including TV) 3:42
Talking with Yardena 3:22
The Importance of Being Earnest 2:10
Talking to Moshe 0:13
A work-related call 0:05
I told Moshe I'm moving, and he didn't take it well. I said I'd still see him on Shabbats, and he said that soon enough I won't be coming back for Shabbat because I'd have other friends in Jerusalem. I can't say he's wrong; I don't know how this is going to work out. We'll see.
Performance review:
The TV had no business being there, and the time allocation table looks lopsided for it. The day should have been ended when there were no more opportunities, or you could have switched to the Programmer and tweaked Gamer Mom's code. But otherwise I don't think any opportunities were missed.
First activity (Wed.): Adding a "toggle fullscreen" button to Gamer Mom 1:06
First activity (Thu.): Watching TV 0:54
Gamer Mom is technically complete, but my work on it is not quite done yet. The biggest challenge for today is supporting touch screens better. It already works pretty well on a smartphone or a tablet, but there's a slight problem that I noticed when playing on an iPad: when a button is pressed, rather than activating on the release like with a mouse, the browser pauses for a second to see if you're going to make a gesture and only then activates the button. I'd like to deal with this situation elegantly; if I just detect whether you're using a touch screen and then ignore all mouseclicks, what happens if you're using a touch screen connected to a mouse? Okay, so that's not likely. But I'd like to not have messy code here. So I'll change all the onclicks to an intermediary function that checks whether you're using touching or clicking for that particular activation and acts accordingly.
Time allocation: Organizing comics 10:13
Testing and improving the cross-platform usability of Gamer Mom 6:17
Mundane activities 3:28
Watching TV 1:31
CSS work 0:57
Preventing buttons from keeping focus 0:22
Forgive me for the TV. I do feel that the comics, however, were a reasonable use of my time given how difficult it was to make sense of the timeline between the various books.

I played around a lot on Harel's iPad, experimenting with Javascript's touch events. Splitting the possible inputs into clicks and taps was a good idea, but I found a more fundamental problem - there is no easy way to detect whether the finger has slid off of the button that was tapped, which makes simulating button presses (without using the built-in functionality) prohibitively difficult. I looked into ways I might get around this problem, but they were all so complex that I'd end up causing a lot more problems that would need solving. In addition, it would make my code fairly unreadable, which is a problem when I want people to imitate what I'm doing. So while I made a few minor adjustments to better suit touch screens, I'm afraid the game is stuck with the lag.
Notes: I burned three more comics discs.
Performance review:
We need to deal with this TV addiction, it's gotten out of control. But under the circumstances, you did admirably.
First activity: Data entry work 6:40
Time allocation: TV 2:00
Mundane activities 1:47
Composing 1:34
Okay, I screwed up. I will not defend my performance, I will only promise that I will do better.
Performance review:
Okay, one bad day isn't the end of the world. You'll get it next time.
Notes: There were no notes for this day, so we'll have to count it as a zero. It wasn't a bad day, though. I woke up early, went to my data entry job where I worked for seven hours, went to the rehearsal which went well enough, then talked with Yardena a bit, got my key and went home where I should have gone to sleep early but instead stayed up watching TV until 3:00, when my computer kicked me off.