Archive for the ‘Life’ Category

September 30, 2018

Litter Theorist

Tonight I was watching Nicole do her computer homework. First she reads a story, than she answers questions about it for points. The program is designed with little kids learning to read in mind. There’s a button you can press that will read the question, and a button next to each multiple choice answer. There’s no penalty for a wrong answer. Instead, the child is given a chance to change any answer the system marks as wrong. The faster you go, the more stories you can read, and the more points you can accumulate.

After reading the story, Nicole skipped the question and had pressed the button to read aloud each answer. She then picked one of the answers based only on the story and the answer, completely bypassing the question.

“She’s a little fuzzier”, Daddy said with pried. In computer security “fuzzing” is a technique of testing a system by supplying a series of different inputs in order to see how the system handles it. By skipping the question she was effectively testing the system. Is the right answer ‘A’? No. ‘B’?..

“She’s a statistician like her mommy,” I disagreed. On a subconscious level her mind is building a probabilistic modal to infer the question is based on the answer, and which answer is most likely to be correct. If the answer mentioned concepts not in the story, it’s not likely to be correct. For example, if answer A might be ‘Penguins live in the Zoo’, but the story didn’t mention a Zoo, than even though A is a correct statement, it’s not likely to be the answer to a question posed about the story.

Whichever the case, she’s using her knowledge of the system to create a short cut and it was working. She could always narrow down the set of four answers to the two most likely, and almost always got the correct answer on the first try.

I know I should be encouraging her to do her homework the way it’s intended to be done, but I find value in learning to pattern match, to come up with a strategy to tackle a problem (Read as many stories as quickly as possible). The questions are designed to encourage reading comprehension.
Being able to reason about the program is a useful skill, that also relies on reading comprehension. So for now, I’ll just sit here beaming silently with pride and my little mini me.

September 25, 2018

Seasonal Slowdown

I’m feeling guilty for falling behind. Again. I had been keeping my todo list around 30 outstanding items per week, but lately it’s climbed as high as fifty. Between school starting, and wanting my kids to get off on the right foot, and all the holiday prep work (this Santa has already started planning the kids’ stockings, in September!), I am finding very little time to do anything non essential. My poor little business feels so neglected.

I know I know. With everything I have going on it’s a little ridiculous to add the stress of stocking stuffing so far in advanced on Christmas. Confession? I really love it. I love putting together the perfect stockings, orchestrating a coordinating family costume, and just going a wee bit overboard in general this time of year. It brings me joy.

While I do miss my being so productive with my business, the reality is that now is not a good time to be messing with it too much. Historically, fall is a time of the most growth, where ad revenue is it’s highest. Now would be a bad time to risk introducing a bug that could derail any progress. It would be especially bad to risk introducing a bug by pushing unnecessary code changes just to assuage my guilt over lack of progress.

So I’m giving myself permission to slow down.

For the next couple of months I’m re-prioritizing. In terms of my business that means focusing on data analysis over lines of code, and not stressing about the hours on the clock. I’ll still address bugs, of course, but plan to roll out new features and new apps primarily after the new year. My goal is to spend my time now understanding how might is being used, and how it could better be utilized, so that in the future I can spend my time on what will be most impactful. I want to be the epitome of working smarter, not harder.

Fortunately, I should be able to stagger the busy periods of each parts of my life so that they interleave, rather than overlap. That should mean I can have it all, without feeling crushed by the weight of it all. That’s the dream, at least.

September 17, 2018

Costume Overboard

I blew it this year.

We’re a two costume family with separate school and trick-or-treating costumes. School costumes need to be light weight for warm October days (often in the 70s), easy for the kids to play around in during recess, comfortable to sit in and easy for the kids to get in and out of themselves. The only requirement for Trick-or-Treat costumes is that they’re warm enough for cold October nights. Once the sun sets, the temperature drops like a stone. In the past we had saved money by DIYing the school costumes, but after last year store bought seemed the right way to go.

I like to order the customs early, as I’ve had some mishaps in the past. Amazon market place is often the cheapest, but sometimes you don’t get quite what you ordered and I like to have time to get orders corrected. I was mostly worried about getting a cheap knockoff, potentially off brand costume, or the slimmed down non “deluxe” version without the cool accessories of the costume I ordered. As soon as the costumes arrived was I found the UPC number on each package and search the manufacturers website to be sure it was exactly the item I was expecting. No issues there.

