Work Through Meeting Times To Gain Time

Today’s post is about a little mantra that I created that helps me deal with meetings that start late or not at all. It probably increases my work ability by half an hour a week.

The mantra developed when scheduled remote meetings kept getting forgotten by the other party and severely delayed or postponed. I would typically be ready five minutes ahead of time, and then fritter away twenty minutes or so, not wanting to get deep into any work. Then I would be a little demotivated for another few minutes when I realized the meeting wasn’t going to happen and that I wasted a lot of time.

When I realized that this kept happening, I needed to tell myself that it was OK to work through the scheduled meeting time, and if I was interrupted, that it was not a big deal. I made a post card saying: “Work Through Meeting Times To Gain Time” I have found that thinking about this card has helped me be much more productive in this uncertain time.

At first I worried that I would come into the meeting cold and appear dazed if I was in the middle of working on something or thinking about something. While this is somewhat true, by the time pleasantries are exchanged and I get a chance to review my notes or the project backlog, I have a good sense of what I need to bring up and have composure.

While the interruption may seem like a bit of a stress, I am going to get interrupted one way or another. But if I can get fifteen more minutes of useful things done, then it is a win.

Catching up on email or something else that needs to be done that can be interrupted might be good, but staying in the flow of difficult tasks may be better. Even better, I can write out that context. Alternately, taking low hanging fruit like cleaning up project management or continuing researching are solid approaches. If I have a physical meeting, bringing a few pages of reading might be a good time filler.

This approach is like chopping a board in karate. If you try to just chop the board, you will often not break it. But if you focus on chopping through the board, you will strike with a lot more force. In the same way, working only until the scheduled meeting start time leaves a lot of energy or time that could be used well instead.

If you have a meeting scheduled, consider whether this strategy would help you save time and get more work done.

Migrating from Octopress to Jekyll

I mentioned in a previous post that I was interested in moving from Octopress to Jekyll because it seemed more supported. I ended up doing it and it took less time than I thought it would. Here’s a quick recap summary.


I created a new Jekyll 2.0 project and then:

  • copied over the existing posts
  • copied over the debug blog posts
  • copied RSS
  • copied existing styles and javascripts
  • generally made sure everything worked as before
  • got comments working with Disqus

New publishing strategy

To get publish my blog, I previously used a hand-rolled script to copy files to S3. I thought “there has to be a better way”, and some basic research revealed s3_website. This gem rocks. I would recommend it for any Jekyll site deployed to S3. It reduces code that I have to maintain. But wait, there’s more. It checks what is currently on S3 and uploads only the diff. When it figures out what to upload, it can upload gzipped versions in parallel to speed it up. Deploys can go from a minute to about ten seconds. Plus, it has great support for redirects, which I used to give some existing posts and other resources some better names.

I made a staging environment to test out the deploy process and that helped. s3_website also has a --dry-run switch that may come in handy for testing out deploys.

Clean up scripts

While I was at it, I cut down the large generated Octopress Rakefile and replaced them with standalone Bash or Ruby scripts. I think it is better because the scripts are a bit more modular than having one big Rakefile with a bunch of dependencies.

Jekyll relative / absolute URL plugin

With the different environments (local, staging, and production), I wanted a way to specify “the version of this file in this environment”. I also want to use the absolute URL of resources in production so that they are accessible in feed readers. (Subscribing to your own blog is a great way to see issues that subscribers might run into.) I think that I cribbed this partially from Jekyll’s documentation and added some extras. Here’s the plugin:

# Use absolute URLs so images and such show up in feed readers, etc.
# but allow us to preview locally before pushing up images.
# usage: 
# output:

module Jekyll
  class AbsoluteUrlTag < Liquid::Tag

    def initialize(tag_name, text, tokens)
      @text = text
      @text = "/#{@text}" unless @text[0] == '/'

    def render(context)
      config = Jekyll.configuration({})
      base_url =
        if ARGV.include?('--drafts')
        elsif ENV['staging_deploy']

Liquid::Template.register_tag('absolute_url', Jekyll::AbsoluteUrlTag)

In your _config.yml you would specify the different configuration variables to make this work.

Smarter quotes

I’m not sure what the best Markdown engine is, or what the default or desired one is on Jekyll, but this seems to work well for me:

markdown: redcarpet
  extensions: ['smart']

