It depends on the person but it's true for me. I tend to do my really hard/deep thinking in the morning and queue up stuff that I can do the rest of the day. The creativity that tends to appear more often later in the day and in the evenings end up being the cool stuff that bubbles up.
Maybe it is horrible :) I'll see how I feel in a month. But why not experiment? My desire to do this sprung from being tired enough after a day of work that I'd really only work on my stuff on weekends.
Truthfully, I do run on Thursday mornings instead of code because that day I have lunch commitments (I run at lunch the rest of the week). I plan to try mixing in more morning running with the coding, see how that changes things too.
That's what I do, well not always 5am... but I try! Any way ever since exercise became a habit I no longer need caffeine after lunch. The bonus is if you're super busy then you can skip the workout and do some extra work.
It might help to think of fitness as a self-improvement personal project. Track your accomplishments like stats in a video game, see fitocracy.com for example.
i wake up at 5am on weekdays to go to the gym. i'm on the 520am bart train, get to the gym at 6am, workout till 730am, at the office shortly after 8am before anyone else shows up.
the days i do this (as opposed to the couple days per week i sleep in later to take my son to school) i'm far more productive and content than the other days.
i'm hooked.
i sleep in on the weekends, but never sleep more than 7.5 or 8 hours anymore. i can wake at 5am without an alarm, though i usually set it as a backup. but i'm almost always awake at 4:57 anyway, so i get up.
I used to do this a while ago, while working from home. I woke up at 6am and had my breakfast right next to the computer, then would only do the 'morning routine' (shower, walking the dog, etc.) after my wife had woken up and gone to work.
It was incredibly productive. As the author say the cost of those two hours keep you focused (you know you are making that extra effort, so distraction isn't an option.)
Sounds like a great habit. There are some studies that indicate problem solving ability is highest when you're "groggy" so maybe skip the coffee. Many authors have developed the same habit during their early days when they had a day job. Mark Cuban said, "You're only at your best once a day."
I am a stay at home dad recovering from AML stim cell transplant. I have been trying to find time in my day to work on a personal project that I need to develop for myself and I think has a potential for profit. However with my busy 1 year old son waking up at 8AM(sleeps all night, which I am super thankful for), I can't find the time during the day to focus on a project. I get spurts during his 30-40 minute naps and when he is playing real good by himself, but as I get focused I am quickly pulled away. I have tried to be productive when I put him down at night, but I find I need to spend this time with my wife.
It is looking like I might become a 6AM coder soon. Seeing that my day starts at 8AM.
I had thought about getting up this early, but I just didn't think I could make it through the day with my semi-low energy levels.
However, I am thinking if I get up at 6AM, I can nap when my son naps for 30-40. As I read another post on HN that it actually is great to take these short duration naps.
People generally have two high-quality stints in them per day. Putting in a sleep cycle (be that a power nap or up to a full cycle) between them works wonders for all sorts of benefits physiologically and creatively.
Send me an email or some contact info for you (my email is in my profile). I was randomly looking at some of your comment / post history on YC and we are in a somewhat similar situation. I'd like to help you. :)
For me, music is so important that I would have to disagree and recommend not going the cheap route. Investing a pair of good quality headphones is a no-brainer. Just make sure they are comfortable.
I did this for several months while I was taking the Stanford AI class. I got up at 6, did coursework for two hours or so, and went to work by 9.
I found it to be highly beneficial for several reasons (some of which were mentioned in the blog post):
-since I am usually exhausted by the end of the day, I found the early time to be really conducive to clear thinking
-early part of the day is so quiet-- no interruptions
-I felt like I accomplished quite a bit even before arriving at work, so I somehow felt more productive even though I should have been more tired
I intentionally did not keep up the early time on the weekends and slept in-- btw, 8am felt like sleeping in :)
Since the class finished, I kept up the habit and wake up early to code or read.
I admit it isn't for everyone, but it is worth a try for anyone who wants to code after work but feels too tired or easily distracted.
My wife is a surgeon. I'm up at 5am with her, drive her to work, then sit down and start working myself around 5:30. I find that I'm fantastically productive from then until about 9 or 10am. I take a long lunch break (and go running or xc-skiing depending on how much snow is on the ground); aside from that I don't have any trouble going straight through the afternoon, though my afternoons are less productive (I usually spend them meeting with team members and doing more routine work because of that, which works well because that's when everyone else is around).
In order to make getting up at 5 livable, we're asleep by 10pm. We were both night people once upon a time, but I really don't feel like I miss it.
That doesn't seem to change the available time. You can start at any time of the day, there still the same amount of available time (ie 6-1800 hours is the same as 8-2000 hours)
I've heard a few theories, including some speculation that body functions are slowest at this time. More practically, a morning surgery generally means the patient has fasted overnight, and has an empty upper GI tract, reducing the risks of vomiting. Aspiration of vomit is a significant surgical risk.
they do it because of the patient who were not allowed to eat several hours before
The reason why surgery is scheduled so early in the morning is
because you will need to have an empty stomach for about 6-8 hours
before your procedure. This ensures that your stomach is empty of
any contents for general anesthesia. This way, if you get nauseated
after surgery, you can try to throw up, but nothing will come out.
With no stomach contents, you will not accidentally swallow stuff into
your windpipe, or lungs.
First: not all surgeons start at 5; it varies somewhat with the specialty. The more "hard-core" specialties tend to start earlier in the morning because the cases can run longer (12-16 hour surgeries, while not typical, are not unheard of either).
Second, they don't start operating at 5. They actually couldn't--the non-M.D. staff (nurses and techs) work on "normal" shifts, so there's only a minimal overnight crew (present to handle emergencies that cannot wait until morning) at that time. Surgeries actually start around 7:30-8:00 typically, but the team needs to round on the patients under their care and discuss what's slated for the day before they go into the OR. Since that takes a couple hours, they start at 5.
I am doing this right now. The point, I believe is, that you spend the most productive part of the day working for yourself rather than for your employer. Still, I believe in certain jurisdictions your employer owns your work even if done in your free time.
Your employer should only own your work outside of work hours only if you have a non-compete, is directly related to the work you perform, is derivative of code that you access from work, or you indentured all of your code contractually.
Anybody know if a GPL versus "we own everything you do" situation has arisen yet in the courts?
I wish it were possible for me to do something like this during the week, but it isn't. I wake up at 05:30 as it is, and I'm out the door and heading to work by 06:30 (that's an hour to SSS, prepare and consume breakfast, take out the trash, scrape the windshield, and whatever else might need doing). I don't get home until after 17:30. I'm typically occupied being a loving and attentive father up until 20:00 or so. Assuming I want to get 8 hours of sleep, that means I'm left with one and a half hours to split between personal projects and my wife during the week.
On the other hand, I do get up just as early on the weekends, and it's probably my most productive time of the entire week, up until my kids get up.
A question. Your job takes 11 hours out of your day roughly. I assume you only work 7.5 or 8 hours like is standard. Does that mean you have a 1,5 hours each way commute (3 hours total)?
So you spend 15 hours a week, or 70 hours a month commuting?
Maybe you should move closer to work? Or work from home a few days a week if your job allows. I have a 5 minutes each way commute. I don't understand the voluntary 1.5 hour commute.
I have a similar situation. I live in the far East Bay and commute to San Jose, about 3 hours round trip. Sometimes I get lucky and leave early enough to make it a 1 hour trip -- being on a huge campus with nobody around at 7am is an interesting experience.
I'd be living in SJ, but I just bought a house out here so there's some legwork to be done.
I actually live only 10km away from where I work, and my commute amounts to less than an hour per day.
I'm at the office by 0700 and I leave sometime after 1700. My work situation deviates significantly from a programmer's "standard" in a lot of respects, unfortunately. I do get paid for overtime at least, but I'm beginning to question whether it's worth it.
Quite the coincidence - I just started doing exactly this a few weeks ago, and am fact am reading this at 5:30am my time (when I should be coding :P). It has worked quite well for me as I work on my app.
I'm a bit more tired in the evenings and go to bed a bit earlier than I used to, but seeing as how I would just waste time in the evenings playing Jetpack Joyride, it's a very good trade to make.
I bought a coffee machine that has coffee waiting for me at 5am, and I also use the Sleep Cycle app which at the very least provides a placebo for making me wake up more alert. ;)
Exactly. Most people are far more distractible in the evening (partially because there are simply more distractions available), so shifting your schedule earlier results in less time spent on distractions.
Mornings are great. Yesterday I woke up at 4 and saw that Facebook Hacker Cup is on. I finished all the problems before my work day started - how awesome is that to start your day?
One thing I don't understand is how people can focus on a couple of projects simultaneously. This year I've worked a lot with javascript and backbone, and I have a folder with ~4 open source projects I wrote that I'm not going to publish. Why? Because then I'll shift my focus from delivering the product to delivering open source.
It takes me a few hours every Sunday and Friday to get in the mood of 'this project is going to kick ass'.
This might be controversial, but have you considered opening an anonymous/throwaway github account and publishing there? I mean put them up, make an announcement, and then feel free to ignore any social pressure to work on them, at least that way the code is out there where somebody else could pick it up and improve it.
Just seems like a weird reason to not release code you intended to be open source.
Actually never thought about. I recently wrote Verdict and published it as a gist. It was horrible! People asked me for help! And I created a full repo and a website instead of working. http://radagaisus.github.com/verdict/
Love this - a simple personal anecdote/retrospective rather than a self-promotion or "everyone should do as I say" piece.
You could solve the girlfriend + music issue with a nice set of closed-stage headphones. I love my AKGs. But I'd actually A/B test with and without headphones - without the distraction of office noise, no headphones/music might actually be helping you focus as well. I find that even with a solid, no-thought, tried and true playlist of entirely ambient (or even classical) music, I still find music causing my mind to wander from time to time.
I might have to try to sell the girlfriend on this idea soon.
I agree the few times I've been up early to code (even to catch up on some work) its been good, felt like I got extra hours to the day (well, I guess I did!) even before I officially started.
I think then after 5pm going to the gym or relaxing can be a good choice because I've already done my 2 hours on my side project.
It does get exhausting doing extra work after 5pm (after you've taken a break, eaten, done other things etc) so I like the idea of doing it early.
I may wake up even earlier to get to gym in the morning, as I liked that too.
I definitely waste several hours at night just messing around, avoiding going to sleep, which would be better spent being asleep so I can get up early.
Bite the bullet and try it. When I can, I walk to a nearby cafe right after sunrise to get a couple hours of work in and every time I do it I feel great the rest of the day.
In the last six or seven years I've been up regularly at 5am or so. I can get an hour of work done before the rest of the household wakes up. It's great.
My inspiration was Gene Wolfe, who wrote _The Book of the New Sun_ in the wee hours, and held down a day job as a technical magazine editor. [I'm not claiming my code is anywhere near as great as the wonderful writing that Wolfe did, but the early hours are definitely some of my most creative time]
A few rules I have:
- No email. This just starts the whole stress machine going. I'd rather not have /any/ human contact, and if something's fallen off and broken in the last eight hours, it can wait another two or three.
- No Reddit or other black-hole-of-surfing sites (though I do check HN -- this may change if HN becomes too Reddit-like).
- Coffee is ready to go (set up the prior evening).
> My inspiration was Gene Wolfe, who wrote _The Book of the New Sun_ in the wee hours, and held down a day job as a technical magazine editor.
Wow. That's really interesting. I was actually going to give this a try because of Robert Pirsig, who wrote Zen and the Art of Motorcycle Maintenance. Here's how he did it:
In a 1974 interview with National Public Radio, Pirsig stated that the book took him four years to write. During two of these years, Pirsig continued working at his job of writing computer manuals. This caused him to fall into an unorthodox schedule, waking up very early and writing Zen from 2 a.m. until 6 a.m., then eating and going to his day job. [1]
Funny he also writes technical literature (computer manuals versus technical magazine editor).
> the early hours are definitely some of my most creative time
This is something I've noticed too. When writing (usually essays, but sometimes code), I'm almost always more productive very late night/early morning. I don't know of any reasons (other than the obvious: you're not being distracted), nor do I know of any studies. Are there any out there?
random fact, but Thomas Pynchon also jobbed as a technical writer for a period of time shortly before publishing V. His fictional Yoyodyne company is loosely modeled after boeing, apparently.
I am missing the right words but one gets more creative in the evening. Many people can relate. A friend of mine worked from 1800 - 0300 for his master thesis, because the words "flowed" better.
I've been waking up at 5am for the past three years. I found that, by 9am when my colleagues started arriving at work, I had already managed to finish a large chunk of the work I had planned for that day.
I tend to do the actual work during these hours and reply to emails later on in the day. This helps me stay focused and I found it to be quite productive.
I don't drink coffee though, I have never felt the need for it.
I've thought about doing something like this but I've realized I just can't until I figure out a better commuting situation, either having a very short commute or using public transportation. Sitting in traffic for almost an hour on the way to work is rather draining to where if I'm going to do that I can't seem to bring myself to get up any earlier than I have to as I'd rather use the time spent driving to wake up so its not completely wasted
If you can use public transportation, you should definitely try it. I'm a student, but I also work part time in San Francisco; there is about a 30 minute commute. I am actually surprisingly productive while on the train working on my random side-projects. Having something to do stops the commute being a boring waste of time.
The one problem is crowding--if there are too many people, you might not get a seat or otherwise be uncomfortable. I avoid this problem by travelling at off-peak times, but this may not be an option. You should try it out and see how it goes.
Awesome, yeah, actually I'm planning to move to the SF Bay Area soon, I'm from northern California originally and want to get back there, I think living further out and using BART to get into SF would be fine as it would give me some time to work on things, or even just to use my tablet and read up on things, do research, etc. Just being able to relax and not have to watch the road for the hour commute would be a lot better IMO.
I need a habit like this, maybe I can be more productive on morning than nights (who knows), also some days can go to do exercise, yeah, everything sounds great but the getting up is so painful.
Interesting that this is posted today as I woke up 45m ago and decided to code on a side project. It's not voluntary but because I've got some time difference issues.
Everything about the benefits is true, and since I'm not forcing myself to do it, I have almost none of the side-effects. The biggest problem with it is that it's incompatible dancing in clubs.
Another advantage: the first two hours of exerting your programming mojo each day are likely to be the most potent. Applying this potency to your own products and initiatives is a beautiful thing.
It's not universal though. I find (sometimes) late morning and (usually) late afternoon are my most productive or potent times. I suspect everyone is different. It seems that this idea though has the added benefit of bringing more focus (due to less of the normal distractions.) For me, I think, that would be the major difference .
Could someone please expound upon the term "Kanban board", as used in this article? I am not understanding the connection between Kanban and what the author is describing, though I would like to.
This is one confusing thing about Kanban. The Kanban JIT manufacturing process that Toyota developed is different from the agile Kanban process used in software. The latter was inspired by the former, but they are very different.
Kanban itself isn't key, but rather I think the key is having a plan.
Kanban is a process where you divide your work into stories, and place them on a visual board. You pull stories across the board into different columns as the story progresses. Typical columns are "ready to pull" (first column, this story is ready to begin work), "in progress", "in test", "complete". The idea is to focus on getting cards across the entire board, and having few cards in flight at a time. This is generally believed to increase productivity by avoiding the urge to multitask too much. It can also reveal bottlenecks in your team's process and generally is good at visualizing how your team gets things done. Which can be eye opening.
Since I'm all by myself, my kanban board is really just a fancy todo list. I am using http://www.agilezen.com for my board. Trello is a more well known app along these lines, but purists disagree that Trello truly accomplishes Kanban because it's missing a few key Kanban concepts (whether that really matters is up for debate).
I would love to see a simple service that groups people who are willing to commit to getting up at the same time each day in order to hold each other accountable. There doesn't need to be anything significant - maybe it's just a matching service, letting people figure out for themselves how they can "check in" to confirm they are up and working at 6am (or whatever time is chosen). I know that I definitely can commit to something like this (e.g. going to the gym early) if I have at least 1 other person I'm doing it with.
This is a great idea. Probably doesn't require any groundbreaking technology either. Dear internet, please make this.
EDIT: An iphone app that let's people call and text each other as their profile name (anonymously) would probably lower the barrier to sign up for something like this.
Maybe even a combination of this with the idea of pledging money if you don't achieve something? How much more motivated would you be to roll out of bed at 6am if you knew that skipping it would cost your buddy cash?
Love that people are responding positively to this. I shared the idea with my brother, and we're going to try to throw something together in our spare time over the next week.
If anyone's interested in helping out (I'd say we're most in need of someone with good web design skills, though will update later once we've fleshed it out some), feel free to contact me at [my HN user name] at gmail
That reminds me of a web app where you check in your work of the day, and the app tells you by week how well you did. Makes you build yourself objectives and stick to them. Not totally what you're asking for, but in the meantime maybe it would be enough ?
I tried to find it but can't seem to use the right keywords, sorry.
I use https://idonethis.com, it seems similar. They send you an email every day at a time you configure and you answer back with what you've done. It tells you what your current streak is in the email and has a quote of some kind to ponder.
201 comments
[ 3.8 ms ] story [ 246 ms ] threadHow about waking up early to exercise?
Truthfully, I do run on Thursday mornings instead of code because that day I have lunch commitments (I run at lunch the rest of the week). I plan to try mixing in more morning running with the coding, see how that changes things too.
I could motivate myself to get up if I were working on my own projects. I'll have to try this.
the days i do this (as opposed to the couple days per week i sleep in later to take my son to school) i'm far more productive and content than the other days.
i'm hooked.
i sleep in on the weekends, but never sleep more than 7.5 or 8 hours anymore. i can wake at 5am without an alarm, though i usually set it as a backup. but i'm almost always awake at 4:57 anyway, so i get up.
no problem.
It was incredibly productive. As the author say the cost of those two hours keep you focused (you know you are making that extra effort, so distraction isn't an option.)
It is looking like I might become a 6AM coder soon. Seeing that my day starts at 8AM.
I had thought about getting up this early, but I just didn't think I could make it through the day with my semi-low energy levels.
However, I am thinking if I get up at 6AM, I can nap when my son naps for 30-40. As I read another post on HN that it actually is great to take these short duration naps.
Send me an email or some contact info for you (my email is in my profile). I was randomly looking at some of your comment / post history on YC and we are in a somewhat similar situation. I'd like to help you. :)
/s/ quickpost
I found it to be highly beneficial for several reasons (some of which were mentioned in the blog post): -since I am usually exhausted by the end of the day, I found the early time to be really conducive to clear thinking -early part of the day is so quiet-- no interruptions -I felt like I accomplished quite a bit even before arriving at work, so I somehow felt more productive even though I should have been more tired
I intentionally did not keep up the early time on the weekends and slept in-- btw, 8am felt like sleeping in :)
Since the class finished, I kept up the habit and wake up early to code or read.
I admit it isn't for everyone, but it is worth a try for anyone who wants to code after work but feels too tired or easily distracted.
In order to make getting up at 5 livable, we're asleep by 10pm. We were both night people once upon a time, but I really don't feel like I miss it.
Second, they don't start operating at 5. They actually couldn't--the non-M.D. staff (nurses and techs) work on "normal" shifts, so there's only a minimal overnight crew (present to handle emergencies that cannot wait until morning) at that time. Surgeries actually start around 7:30-8:00 typically, but the team needs to round on the patients under their care and discuss what's slated for the day before they go into the OR. Since that takes a couple hours, they start at 5.
http://en.wikipedia.org/wiki/Non-compete_clause#Exceptions_-...
Anybody know if a GPL versus "we own everything you do" situation has arisen yet in the courts?
On the other hand, I do get up just as early on the weekends, and it's probably my most productive time of the entire week, up until my kids get up.
So you spend 15 hours a week, or 70 hours a month commuting?
Maybe you should move closer to work? Or work from home a few days a week if your job allows. I have a 5 minutes each way commute. I don't understand the voluntary 1.5 hour commute.
I'd be living in SJ, but I just bought a house out here so there's some legwork to be done.
I'm at the office by 0700 and I leave sometime after 1700. My work situation deviates significantly from a programmer's "standard" in a lot of respects, unfortunately. I do get paid for overtime at least, but I'm beginning to question whether it's worth it.
I'm a bit more tired in the evenings and go to bed a bit earlier than I used to, but seeing as how I would just waste time in the evenings playing Jetpack Joyride, it's a very good trade to make.
I bought a coffee machine that has coffee waiting for me at 5am, and I also use the Sleep Cycle app which at the very least provides a placebo for making me wake up more alert. ;)
One thing I don't understand is how people can focus on a couple of projects simultaneously. This year I've worked a lot with javascript and backbone, and I have a folder with ~4 open source projects I wrote that I'm not going to publish. Why? Because then I'll shift my focus from delivering the product to delivering open source.
It takes me a few hours every Sunday and Friday to get in the mood of 'this project is going to kick ass'.
Just seems like a weird reason to not release code you intended to be open source.
You could solve the girlfriend + music issue with a nice set of closed-stage headphones. I love my AKGs. But I'd actually A/B test with and without headphones - without the distraction of office noise, no headphones/music might actually be helping you focus as well. I find that even with a solid, no-thought, tried and true playlist of entirely ambient (or even classical) music, I still find music causing my mind to wander from time to time.
I might have to try to sell the girlfriend on this idea soon.
The one thing I've added is a nice room air filter and run it on low. The quiet white noise from the fan provides a smooth background.
I agree the few times I've been up early to code (even to catch up on some work) its been good, felt like I got extra hours to the day (well, I guess I did!) even before I officially started.
I think then after 5pm going to the gym or relaxing can be a good choice because I've already done my 2 hours on my side project.
It does get exhausting doing extra work after 5pm (after you've taken a break, eaten, done other things etc) so I like the idea of doing it early.
I may wake up even earlier to get to gym in the morning, as I liked that too.
I definitely waste several hours at night just messing around, avoiding going to sleep, which would be better spent being asleep so I can get up early.
My inspiration was Gene Wolfe, who wrote _The Book of the New Sun_ in the wee hours, and held down a day job as a technical magazine editor. [I'm not claiming my code is anywhere near as great as the wonderful writing that Wolfe did, but the early hours are definitely some of my most creative time]
A few rules I have:
- No email. This just starts the whole stress machine going. I'd rather not have /any/ human contact, and if something's fallen off and broken in the last eight hours, it can wait another two or three.
- No Reddit or other black-hole-of-surfing sites (though I do check HN -- this may change if HN becomes too Reddit-like).
- Coffee is ready to go (set up the prior evening).
Wow. That's really interesting. I was actually going to give this a try because of Robert Pirsig, who wrote Zen and the Art of Motorcycle Maintenance. Here's how he did it:
In a 1974 interview with National Public Radio, Pirsig stated that the book took him four years to write. During two of these years, Pirsig continued working at his job of writing computer manuals. This caused him to fall into an unorthodox schedule, waking up very early and writing Zen from 2 a.m. until 6 a.m., then eating and going to his day job. [1]
Funny he also writes technical literature (computer manuals versus technical magazine editor).
> the early hours are definitely some of my most creative time
This is something I've noticed too. When writing (usually essays, but sometimes code), I'm almost always more productive very late night/early morning. I don't know of any reasons (other than the obvious: you're not being distracted), nor do I know of any studies. Are there any out there?
1. http://en.wikipedia.org/wiki/Zen_and_the_Art_of_Motorcycle_M...
The one problem is crowding--if there are too many people, you might not get a seat or otherwise be uncomfortable. I avoid this problem by travelling at off-peak times, but this may not be an option. You should try it out and see how it goes.
Everything about the benefits is true, and since I'm not forcing myself to do it, I have almost none of the side-effects. The biggest problem with it is that it's incompatible dancing in clubs.
I guess its high time to just make a start. Thank you for the blog.
Have a look over at JoelOnSoftware (?? Or was it the Fog Creek Site?)
They have a free online version of something similar that they are trying to hit the big time with. I forget what it is called though.
Here is the Wikipedia article talking about Kanban as an agile process: http://en.wikipedia.org/wiki/Kanban_(development)
Kanban is a process where you divide your work into stories, and place them on a visual board. You pull stories across the board into different columns as the story progresses. Typical columns are "ready to pull" (first column, this story is ready to begin work), "in progress", "in test", "complete". The idea is to focus on getting cards across the entire board, and having few cards in flight at a time. This is generally believed to increase productivity by avoiding the urge to multitask too much. It can also reveal bottlenecks in your team's process and generally is good at visualizing how your team gets things done. Which can be eye opening.
Since I'm all by myself, my kanban board is really just a fancy todo list. I am using http://www.agilezen.com for my board. Trello is a more well known app along these lines, but purists disagree that Trello truly accomplishes Kanban because it's missing a few key Kanban concepts (whether that really matters is up for debate).
EDIT: An iphone app that let's people call and text each other as their profile name (anonymously) would probably lower the barrier to sign up for something like this.
If anyone's interested in helping out (I'd say we're most in need of someone with good web design skills, though will update later once we've fleshed it out some), feel free to contact me at [my HN user name] at gmail