What I should have been worried about was sizing.

Alexis’ belt is so lose it hangs off her butt on the tightest setting. On one costume Nicole’s capris pants look full length, which is better than her other costume where pants won’t even stay up. We had no choice but to reorder Nicole’s in the smaller size. Alexis’ costume is the smallest size the manufacture makes so we will have to make do. At least we can make do with it. Alas, we’re likely stuck with the too big versions, as the return is not easy and not really worth it. Something for the dress up corner, I guess.

I knew Dana’s costume was going to be big. It’s a trademarked character and, despite being a popular character, I could only find one costume manufacturing who was licensed to make it. According to that manufacture website the costume comes in 9-12 months, 12 to 24 months, as well as larger sizes. Dana will be 9 months on Halloween, so I needed the smallest possible size. No one was selling the 9-12 month size! Not Amazon, not Target, not Walmart, not the specialty costume stores. I even tried secondary markets like eBay. No dice. Not even used. The smallest size I could find anywhere was 12-24 months. Dana’s head circumference is in the 98th percentile and the costume is basically a headpiece and tunic so I decided to change it. The headpiece is large, but passable. The rest is ridiculous. I found a onesie that sort of mimics the tunic, and basic brown pants to fake it.

That’s three duplicate costumes! On top of our planned five! Shopping fail.

If I had another group costume idea I would be tempted to hold off on this one for another year so everyone’s costume would fit. Maybe we’ll just have a bonus dress up and picture day in the middle of summer next year when everyone’s costume fixes better.

Total Spent: $199.76 (Ouch!)
Nicole – $86.86 (That represents all 4 different costumes, so at least the per costume price isn’t that bad)
Alexis – $44.41
Dana – $36.34
Accessories – $32.15

September 14, 2018

A Very Formal Month

Confession #1: I take a lot of photos. An average of 151 shots per day over the last 302 days that I’ve owned my camera. (45,701 total shutter actions to date on my camera. No regrets.) Last month I actually shot slightly more, averaging 170 shots per day.

Confession #2: I still struggled to find three photos for this months’ letter to Dana.

Why? Because I prefer photo-journalistic style candid photos for the monthly letter, and shot almost exclusively formal staged photos this past month. We did outside photos and inside photos; staged on the bed, next to the bath tub, and surrounded by flowers in the back yard; in costume and out of costume. We even donned our Halloween costume for a few photos.

Shooting mostly formal, especially for so long, is a huge departure for me. Normally I struggle with formal photos, particularly those not shot against a backdrop and have to force myself to do it. Part of that struggle is there’s just no place to do it in our house. With three kids the clutter has gotten insane. Anything formal without a backdrop requires a hefty amount of tidying up first. The bigger mental road block, however, is a lack of practice leading to a lack of confidence.

I have a photography comfort zone: landscape oriented, photo journalistic style child photography. The more practice I get in this niche, the more comfortable I am in it. I have an intuitive feel for these niche photos, whereas just about anything else requires me to stop and think about it. Even just changing camera orientation from landscape to portrait requires me to spend more time considering framing. Sometimes I get it right, other times not. The disparity in results make shooting outside my niche that much more uncomfortable. I can be very critical on myself when I don’t get the shot.

The difference this time was a perfect storm of early success doing formal photos, as well as feeling a lack of inspiration towards the traditional photos I always do. Dana enjoyed playing in the shark robe and gave me a number of funny expressions. Normally I have just one or two top photos, but I found myself with half a dozen. I had a similar experience outside. At the same time, I couldn’t think of a new candid photos to do of Dana. I already have tons of photos of her in the Jumperoo, on her activity mat, with her table. Whenever I picked up my camera to do a more casual style candid photo it felt like more of the same, and certainly nothing to get excited about.

I’m not sure how much longer this formal kick will last – after a month the idea well is starting to run a little dry – but it’s a great feeling to be so comfortable outside my normal comfort zone.

September 10, 2018

Dana at Eight Months

Dear Dana,

And now you’re eight months! That’s two thirds of your first year. It’s still hard to believe so much time has passed. I still feel like my “maternity leave” has just started, how could it possibly be that we’ve already been home together for the better part of a year?