The last part gets me “smart” (curly) quotes. It was a bit difficult to figure out from the documentation how I was supposed to figure that out.


Jekyll 2.0 provides better and more native draft support. This is a win for me since this is the workflow that I would like and it is less code that I need to maintain.

Systematizing Dinner

“What’s for dinner?” is the refrain heard around the world at around 5 PM. What if you knew the answer to that and had a healthy meal halfway cooked every night of the week?


There are clear benefits to coming up with a system for dinner. You can decrease the time, money, and effort you spend on fulfilling basic food needs. You can also consider what kind of meals you would like to eat and make sure they are healthy.

To accomplish systematizing dinner, we ended up going with a subscription meal planning service. I’ll give the overview that they have on their website, as it does a good job of explaining what the service is:

The Fresh 20 is a meal planning service, created for busy families and singles who want to eat fresh, healthy meals, and save time and money. Our meal plans rely on simple, healthy, homemade lunches and dinners using just 20 fresh, seasonal ingredients per week. No more grocery lists with 80 items that will eventually go to waste. Our meal plans are carefully created to utilize everything on the list so you can stop throwing money down the drain. The Fresh 20 mixes and matches a small list of ingredients to create 5 balanced meals that play off each other. We include detailed guides to meal prep, original recipes everyone will enjoy (even picky eaters) and motivation to help you stay the course on busy weeknights. Because we are committed to our customers, and to health and happiness for all, we now offer Vegetarian, Gluten Free, Kosher, Meals for One and Lunch, in addition to our Classic Meal Plan.

How It Works In Practice

Getting stuff and prep

We go to the store one day on the weekend, and don’t need to run to the store during the week since we have a complete list. We can grab milk and eggs and such as well. Making this a habit on the weekends helps us make better choices during the week. So this takes an hour or two after you consider driving and parking and such.

Each week, you get a list of things to prepare on the weekend that will speed up your meal creation during the week. This is known as “prep”. You might do things like marinading meat or cutting veggies. It doesn’t take that long, about an hour a week for two people. The benefits during the week are massive. Typically we can just throw a few things into a pot or stove in certain orders, and the end result is delicious.

The meals themselves take between half an hour and an hour to make. Most of this time is waiting for things to cook, not active engagement. One positive is that you will have the ingredients you need on hand, so there are typically no last-minute trips to the store. I consider the time to be about equivalent to going out to eat after including cleanup.

About half of the time the meals are simple enough that one person can handle them. It just kind of depends on our schedule whether we cook together or not. Catching up during the meal preparation process is nice though.

Financial considerations

The service itself is about a dollar a week. When you consider how much time and effort it would take to come up with a similar recipe guide, it’s a pretty good deal.

I’d say we typically spend between $100 and $125 a week on groceries. That includes the ingredients for dinners for the week and our typical other staples (breakfast, fruit, milk, yogurt, etc.) We typically get at least a few lunches per week off of the leftovers from dinner, so that is a benefit as well.

Other benefits

One of the biggest benefits is knowing what is for dinner on any given day. We don’t need to come up with a recipe or run out to the store. This saves a lot of time and thinking, especially when hungry after work (see ego depletion.) No more being hangry and trying to figure out what to eat.

We like the variety of the meals and are typically impressed with how many variations of foods they use. We have cooked mussels, dumplings, soups, fish, and meats, and prepared delicious salads, salsas, and pestos. It is much better than cooking the same eight meals that we typically cooked.

Cooking many different types of meals has increased our confidence in cooking. When you cook five new meals a week, you get a better sense of what elements you can fudge and what recipes need to be followed closely. There has only been one meal that I think we messed up badly enough that we needed to scrap it entirely. :)

I think the meal choices are pretty healthy. They try to use seasonal fruits and vegetables to decrease the cost and increase the freshness and variety. I wouldn’t mind fewer carbohydrates and more vegetables, although it seems like we tend toward that in our meal preparation so it works out.

We appreciate that there is less waste, as generally by the end of the week we have used most of the ingredients. Extra things like mint or onions can be used for other recipes. We use the leftovers for an easy an inexpensive lunch.

Possible cons

It’s hard to know how much food you will get from each recipe before making it. Sometimes cooking one meal gives us enough for dinner and leftovers for days, and other times we don’t have any leftovers. The meals are supposedly for four, but it could range from two to four it seems.

