Last Build Date: Thu, 05 May 2016 06:55:32 PDT
Thu, 05 May 2016 06:55:32 PDTWell, I signed up to coach Riley's soccer team this spring. It's been fun so far, but the same issue I dealt with every season in the past seems to be rearing its head again -- how to do substitutions.Every season, I think that I would like to concentrate more on the live game than having to deal with the substitutions, and if I could have someone else take care of that task, I'd have less on my mind during the game that I'd be able to participate/encourage/coach the players more. Alas, I have not been able to accomplish that. Still, I have spent a lot more effort this season trying to keep my head off of the bench and in the game.When you've got parents instructing their own kids from the sidelines, kids on the bench begging to go back in at positions that they can't play (after 7 seasons of coaching, I swear that any player that asks to play at striker has no business doing it), and a live ball in the game, trying to keep track of who's at what position and who's been subbed where is a living nightmare. It's absolutely the worst part of coaching soccer, in my opinion.I used to use this app called Soccer Dad, which is pretty neat, but isn't always the easiest to use on the field. It actually does a lot that would be great if I could concentrate on only that instead of that and the game, like keeping track of scores and assists, and tracking time played along with substitution data, and aggregating it for the whole season.My main problems with Soccer Dad are not obvious. You'd think the drag-n-drop features of the app would be easy on the field, but they're not. To access who is subbing where is a bit of a chore. If you want to work the game a little different than the app expects, it can resist what data you're entering, which is not what you want while everyone's screaming and the opponent has the ball.With 14 players playing 9v9, there's just no way to juggle 5 kids on the bench without some kind of aid. And so, as is typical with me, I've come up with a design solution.I want a way to do a number of very basic things, and so I have this list of requirements: The entire plan must fit on a 3×5 card. It should be easy to start a new game with starting positions. It should be obvious what players play well in what positions so that they can be subbed into the correct place. There should be a way to indicate alternate starting positions in case some intended starting players don't show up. It should be possible to see at a glance which player is currently in a particular position. It should be possible to see at a glance what position a player is currently playing. The card should indicate the frequency with which a player is subbed so that they don't spend a lot of time on the bench. The card should be fully operable with a pen/pencil. There should be room on the card for parent phone numbers in case of an emergency.I want to be able to run the entire game from a single card, and not have to think too hard about where a player can best play or who they can sub for (based on their time on the field).Initially, I created a card with a simple grid. Players were listed down the left side, and I wrote in their positions in the grid boxes. This proved inconvenient, because you couldn't tell at a glance who was in a particular position. As I subbed in players, I couldn't update the card fast enough to keep it accurate, and the whole thing became useless before the end of the first half. There was also no obvious way to keep track of how many times a player subbed, or where a player on the bench best fit into the game, and thinking about these things cost me precious time in the game. (Seriously, I've missed many major plays because I had to mentally negotiate which player to put in where.)My current iteration is a bit more thought through. Instead of a freeform position entry, I've created a full grid with the positions as labels across the top. &nb[...]
Mon, 25 Apr 2016 10:02:22 PDTOwning a house is fraught with endless repair and improvement work. Last year we had a new paver stone walkway installed from the driveway to the front porch. We've had to replace appliances, paint 2-story high rooms, repair holes in drywall, fix broken hanging ceilings, replace sink faucets, rewire switches and lights... the work is endless.I hear friends and coworkers tell me how they're constantly fixing and upgrading things. They build whole new walls in their house, or repair kitchen fascia, or any number of construction projects of wood, glass, or plastic that leave me wondering a simple yet mind-boggling question: Where did you learn to do this?Sure, anything these days is as simple as looking it up on the internet and following some instructions you find there. But, at least for me, there is a wide chasm between the simple instructions I find online to the actual production of a finished project. I'll frequently find what I feel are simple instructions for a particular project, only to end up at the hardware store staring at fifteen different kinds of raw materials, each with their own specific purpose, none of which were indicated in particular in my instructions.For example, over the weekend, I planted a couple of posts in the back yard with the intent of hanging some garden wire for my hop vines to grow across. I knew from when we built the raised-bed garden that good wood for this would be cedar, since it's naturally resistant to bugs, and didn't have the preservative chemicals in it that would ruin my plants. Beyond that, I didn't really know much of anything.Berta kept telling me to get cement. I don't know anything about cement. I've seen my dad pour cement into post holes to set them, but we'd had a wheelbarrow for mixing the cement, and had a lot of holes to fill, and a lot of stone, too. I don't know what mixture of stone to cement is required, or even if stone is necessary for my small project. Would I need a wheelbarrow, or could I mix it in the hole somehow? When I arrived at the cement aisle in Lowes, there were ten different kinds of cement, and none of them gave a good indication of what particular use they were good for, nor any mention of the tools required for their use.I suppose I could look all of this stuff up. Yes, in fact there is a video on the Quikrete website explaining how to do exactly what I need to get done. I guess I should have looked there first? How would I even know what to look for, though? And this is a topic that I've even seen someone else do. How am I expected to know these things? And how did the people that seem to know how to do this without having to look things up learn them?I'm guessing this is at least similar to how I can do computer things that people ask without having to look up a ton of stuff. Nonetheless, in some ways I feel more helpless without the knowledge of home repair than about computers. I mean, everyone has a home (to some extent). You should know how to do some basic home repair. I get excited when I replace a kitchen faucet, and it seems like that should be basic knowledge.I'd like to learn how to appropriately, effectively, and quickly run wiring through my walls. That would solve a lot of my problems, and could actually save me some money. I guess I'll have to look this up.I've got a project with my scroll saw that I'm anxious to start and get some practice using it. This should be fun. Now I just need to learn where and how to buy wood. And saw blades. And how to stain wood. Sigh. [...]
Tue, 23 Feb 2016 11:10:59 PSTRiley and I recently visited the Franklin Institute with Pack 32 as part of a "camp-in" event. We packed our sleeping bags and camping mattresses, and rolled up to the Franklin, ready for some science.We arrived quite a bit early so that we could have dinner outside of the museum. We took an Uber to a ramen place I know, since Riley loves ramen. We both had a bowl of utterly unreal ramen -- There's nothing like real ramen, not the dried kind you get in the little orange bags. We both opted for the hard boiled egg. It was super tasty.After dealing with some taxi weirdness getting back to the Franklin (the Uber we requested got pulled over by the cops on the way to pick us up!), we met up with some scouts near the big statue of Ben Franklin, and headed with our gear to our "camp site" in the Earth Science exhibit.In the camp-in, each group is assigned an exhibit in the museum in which they make camp. You simply spread out your bag on the floor and you're set up. No tents! The Earth Science exhibit we were in talked all about global warming, earthquakes, and erosion. We camped down in the erosion section, which had a padded rubber floor since there was a water trough. It was the only padded floor I saw anywhere in the museum, so we had a good pick!After we were set up, we went to a presentation about sports science, where a scientist gave some demonstrations about why warming up is important and how it affects your body if you don't warm up before doing sports. Several of the scouts in Riley's den assisted the show.After the show, we headed to the observatory, where we got to look through the big telescopes on the roof of the museum. This is a special treat since you can't ordinarily use the telescopes during the museum's open hours (since it's daylight). Unfortunately, there was a lot of light pollution, and only a few stars were visible. It's almost a shame to have these big telescopes in a location that has such poor visibility. Nonetheless, it was neat to be able to look through them.We spent some time in the sports science exhibit. Many of the other scouts were interested in the sports exhibit, and that's it. I think that our scouts do not get as much exposure to awesome science as Riley, because he quickly (in comparison) became bored of trying to run faster or jump higher than everyone else over and over, and wanted to see other exhibits. So from here, we parted with the rest of the pack to check out some of the other cool exhibits in the museum.We spent a lot of time in Ben's Lab, where there were physics experiments and optical illusions. That is always a fun place in the museum. We played with some experiments with light, which were really neat.It was then time to re-join the pack for our planetarium show. I think at some point while we were in Ben's Lab, the rest of the pack decided to order in pizza, but we were ok since we'd already had ramen. But as a result, the rest of the pack showed up just before the show started and got different seats, whereas Riley and I got to lay down dead-center, which was pretty cool. The show was narrated by Neil Degrasse Tyson, although I can't even tell you now what it was about. Some pretty generic space content, is what I suspect.After the planetarium, we all had to head to bed. We were worried that some of the lights on the displays wouldn't be off, but they were all eventually turned off by some custodians. The floor was not too uncomfortable, but some of the other scout dads snore pretty loudly, and it was hard to stay asleep. One of the other scouts was sleeping opposite me from Riley and kept rolling over and slapping me all night. He also kept asking me where the bathroom was when I was trying to sleep. This made me irritable at night, and groggy in the mor[...]
Tue, 24 Mar 2015 18:27:04 PDTI recently asked via Twitter whether anyone still followed bloggers that did not have topical blogs. Do you follow a blogger that diarizes, rather than trying to sell you something, either directly or via ads? The overwhelming majority confirmed my suspicion that blogging is pretty well dead as an art. If you're blogging these days, you're possibly screaming into the maelstrom, unheard by anyone, being drowned out by the published content that built to suit.One thing I hear a lot is that social media has taken the place that blogging used to fill. If you had a desire to write something online in 2005, you published a blog. These days, you're writing on Facebook or posting a photo on Instagram. These venues, although they are not owned by the publisher, make sharing this content with peers easier. It is only possible to receive accolades of disembodied thumb-raised-fists via these venues. Of course their ubiquity and ease make them attractive even to the non-technical. Thereby blogging takes a hit.There is a line, I think; one that we have crossed in the past five years. Blogging is simply not done by personal bloggers anymore. Sure, there are a few out there. There may even be many, but the social aspects of blogging are dwarfed by the social cocaine that sites like Facebook let you snort with quick updates, quick comments, quick "likes". Consuming blogs is even more difficult now that the most popular RSS tools have gone extinct. My overwhelming gut feel is that the only bloggers that are getting any traction are ones that are getting paid to do it.It's an interesting claim, and maybe this is really what characterizes the line about which I am concerned in drawing. On the earlier side of this line, bloggers started writing and then became popular enough to earn money. On the later side of this line, bloggers seek to earn money and so develop a content strategy to do so. This leads me to think that, if we're not already there, then blogging is soon to be something akin to junkmail. It'll eventually get so bad that when we're looking at a blog, we won't even know if it's something worthy of our attention anymore.Carrying this assertion forward, I think we could assume that blogging simply isn't something that you do for social sharing anymore. What does that leave us from the point of view of constructing web applications?We are building sites these days that function at different levels: Single-page sales site - A single HTML page dedicated to giving you the essential details for an enterprise. Multi-page corporate identity - Usually "managed" with a page-editing tool, built with menus for navigating between pages that each describe an aspect of a business. Organization portal - Perhaps also incorporating an identity component, this site usually has an "intranet" that houses private files or functions used by the organization either internally or by the organization's customers/clients/users. News zine - This site aggregates the feature-length publications of authors of different levels of professional skill under a single banner, usually rife with ads. Game - A game. Data mining tool - This is a site that either collects or presents or both collects and presents information that it houses, like Google, IMDB, or even something like Spotify.What's not in this list? Possibly a lot of things, but I think I've covered things pretty well.Looking at this list, there is nothing here that requires a blog. No blogs. This leaves me wondering, if none of these things really require a blog, then why are we using blog software to build the web?Some fool is bound to try to suggest that, for example, WordPress is not blog software, but it's really a content management system. Yes, that's true, if the content the system was i[...]
Fri, 23 Jan 2015 07:04:04 PSTIn December, I received an invitation to purchase an Echo, a niche consumer device offered by Amazon. I took them up on the offer, and have now been using Echo for about a week.The Echo was easy to set up. You basically plug it in, then follow the prompts on a phone app to configure the Echo for wifi. It connects to your home network the same way you'd connect a Chromecast -- You connect to its private wifi network with your phone, then use the software to choose your home wifi network and provide the password.Via the app, the Echo was instantly connected to my Amazon account, giving it access to my music stored there. Presumably other services could be connected, but connecting it to Amazon Video doesn't make much sense since the Echo has no screen.Echo works by calling out the command word, which can be either "Alexa" or "Amazon", and then issuing a command. Saying, "Alexa, play the Defiance original soundtrack," would cause the Echo to connect to my Amazon music library and play the indicated album.The Echo is also able to answer basic factual questions, such as "Who was the third president of the United States?" and "What is the square root of 64?" and "Who is Kevin Bacon?" These questions are most answered with Mrs. Mitchell-satisfying 4th grade-complete sentences that include the salient part of the question, which is great since you then know that the Echo really did understand what you were asking. I've read some other reviews on the Echo, all of which seem to deride the accuracy of the voice recognition of the device. This is complete BS. The Echo is significantly better than Siri in both recognition and response. Siri hardly ever understands what I'm asking; The Echo underwent rigorous technical trials with 10-year-old Riley at the wheel, and passed with flying colors. Siri's answers are almost always "I found this for you on the web"; The Echo somehow finds the information you're looking for and provides a summary of it. Siri's voice even sounds somewhat robotic in comparison to the Echo's fluid tones.Even with the volume of the Echo turned up reasonably loud, the voice recognition has not failed us. I can only guess that the other reviewers didn't follow the instructions for placement of the Echo, which suggest that you place it away from walls and other audio obstructions.There are some neat features of the Echo. One of my favorites is the "Flash Briefing" which gives you a quick overview of the day's news, with topics configured via the phone app. The Echo will tell you the local weather, which seems like a pretty standard feature for such a device.You can add things to a shopping list with the Echo. This feature seems useful, but there are a couple of problems. First, the shopping list only appears in the Echo app. The echo app is fine for configuring the Echo, but is otherwise not what I would prefer to use for my shopping list. I'm not sure if I can share this list with Berta, or if she can even run the app connected to the same Echo, too -- haven't tried it, but suspect it will not work. But the real nail in the coffin of this feature is that we've had a SmartShopper for a couple of years now, and stopped using that only a couple of months in. We simply won't use this feature.There's a to-do list that's similar to the shopping list, but unlike the reminders in the iPhone with Siri, there is only one list. Once again, the list appears in the Echo app only.The Echo has a great timer and alarm feature. You can say, "Alexa, set a timer for 5 minutes," and in 5 minutes, an alarm sounds. You can ask how long is left on the timer, which is nice for baking cookies. You can similarly set an alarm with a specific time. The only issue I have with this featu[...]
Wed, 14 Jan 2015 06:18:13 PSTLooking at Facebook the other day, I saw no less than three recipes for what people described (in summary) as "the best easy dish ever". One of these recipes was for buttered spaghetti noodles with parsley. Is this the kind of food people typically eat?Buttered noodles is what I have when there isn't anything else in the house. That is to say, I consider the house empty of food when all that is left in the house is your "best easy dish ever".Yes, it is easy to make food. Maybe that's what you were trying to suggest with your recipe -- that food doesn't need to be complicated. But come on. We must have seriously different ideas about what "complicated" is.This is evidenced again in the recent cub scout father-son cook-off. Riley and I were the only pair to make something with meat. We made meatballs. Granted, some of the other dishes (all but the popcorn mix was a dessert) were multi-step recipes, but were for the most part boxed desserts.Our meatballs were part ground pork, part sweet Italian sausage. There were spices mixed in. Egg, cheese, and breadcrumbs. We mixed the meat by hand. We rolled the balls by hand. We (both Riley and I took turns -- yes, he participated in every step) sautéed the meatballs in a pan, then slow-cooked them in a crock pot. We made tomato sauce from scratch for them to simmer in, with tomato paste, canned crushed tomatoes, and spices. There was no box, no frozen meatballs.I'm puzzled by what passes for typical homemade dinner in a local household. Sure, there are nights when reheated frozen chicken fingers see our dinner table, but we also have nights where the kids help cook salmon. Berta's beef barley stew is pretty tasty. I can make some mean, flavorful wings from a pack of whole bulk wings. I am not trying to convince anyone that my sriracha-covered frozen chicken fingers are a delicacy on Facebook.Berta went to a Tastefully Simple dinner night with a bunch of meat recently. They were set to make meals out of the meat using the Tastefully Simple products. Well, it went ok, but the recipes were a bit... bland. Not just bland, but lacking imagination. With such great spice products, you'd think the recipes would try to make use of that flavor. Instead, the focus seemed to be on how you could use only their spices to make meat not-too-plain to eat after simmering in a crock pot all day.Berta had to add vegetables to their inexplicable "Italian" beef stew. What made it "Italian"? Maybe the parmesan cheese they said to add to the bowl? There was also cream cheese in it, which I've never heard of in a stew. Maybe I'm missing something, and that's what stew is supposed to be like? Based on the flavor, I think "no".Yes, the lack of vegetables was curious. In their last recipe we tried last night, the chicken was drenched in some flavorless cream-ish concoction. We put it over plain mashed potatoes (which I don't think were part of the recipe), and the potatoes had more flavor.We were not impressed. And I am left to wonder, if this is what people consider "great recipes", what the heck garbage were they eating before?I don't begrudge you your attempts at making food in your own kitchen. More power to you. But don't think that taking a jar of Prego (ugh, please) and adding some chopped onion to it makes your spaghetti recipe fantastic enough to mention. Ok, maybe it's a stepping stone for you to greater things, but at least be cognizant of that.My suggestion: Grab yourself a cookbook and learn to make quick meals with real food. It's not as hard as you think, and the rewards are great. [...]
Fri, 24 Oct 2014 14:44:30 PDT
I was recently reminded of this recording from ages ago. I volunteered for a Blogothon, wherein you write a blog post every half hour for 24 hours, and get people to pledge money toward a cause of your choosing.
Being me, I decided not to write a standard blog, but to create and record a podcast-style story over the 24 hour process. On the half hours, I'd write the script and post about the process, and on the hour I'd publish the recorded and edited audio of the script.
Mind you, this was ages ago (2005?) and was really the first time I'd tried any of this. There were a handful of technical difficulties, but in the end I managed to crank out 20 "episodes" over the 24 hour period, resulting in one complete story.
The old recordings were hard to listen to in one sitting, since each short bite had a 15-second preroll that got pretty tedious to listen to. So upon finding these recordings recently, I chopped off the preroll and tacked them all together into two large parts for easy consumption.
I present these to you here. Enjoy!
Thu, 25 Sep 2014 05:54:04 PDTI think I have found an unanswered electronics market: Developer headset.I have been hearing headphones with a microphone every work day for at least six hours for almost four months. My headphones are an essential part of work, because they connect me clearly to my remote co-workers, and to my programming pair (someone I cooperatively code with all day).I want to take a moment to dispel the myth of your built-in MacBook microphone being enough to function as a speakerphone. It's not. It's better than most, but I can still hear myself coming out of your speakers, and I can still hear all of the activity going on around you. It might be sufficient in a pinch, but it is not adequate if you expect to continue using it daily, and certainly not for my own use.RequirementsThere are essential features that I require that do not come in a standard set of headphones:Headphones must be wirelessI have no desire to be tethered to my computer with a wire. Many times during meetings, I will prepare food in the kitchen, which would not be possible with wired headphones.Wireless should use bluetoothMany headsets that are wireless require a special USB dongle that presents itself to the computer as a sound card and transmits/receives a signal between the computer and the headphones. My computers all have bluetooth already. An extra dongle, which takes up a precious USB port, is not necessary if bluetooth is used for the headset transciever.Battery must last at least 5 hoursI use my current headset all day. I charge it at lunch so that I don't have to plug it in.Charging cable must be standardI've had headphones that use some ridiculous custom plug for charging. I do not want to have to pack this extra, weird cable (and risk losing it!) while traveling. MicroUSB is preferred.Headphones must work while plugged inIn a seeming paradox, just in case I forget to charge the headphones, I need to be able to plug in the headphones to charge them while I am using them. I've had headphones before that would shut down while charging, which is unacceptable.Headphones must be over-the-earBy "over-the-ear", I mean "circumaural", such that the cups of the headphones must only touch my head, and not my ears. I can't have headphones crushing my ears all day. Likewise, the headphones shouldn't hold themselves on by squeezing my head -- they should rest on top of my head with a comfortable band.Microphone must include hardware mute buttonThere has to be a mute button on the unit, or some way to mute recorded audio without using software. My current headset has both a button and allows me to lift the microphone into a muted position.A setting must allow me to hear myself speaking mixed into the output audioThe other options are difficult to search for, but this is is the hardest one to discover, for reasons I can't explain. My current headphones sufficiently isolate sound to the point that my own voice sounds muffled. The software included with the headset (which only works on Windows), allows the microphone audio to be mixed into the computer sound. This happens inside the headset so that there is no delay. I can hear myself when I speak, and it is not so loud as to be overbearing. When I am unable to use this setting (as on the Mac, which I now use for work), the inability to hear myself causes me to start slurring my speech after a few days of use. This is an absolute requirement for a headset for me.Nice to havesThere are a few things that would be nice to have in a set of headphones, features that I've seen in many headphone sets while shopping for the perfect unit.Active noise cancelingThere are often sounds in the room that would be nice to n[...]
Tue, 09 Sep 2014 04:42:21 PDT
A random thought I had this morning: There are a lot of trucks that idle in our development.
I woke up this morning to the sound of, well, I don't know what kind of truck. Whatever it was, it was making some grinding motory racket outside at 6am.
This past week, some neighbors have been having work done on their roofs. The trucks that pull up outside simply leave their engines running. I'm not sure why. Maybe they need to be able to make a quick getaway if it starts to rain and they're on the roof?
The groundskeeping crew leaves their trucks by the side of the road. They're not idling, but the mowers and the leaf blowers they use all day are nearly incessant. Especially the leaf blowers. I have a theory that when the crew gets tired, they just turn on the leaf blowers and wander around. Outside my house. Where I'm trying to concentrate.
It seems like just in our neighborhood we're consuming a crazy amount of gas, probably unnecessarily. If there are communities like ours all over the world, that's simply a stupid amount of gas being wasted.
I think science should invest time in genetically engineering energy-producing grass. Grass doesn't seem to be doing anything else than eating up our fuel supply and wasting our weekends cutting it. Maybe grass should work for a living?
Fri, 05 Sep 2014 05:55:16 PDTI'm down this rabbit hole.My business debit card has expired. I have purposefully allowed this to happen so that I can close the account. The services that are still attached to it and that I want to keep alive need to be moved to a new account. One of those services is web hosting.I noticed that of all of the expenses, web hosting is the largest one. I spend $25 per month for one virtual server at Rackspace, while simultaneously spending $20 per month for three virtual servers at Digital Ocean. One of the Digital Ocean servers sits empty, waiting for the transfer of content from the server at Rackspace.So, to save $300 per year, I've decided to migrate all of my personal web content to the preallocated Digital Ocean server. Last night.Server ConfigurationThe new server is an Ubuntu LTS server. I'm running all of my web sites (there are 97 of them) via Nginx on this server, whereas I was running Apache on the old server. There is an exchange here of configurability for performance. Apache is easier to configure, and Nginx is less resource-hungry.Nginx uses fastcgi to route requests to php-fpm. I've configured fastcgi to use TCP instead of unix sockets because, counterintuitively to me, TCP is faster and more reliable.Incoming requests first hit HAProxy, which proxies the request to Varnish, which proxies the request to Nginx. Varnish caches built pages only on asymptomatic.net, since I haven't taken the time to see what other domains could benefit from a caching proxy -- there are probably many. The manual expiry of cached pages is quite complex, even on this domain.I have managed to configure HAProxy to failover to proxying directly from Nginx in the case that Varnish doesn't answer. This would have come in handy last night when Varnish decided to vanish for about 7 hours. Routing directly to Nginx is not ideal, but it's better than all of the sites going down.What I'm looking for now is a simple monitoring tool to ensure/alert that any of these services go down. Pingdom will alert me when the site itself isn't available, but it will not tell me when Varnish isn't doing its job properly and HAProxy is circumventing it.Remaining MigrationOf the 97 domains hosted on the server, there are a handful that still need to move. Some of them are simply just other domains that need re-pointed to this server. Others are more complicated node-based services that I will need to configure directly in HAProxy so as not to need to use an odd port for the service.I am pleased with the configuration of the environment so far. Apart from the mysterious Varnish outage, things are running smoothly. I have bumped the available memory on the server to increase the grease between rubbing components.What I might consider, as an experiment, is using Varnish's file storage backend instead of the malloc backend. Since Digital Ocean's servers are all using SSDs, write speeds should be reasonably quick. If reads are likewise speedy, there might not be a lot of difference between malloc and file based stores, and I'd be able to keep more cache alive. This would allow me to use the cache on more domains, since memory is in limited supply, whereas disk space is more easily obtained. [...]