Since transitioning to your own room you’re putting yourself to sleep more and more. I am still not very good at putting you down “drowsy but awake” part, though you’re clearly still learning. I’ve watched you on the baby monitor wake up at night and fall back to sleep by yourself. We’ve also seen you do that in the middle of nap. One minute you’ll be cooing away, playing with your toes, and the next you’ll be quite and still. One time after hearing you chatting away in your crib I decided to fetch you, sure you were awake for good, only to find you had fallen asleep in the time it took me to walk upstairs. You clearly can go to sleep by yourself, you just don’t go to sleep initially by yourself. It’s definitely a different sleep pattern than your sisters. You are intent on keeping me on my toes!

You’re awareness is ever increasing. It makes night time difficult, as you listen for footsteps outside your door (it’s so good we moved you to your own room last month!), and great for peekaboo. You recognize the sound of the garage door, and recognize your family members by name. You even turn to Echo when you hear us give it the voice command. Oh, how you love to dance! You started to head bopping one day while Nicole was singing, and loved the attention both girls showered on you for it. Now you’ll dance to anything, including just the sound of Mommy talking.

In terms of food you still prefer vegetables to fruit, and you’ve started a yogurt in the morning. Yogurt is clearly not your favorite, but you eat it anyway. We started finger foods (puffs and cereal) which we’ve taken to calling “baby cookies” in front of your sisters. You’re unsure what to do with them, other than experiments testing gravity. I am not sure I’ve seen you actually eat any, but you do enjoy dropping them on the floor.

We thought the thumb sucking phase had passed, but now I see you will still suck on your fingers for comfort. We had a visit from family you hadn’t seen in a month, and it’s clear that separation anxiety was starting to get to you. I shall take it as a compliment that you haven’t need to suck on them in my presence for the past couple of months.

We’re also starting to hear some clear first words. You started saying “dada” in Domingo’s presence and then, just two days ago started calling “mama” when waking in the middle of the night. I’ve got my fingers crossed that you learn to say “Nicki” and “Alexis” at the same time. Whichever sister’s name you say second is going to be super jealous.

Love Always,
Mommy & Daddy

I’m always nervous when something unexplained happens. When I couldn’t pinpoint why July’s revenue was way up I braced for the possibility that it might drop just as suddenly. Well, income rose to 1,406.88 in August, and users are up 4.7%. I’m now feeling confident this change may be permanent, and since my numbers tend to go even higher leading into the final quarter, I’m daring to hope $2,000/month may be a possibility by the end of 2018.

This month I continued to focus on user experience.

The Apache server log parsing script ended being so useful at uncovering hidden issues last month that I decided it was finally time to add unit tests and see what issues they could uncover. Unfortunately the current code base wasn’t designed with unit tests in mind. (I don’t fault my prior self, it was important to hit the ground running those initial years and get content fast to start building an audience.) I was able to add a unit test case framework for my PHP and Javascript code, and enough unit cases that I did uncover one issue in a function very rarely called. All things considered, the time spent creating the unit test framework has not paid off yet, but going forward I’ll be sure to code with unit tests cases in mind and that will ultimately lead to less time debugging. It’ll also be useful for the next major code refactoring.

I found a couple of nasty bugs.

The first major bug was an issue in the way I was calculating time, and an example of premature optimization. I was trying to be clever and it bit me. (At least the issue wasn’t in the modal window which I had been working so hard on!) The new approach is not as efficient, but the differences does not appear to be human detectable. Since the time motivation suit is so important, I made sure to have tests cases to catch any further issues.

The second bug was the result of a third party library failing silently on less than perfect input. In my opinion that is unforgivable. Imperfect input is more common than perfect input online, and it’s often easy enough to do basic sanity checking to catch most issues. It also failed for URLs that included non roman characters. Rather than try and patch it, I decided to write my own library (also with unit tests!) with new interface that’s more suited for my use case.

My plan is to avoid third party libraries wherever feasible in the future. I keep running into issues with them. Perhaps it’s an unrealistic fear, but I do worry that the licencing might change on me after I’ve become dependent on one. And then there’s the time the api was completely changed on me

August 25, 2018

In Need of Practice Runs

I made a cardinal mistake when photographic my kids with their first day of school signs: no practice run.