I think if you were a picky eater or really didn’t like certain things like onions that you might have a hard time. I think we generally eat most anything, so it has not been an issue.

There are meal choices for one, but it seems like it would work best if you are cooking for multiple people from a time and variety perspective.

Anticipating criticism

Someone could argue that with the time and money spent that we are not really saving all that much. Why take hours to make food when I could be working instead? I would have a few arguments against this:

I enjoy cooking, so for me, it is a fun activity to do with Monica and reconnect after our day apart.

I don’t think there is much time savings versus going out to eat by the time you get there, order, wait for food, eat, wait to pay, pay, and go back home.

I think that the opportunity cost is a bit overrated. Typically I would not be working during this time anyway. I think there are diminishing returns to working more in the evenings and it is nice to have recreation (re-creation) with cooking to balance things out.

Other solutions?

While I’m pretty happy with this solution for now, it would be interesting to see what other options there may be. How do you address needing to eat? :)

Addendum: Wes Winham pointed out that “ looks like it might combine well with your dinner system”. Good point!

Older Posts That Are Still Interesting

Here are some short posts (long in aggregate) that I wrote on a throwaway blog on Posterous around 2009. Posterous got acquired by Twitter, and I didn’t like it all that much anyway, so I exported and sorted by interestingness. Fair warning: they are a bit rough, but might be useful.

How to Figure Out If You Should Get More Education

I was talking to a woman in the information security field last night. She talked about getting more certifications a few times. I say to her, “In software, a lot of times certifications are kind of a joke.” Meaning, a lot of certifications are merely memorizing the documentation or don’t really show that the person knows what they are talking about. She said that many of the certifications were useful–but not without the proper experience to back them up. When she was hiring people, she would first sort through the resumes to find people with the certifications that made sense, and then approach those people first. The fallback was the people with fewer certifications. However, she wanted to see if other people thought the same way.

Next, she said something that I found very interesting. She said that she created two resumes for herself and sent them both to a few companies in her field. In both, she used different names. In the first, she listed her current skills, experiences, and certifications. In the second, she did the same but also listed the certifications she was considering going for. If the second resume got many more responses, it was clear that the certification had market value.

I thought this was an effective approach because she got information before needing to actually take the time to pursue the certification. At first, I thought it was similar to split testing, but what made it interesting was that she was not trying to optimize some asset she currently had. Rather, she was optimizing for future actions. It reminded me a bit of lean startup techniques, in that she was testing a value proposition rather than building the product first and seeing who would buy it later. For something that might take a couple of months of nightly study, it seemed like something worth testing first. I’ve long thought a useful technique has been asking the question, “What are we trying to learn, and how might we learn it faster?” This is undoubtedly orders of magnitude more effective in terms of ascertaining the value of a certification.

One of the signals a certification gives is that the person is willing to stick with something long enough to get it, and also has an interest in doing something in that area in the future. So it can be useful, but not universally. There were some people with a lot of certifications but only a year of experience. These people would likely need to work for a bit to get more broad experience before they would be able to effectively use their certification knowledge.

Clearly the market value of some educational experience is not the only thing you should consider. Is it going to make your career more interesting or add meaning to your life? But these are questions for another time. I hope you enjoyed this technique.

For more on split-testing in the physical world…

Split-testing Online Profiles

Occasionally while going through personal writing, I come upon an idea I wrote down in the heat of the moment and that seems good later. I have a Vim function that prints out the date, so that’s how I start personal writing entries.

20091210 - 0934

I had a pretty powerful chain of connections this morning while washing out my oatmeal. Basically, I thought about split-testing dating profiles to optimally recruit candidates. To get the best results, these profiles could be split among various cities to get normalization of the values. For example, using the same profile, but in different cities to see how people differ geographically. Another would be to have the same profile with a different picture to see what the effects of the picture have on the responses. You would then see the types of profiles or people that respond to your profile, and tweak these to be closer to what you want. Basically this is a mechanism to increase the chances that you are communicating what you want to communicate to other people.

The “whiz-bang, throw my hands in the air” realization is that this could also apply to companies that are recruiting. This was basically the fruition of a month of background processing. You could create multiple profiles on different sites and even on your own main site and see what result using different messages have on the quality of the candidate pool

So this is a way of understanding what portions of your communication are working effectively, and where you can improve your signaling. If I split test interests and “liftin' weights” gets a better result than “weightlifter”, then I have more insight into the funnel process that I’m working on. Is my call to action effective for the people that I’m trying to attract? Do I really understand their problems and where they are coming from, or am I focused solely on myself? One problem with this process is that the results are pretty subjective. Hits might not be quality hits, etc.

This was probably inspired by OKCupid’s blog and reading stuff about Lean Startups.

Blackhat Twitter Technique Thoughts

As this is my off to the side blog for exploring controversial or experimental ideas, I figured I’d post here. Here’s a potential technique for getting Twitter attention that I’ve been thinking about for the last couple of weeks. I haven’t actually tried it, but it would seem to work well based on a few Twitter mechanics. It relies on the following things:

All About @ Replies

First, @ replies at the beginning of a tweet are filtered out of people’s tweetstreams who are following you but are not following the person with whom you have replied to. For a while in Twitter, you would see all @ replies. However, this was equivalent to listening in to conversations that you had no interest in, so it was annoying. Nowadays, Twitter conversations (at least on the official Twitter clients) that are between two people that you follow show in your tweetstream.

Examples to summarize: if A follows B and C but not D, A will see the following tweets in their tweet stream (timeline):

  • B tweets: this is a normal tweet
  • A tweets: Do I see my own tweets?
  • C tweets: @B hey B, what’s up
  • B tweets: @C hey C, not much, lolz

However, A won’t see any of the following tweets: * D tweets: this is my tweet that won’t be seen by A or anyone not following me * D tweets: @C yo C * C tweets: @D ahoy D

Hashtag Hijacking with filtering

Next, people at conferences often continually scan the conference hashtags out of boredom, to explore the backchannel, and to join up and have meaningful experiences with people that are interested in the same things as they are. Twitter Searches for these hashtags will return any tweets with those hashtags in them, including ones that start with @ replies.

We can use this mechanic to effectively filter the range of people that see the tweet to only people who are searching for the hash tag. Example:

You tweet: @someonewhodoesntexist this is a great post related to the conversation we had #conf2011

No one follows @someonewhodoesntexist so any followers you have won’t see the tweet. However, anyone searching the tweet stream for the hashtag #conf2011 will see the post anyway. Bonus points for misspelling conference luminary names or just using them outright to get RTs and social proof in the hashtag stream.


What you get is a hyper-focused stream of likely early adopters or people interested in your product area to show early products or ideas to. Often people who are not even at the event but are still interested in the proceedings will be tuned into the conference hashtag “channel”. The interesting thing is that it’s not spam in the conventional sense of messages to one account or to a mailing list. This probably wouldn’t work well for established products.

Note that people viewing your profile directly can still see the @ reply-prefaced tweets. In order to not be marked as a spammer, it would help to have tweets at least tangentially related to the conference proceedings. If it’s an iPhone dev conf, your iPhone app beta signup might be a good thing to tweet about. I could see using various fast prototyping events (Startup Weekends, perhaps) to get tweets and views for products that are early stage. Creating an anonymous or one-off account to do this would probably be effective if you had an existing brand.

Of course, figuring out what conferences are out there and which would be most useful is a non-trivial exercise (based on the tools that I know.) Also, tweeting regularly in this fashion would be a manual process unless someone writes tools to do it. Factors of a tool would probably take into effect hashtag stream velocity to automatically tweet (as the stream is ephemeral, so repetition can be effective if not done too often.)

Obviously I’m not advocating this ( blackhat was in the title :) ), but it seems like an interesting hack based on how Twitter is actually used. What are your thoughts, and have you seen this in action anywhere?

Marriage as Technology

Mating equality

Having people pair off in monogamous relationships ensures that everyone can mate. In contrast, polygamy means some men will fail to find wives, and promiscuity results in mating inequality based on attractiveness.