The issue this time wasn’t incorrect camera settings, it was all the other things I couldn’t control. I was expecting an overcast sky like last year for a nice soft look, or at least a sun at a favorable angle. Instead I had full sun and harsh light. Lack of solid sleeping combined with over excitement made it difficult for the kids to sit still. The sun wasn’t right, and the mood wasn’t right. As a result, the picture wasn’t right. I do have many funny outtakes, though, including Alexis holding standing in profile with her sign as though it’s a mug shot.

There’s a trade off between the idealized and authentic in photography and I definitely err on the side of idealized.

When I look back at the year’s photos, I’m happier seeing the best ones, than the most authentic ones. It doesn’t bother me if a photo is a staged recreation, or taken a few days early or late. To be honest, I usually don’t remember those details anyway. It does bother me if the photo is technically flawed. It does bother me if, when I see the photo, my first thought is how I should have or wish I had taken it.

What I should have done was taken a few practice photos with our “first day of school” sign the weekend before, when we weren’t under a time constraint. If the lighting was bad that day, or the girls just weren’t in the mood, we’d be no worse off. On the other hand, if we ended up with a great photo I’d have a back-up shot I could potentially use for my highlight reel if need be. True, it wouldn’t be authentic, but it would have taken the pressure off on the actual first day of school.

Rather than practice shots this time, however, I did “retakes” a few days later which ended up much better. It was too late for my highlight reel this time, but at least I have them.

August 13, 2018

Dana at Seven Months

Dear Dana,

I must have blinked. In the span of what feels like just minutes you have become a vastly different baby.

You are very aware of your surroundings these days. You even seemed aware that Mommy was sleeping in the same room with you, though you couldn’t see me from the vantage point of your crib. That awareness was starting to impact your sleep. There were too many nights when I inadvertently woke up when going to bed myself, or because I rolled over in my sleep. There were times I’d awake in the middle of the night and it seemed like you were looking over, waiting to see if I’d rise. So, at the start of August, we decided to move your crib back into to your own room. As with all transitions, it was harder for me than for you. You woke up one additional time the first night, but that was the extend of any sleep disruptions for you. I, on the other hand, still get a little sad when I walk into my bedroom and you’re crib isn’t there. I miss having you so close.

I may not have had a chance to put together the nursery quiet like I wanted, but that hasn’t hampered your enjoyment of it any. You love the new toys, and the black out curtains help keep it cooler and darker than mommy and daddy’s room which I’m sure is what’s helping you nap for longer stretches more consistently during the day.

Another transition that’s coming up? You’ll be out of the baby bath in the very near future. You’re almost too long for it, and definitely too mobile. Being the momtographer that I am, I took some “last day in the baby bath” pictures, and put them side by side with your “first day in the baby bath.” It’s incredible how much you’ve grown! (And you sure do love your toes!)

You took six onces from a bottle for the first time last week, and you’ve gone from eating half a stage 1 puree, to two stage 2s. You eat a fruit at lunch time and a vegetable at dinner. So far vegetables are the clear favorites. Squash is number one, and you prefer peas and green beans to apples or peaches. You are just not into anything sweet. I hope that lasts! Trust me, you don’t want to inherit Mommy’s sweet tooth. I plan on adding some yogurt for breakfast into your diet very soon.

Your favorite things these days are your sisters, your toy remote and your jumperoo. You will use any piece of fabric near you to play peek-a-boo: burp cloth, mommy’s shirt, the towel. You’ve gotten quite good at it, and can even play by yourself!

You’re up to the 82nd percentile for height, 60th for weight. That’s incredible given where you started from! You will always be my baby, but you are not not so itty bitty anymore!

Love Always,
Mommy and Daddy

What’s a textbook sign that you’re a classic over-doer? Geeking out to your todo list. Not the list itself, but specifically how you organize it. This here is my third post on the subject. I think I need to check myself in to Todo Lists Anonymous.

I fell behind, again. At one point my weekly task list had nearly 50 items. Once my list gets that long it becomes really hard to see what I need to do at a glance, and I sometimes miss critical details. Most of those tasks were cleaning related and not time sensitive. I wanted a way to mute my cleaning project so I could be sure I didn’t miss anything important while I got myself caught up. My chore app (todoist) doesn’t provide this functionality, so I needed a work around. I also wanted to make sure I knocked off a non trivial number of non-reoccuring tasks each week or I’ll never get on top of things. The solution I came up with works for both.