“Marriage is an institution; it places artificial limits on women’s choices. To repeat: Nature dictates that males display and females choose. Monogamy artificially strengthens the male’s position by insisting that 1) each female must choose a different male; and 2) each female must stick to her choice. Monogamy entails that highly attractive men are removed from the mating pool early, usually by the most attractive women. The next women are compelled to choose a less attractive mate if they wish to mate at all. Even the last and least of the females can, however, find a mate: For every girl there is a boy. Abolishing marriage only strengthens the naturally stronger: It strengthens the female at the expense of the male and the attractive at the expense of the unattractive.” “Marriage, like most useful things, was probably invented by men: Partly to keep the social peace, partly so they could be certain their wives' children were also their own. The consequences of marriage must have appeared soon after its institution: the efforts previously spent fighting over mates were replaced by strenuous exertions to provide for, rear, and defend offspring. No doubt surrounding tribes wondered why one of their neighbors had recently grown so much stronger. When they learned the reason, imitation must have seemed a matter of survival.”

The Wikipedia article on the value of monogamy leads me to wonder if marriage can be thought of as a long-ranging technology with adoption curves? This thought-process was suggested by Venkat’s post containing a concept that the notion of a “firm” is a technology with a hype cycle. This might imply that marriage as a technology has certain ranges of usefulness and adoption rates. Upon re-reading the excerpt, I notice the “like most useful things” of the last paragraph seems kind of strange. Perhaps it’s a Wikipedia openness artifact, but it seems to imply that “most useful things” were “probably invented by men”, which I don’t think makes sense. So it would be interesting to examine the source more closely.

What Breadsticks Taught Me About Negotiation

At a local sandwich shop they have a pizza/breadstick/dipping sauce/drink combo that I fancy. Yesterday I went in there and there weren’t any breadsticks, but I bought it figuring they could make some more. I asked if breadsticks came with the combo, and the guy behind the counter said yes and he looked around for a bit before going to the back.

He came back with a woman I had seen there before often and said that they were out of breadsticks. He offered me a refund. I kind of thought this would be a pain since I paid in cash. He then quickly offered me the last remaining personal-sized pizza and I thought that it sounded like a lot of food, but said yes. The woman smiled at me, and then the guy said thank you for working with us. He then said that they always give the last pizza away for free anyway. Once I said yes they quickly directed me to where I could find the bonus pizza. I didn’t have much time to change my mind.

This last sentence he said was an interesting development because I would have felt like they gave me a better deal if I didn’t know that they always gave the last pizza away. Maybe he said that to make me feel better about our transaction. All in all, it would have been more effective to not tell me what his costs were like.

The setup suggested that an effective strategy for small coercions is 1) offer something mildly unpleasant then 2) offer something mostly pleasant but at small cost to yourself. After hearing about the breadsticks being out and the refund offer, I was preparing to counter-offer getting some chips or something more substantive. However, since he quickly offered me a better alternative, I figured it was fine.

The woman as third party was an interesting element. I am typically insusceptible to guilt, although something about her mannerisms made me feel afterwards that she somehow influenced me to accept the offer without offering my own. The fact that I have a small established relationship with this business means I feel pretty good about the whole situation though.

Could Subvocalization Lead to Readability?

A common writing tip is to read your writing out loud. I thought this was corny, but tried it out. When reading my work aloud, it was easy to spot where the sentences were too long or the flow was not quite right. I was actually surprised at how much better my writing sounded after doing this phase of the editing process.

My main idea or thought is: could subvocalization by writers lead to increased readability?

Subvocalization is explained well on Wikipedia. I generally try to avoid subvocalization when reading because it allows me to read faster. However, it could be that writers–who are generally quite competent readers–would benefit from more subvocalization to hear their words. Indeed, if a large portion of their readers subvocalize, then they have more incentive to fit the medium to the audience by making the words match the internal ear better.

Overall, I think the separate stage of reading my words aloud works well for me. It was just an interesting train of thought that I wanted to share.

Systems Designed to Discourage Engagement

@jchyip: “There is no apathy, only systems designed to discourage engagement”

I think this is an insightful quote. I would quibble with the idea that all systems that discourage engagement are “designed” to do this. I would rephrase to “There is no apathy, only systems whose design discourages engagement.” I think it implies too much conscious manipulation to create a system that discourages engagement. Kind of related to “do not attribute to malice that which can be explained by ignorance” idea.

However, it’s certainly interesting to consider whether the current political environment or a workplace was deliberately manipulated to discourage engagement or it was just an emergent, evolutionary, or incremental effect. Or how a discouraging system can be tweaked to be more hospitable to engagement. Further, the quote seems relevant to creating company culture, in that we want to create a system that rewards and encourages engagement. Starting with the right principles seems to be better than winging it and then changing over time, as the system reinforces what is already there.

Why You Should Explain Your Android App's Requested Permissions

I recently installed the Trello app for Android. Looking through the description, I saw a great example of explaining the device permissions that the app wanted (text below):

Trello Permissions Information

Here is the text:


For more information on our privacy and security policies please see

FULL NETWORK ACCESS - We use network access to communicate with and sync your data between all of your devices.

CAMERA - When you tap the camera button, we use your camera to enable you to attach a photo to a Trello card.

MODIFY OR DELETE THE CONTENTS OF YOUR USB STORAGE MODIFY OR DELETE THE CONTENTS OF YOUR SD CARD - We use storage access to store your data on your device so that you have fast access to it, even when you’re offline.

This is an excellent example of how to explain why the permissions requested are both necessary and useful to the user.


Let’s break the example down.


Here, Trello needed to create their own section of the description to discuss why certain permissions are needed. More on this later.

FULL NETWORK ACCESS - We use network access to communicate with and sync your data between all of your devices.

Good example of why they need full network access. Note that they say “” instead of “our servers” or “Trello backend”, resulting in a more human and understandable message. They also provide a benefit: you get syncing between all of your devices. Sign me up!

CAMERA - When you tap the camera button, we use your camera to enable you to attach a photo to a Trello card.

Here, it’s clear why the app wants permission to use your camera. Attaching photos you take with your mobile device by just tapping is a useful feature that Trello gets a chance to point out.

MODIFY OR DELETE THE CONTENTS OF YOUR USB STORAGE, MODIFY OR DELETE THE CONTENTS OF YOUR SD CARD - We use storage access to store your data on your device so that you have fast access to it, even when you’re offline.

Possibly the best one. They take some scary-looking permissions and explain how they are used. Users can understand that Trello is looking out for me to have a speedy app experience, even when I am offline. Last, they don’t say anything about deleting files, which serves to reassure the user.

The current state of affairs

Currently, many apps request permissions like “read phone status and identity”, “add or remove accounts”, and so forth. You may be an avid phone user or even app developer and understand what the permissions can do. However, consider the perspective of a nontechnical user. There is often no clear way to understand why all of these permissions are needed.

He or she might ask: “Will this app requesting permission to delete files going to erase my pictures?” Or maybe: “Will this app that I don’t really trust spam my friends?” Or: “Why does my alarm clock app needs to know about my phone call status?” (Reason: so it can smoothly handle a phone call happening when your alarm clock is ringing. Not entirely intuitive.)

Whether to install an app is some function of the user’s sophistication, their paranoia, and the app’s trust factors. Trust factors might include: clear description, nice icon, many downloads, positive reviews, and–you guessed it–understandable permissions. Some ideas of how people navigate a permissions model they don’t entirely understand:

  • The “YOLO” approach
    • Install everything and anything that looks useful. Soon to be spamming you.
  • The “head in the sand” approach
    • Probably the default approach. Just install the app if it looks cool and not overtly dangerous. Ignore permission description.
  • The “only install if I trust this app” approach
    • I only install apps that have really good ratings or come from a big name company. If permissions seem strange, don’t install.
  • The “read all of the reviews” approach
    • I read a bunch of reviews/comments to figure out whether this app is legitimate or not. Time-consuming.

If you are an app creator, one issue you face is having users that get turned off by permissions that they don’t understand or don’t want. I have seen several apps where people leave comments to this effect, and others that use no permissions and are praised by it in the reviews.

You probably can’t change a user’s sophistication or paranoia level while they are deciding whether to install your app, so the only thing you can really do is increase your trust factors. Use the minimum needed permissions and explain them to alleviate fears (even unfounded fears.)

Moving it to the app market

App markets would be well served by making an explanation of the requested permissions a formal part of the app description. I am not in a good position to say whether this should be a required or optional field, but at least providing a field attached to each permission and making it clear that this is a good practice would help users better understand the permissions their apps are seeking. Opting in is much easier than coming up with this structure on your own. Hence, I think permission description should be first-class field on the app description.


If you do one thing after reading this article, add a “permissions requested” section to your app description that talks in human terms about what permissions your app needs.

I’m curious to hear any other ways to increase the trust factor of your app, or what other description hacks you have seen that made installing the app more clear.