A little background: the todo list app I’m using is Todoist. It allows me to create sub projects, and sub tasks. I can color code projects, set individual task priority and (when I fall behind) reschedule everything with a single button push. The higher priority a task has, the more immediately it’s rescheduled, but todoist tries not to overload any one day. Let’s say it’s Monday, there’s 10 items due Tuesday, and the rest of the week is mostly unencumbered. Todoist will likely schedule the highest priority over due tasks on Wednesday and the lesser priority tasks later in the week.

Setting the priority flag for every non-cleaning task would be a little ridiculous, not to mention time consuming. Besides, it loses its meaning if everything in a given project is top priority. I needed a different solution.

Since Todoist relies on the priority flag when rescheduling tasks I like to reserve it for things that really shouldn’t be pushed back or could have a negative consequence. Failing to change filters could make appliances less efficient and shorten their life span. Forgetting to clean the washing machine could contribute to mold build up, but it’s less likely. There’s no harm in ignoring dust bunnies. By using the priority flag this way I’m sure I’ll still complete them in a reasonable manor.

Todoist let;s me set a color code for each project. I opted to use the same color – grey – to represent low priority sub projects. I created sub projects “reoccuring” under household, business and personal. Now when I look over my weekly todo list my eye naturally jumps over the less important grey tasks for the non-grey ones. I can also see the ratio of important non-reoccuring tasks to reoccuring tasks in my weekly productivity view.

This way I can be sure I’m making forward progress each week. If my weekly bar is mostly grey, I’m not. My goal is thirty tasks a week (todoist’s default goal setting), and as many non grey tasks as possible. It would be easier if I was better at sticking to my 5 minutes per task rule. Business related tasks like debugging especially usually end up taking a bit longer. Ah well, it’s still forward progress.

As an aside, I also have a weekly re-evaluate and organize my todo list. Definitely over kill. Don’t worry, it’s in a grey less important reoccuring project.

July simultaneously both blew away expectations and disappointed. I earned $1,355, over double of last month and well over the $1,000 target I initially set for myself when starting self employment, but I also had a 10% reduction in audience size.

My initial fear about the increased revenue was the additional ad clicks was due to misclicks, unintentional clicks on ads. A bug in the new interface could move the ads too close to app buttons, causing accidental clicks. That would drive down user experience and hurt my ultimately bottom line long term. (Not to mention if Google thought ad clicks on my site were low quality they may elect not to advertise with me.) Fortunately, that does not appear to be the case. Revenue has been consistently up since the new launch. It’s up among all devices and across all apps, though Time Until saw a considerably larger increase than the other apps. I have also verified there is still a significant separation between app and ad on all major platforms.

My working hypothesis is it’s a combination of factors. Revenue up across all platforms and apps could indicate an update on Google Adsense: better ads leads to more clicks leads to more revenue. It’s also possible that with the new launch and interface tweak the html changed in a way that made the page more accessible to the google spider allowing it to choose better ads.

The new admin panel is already proving invaluable. One of the new features was a view that groups all apache messages by type – warning, error, etc – in order to make it easier to see what’s going on with the site at a glance. This has lead to the realization that visitors are using the apps in some ways I haven’t anticipated. For example, I was intending the name blender to be used with single names, like Sarah + Emily, but found some visitors were imputing multiple names, eg Emily Elizabeth + Charlotte Rose. I only detected this because the space caused a php warning message. It was technically working, but the blended names were a little wonky. The tool now handles this use case much better.

The new error log binning also helped me uncover a spelling mistake in a URL. Since it was a one character typo and I use automatic spell correcting on my 404 errors, the spelling mistake resulted in a 301 redirect message to the right URL. As a result, a human would never notice it, but it could affect web crawlers and therefore ranking & indexing.

Overall errors are down to 0.003 per user. About 80-90% of the errors are non-linking 404 File Not Found errors. This includes instances that are clearly probing to see how my site is put together, and possibly looking for vulnerabilities. (“/admin”, really? I don’t rely on security through obscurity, but at the same time I’m not going to make it that easy for you.) I’m not seeing any more message from Dreamhost about the server being unstable, but I am seeing some indication in the logs that Datayze is under heavy use and that can cause hiccups. Since I wasn’t monitoring the logs before, I don’t have a frame of reference for what’s expected given a site of this popularity. I plan to continue to monitor the situation. At least now it will be easy to switch servers should the need arise.

Finally, I launched Time Since, a companion app to Time Until.

« Newer Posts - Older Posts »