Category Archives: Shared Articles

Understanding Less Guards and Loops

The developers’ desire to bring features from programming to CSS led to creation of CSS preprocessors. They allow us to define variables and create functions just as we do so in JavaScript; but even more important, we can make our code more flexible by using conditional and iterating blocks.

Such blocks can be created using Less, but the syntax for their use is quite different from the traditional if..else and for patterns. In contrast to Sass and Stylus, Less tries to stick as close as it can to the original CSS. Therefore, to construct conditionals and loops, it uses syntax borrowed from media queries. This can be a bit confusing at first, but once we learn how it works, we will see that it’s just another way to say the same thing.

Less Mixin Guards

Less calls its conditional statements mixin guards. To construct a conditional block, we need to use mixins in conjunction with guards. Let’s demonstrate the main scheme with an example:

.theme (@mode) when (@mode = "dark") {
  background-color: darkblue;
}
.theme (@mode) when (@mode = "light") {
  background-color: lightblue;
}

div {
  width: 50px;
  height: 50px;
  .theme("light");
}

Here, we have a mixin with one parameter .theme(@mode). We check if that parameter matches with a specific condition. Only once the parameter passes the test will the code inside the mixin be executed. For each separate condition, we need to repeat the name of the mixin along with its parameter(s). In our case, we have two conditions. As we can see, to substitute the if keyword, used in many other programming languages, Less uses guards. A guard is created by the when keyword followed by a specific condition. To understand it more easily let’s see how the above block would looks like in JavaScript:

function theme(mode){
  if (mode == "dark"){
   element.style.backgroundColor = "darkblue";
 } else if (mode == "light"){
   element.style.backgroundColor = "lightblue";
  }
}

So, a mixin guard is just a function with nested if..else statement(s). Although it’s created in a different manner.

In our div example, we use the mixin guard with “light” passed as parameter – .theme("light"). And when the code is compiled by Less, we get the following output:

div {
  width: 50px;
  height: 50px;
  background-color: lightblue;
}

See the Pen Less Guards and Loops Example 1 by SitePoint (@SitePoint) on CodePen.

Cool! But what if we have a shared style, which we want to apply in both cases. For example, when the theme is set to “light”, along with the light blue background color, we want to add an orange border too. To do so, we need to add a mixin without a guard, after our conditions:

.theme (@mode) when (@mode = "dark") {
  background-color: darkblue;
}
.theme (@mode) when (@mode = "light") {
  background-color: lightblue;
}
.theme (@mode) {
  border: thick solid orange;
}

div {
  width: 50px;
  height: 50px;
  .theme("light");
}

Now, we can see that the style from the last block of our mixin guard is added in the compiled code:

div {
  width: 50px;
  height: 50px;
  background-color: lightblue;
  border: thick solid orange;
}

If we change the theme’s mode to “dark”, the style for the border will still remains.

See the Pen Less Guards and Loops Example 2 by SitePoint (@SitePoint) on CodePen.

OK. Let’s take a look at another slightly different variant. This time we want to add a default style, which will be applied when neither the first condition, nor the second one is met. To do so, we add a mixin with a special type of guard – instead of a regular condition we use the default() function.

.theme (@mode) when (@mode = "dark") {
  background-color: darkblue;
}
.theme (@mode) when (@mode = "light") {
  background-color: lightblue;
}
.theme (@mode) when (default()) {
  background-color: @mode;
}

div {
  width: 50px;
  height: 50px;
  .theme(red);
}

This variant is equivalent to the final else in an JavaScript’s if..else block:

function theme(mode){
  if (mode == "dark"){
   element.style.backgroundColor = "darkblue";
 } else if (mode == "light"){
   element.style.backgroundColor = "lightblue";
  } else {
   element.style.border = mode;
  }
}

We use red as parameter and it doesn’t match neither with “light” nor with “dark”. Therefore, the background color is set to red in the compiled code:

div {
  width: 50px;
  height: 50px;
  background-color: red;
}

See the Pen Less Guards and Loops Example 3 by SitePoint (@SitePoint) on CodePen.

Less also allows us to use logical operators with guards. So, if we need to negate a condition, we can do so by using the not keyword, like so:

.theme(@mode) when not (@mode = "dark"), (@mode = "light")  {
    background-color: @mode;
}

Here, we use the OR operator too, which in Less is emulated by a comma. The code for this guard have exactly the same effect as the default() function.

Less Loops

Less defines a loop in a similar way to mixin guards. First, we create a mixin with a counter parameter, and a guard with our condition. Then, we put the code, which we want to be generated, inside the mixin. The last thing we need is a way to increment/decrement the counter value. We use the fact that a mixin can call itself and we add the same mixin as nested function. As an effect of this, our mixin will loop and iterate as long as the condition set in the guard is matched. Let’s make things clearer with the following example:

.make-variants(@i:1) when (@i =< 3) {
  .variant-@{i} {
    width: @i * 40px;
    height: @i * 20px;
    background-color: orange;
    margin-bottom: 10px;
    }
  .make-variants(@i + 1); // increment function
}

.make-variants();

We have a counter parameter set to 1 (@i:1) and a condition (@i =) which will return true until the counter value is equal or lesser than 3. Inside the mixin, we put the code we want to be generated on each iteration. And finally, to make the iteration possible, we add the mixin itself as a nested function, which will increment the counter value by one (@i + 1).

The above code block is similar to the following for loop in JavaScript:

for (i = 1; i <=3 ; i++) {
   ...
}

When the code is compiled, the style block from the mixin is repeated three times as expected, and thus three different classes are output:

.variant-1 {
  width: 40px;
  height: 20px;
  background-color: orange;
  margin-bottom: 10px;
}
.variant-2 {
  width: 80px;
  height: 40px;
  background-color: orange;
  margin-bottom: 10px;
}
.variant-3 {
  width: 120px;
  height: 60px;
  background-color: orange;
  margin-bottom: 10px;
}

See the Pen Less Guards and Loops Example 4 by SitePoint (@SitePoint) on CodePen.

Note that the place where you put the increment function matters. If you put it above the styles then the order in compiled code will be reversed – .variant-3 will be output first, and so on.

Summary

As we can see, Less’ variants of if..else and for blocks aren’t so confusing as they may look at first glance. Once we grasp how they work, we can easily use them to make our CSS more flexible and reusable.

This Week’s HTML5 and Browser Technology News (Issue 191)

CSS color filtering, Web Audio School, new Firefox performance tools, and more.
Read this e-mail on the Web
HTML 5 Weekly
Issue 191 — June 3, 2015
Amelia Bellamy-Royds
An in-depth tutorial complete with several interactive examples on using CSS filters to change the appearance of images.


Matt McKegg
Quick bite size Web Audio lessons in a simple online environment. (Learnt about this via Web Audio Weekly - worth checking if you’re into Web Audio.)


Mozilla Hacks
The latest Firefox (Developer Edition) now includes full performance measurement tools and timeline views, at a similar level to what’s in Chrome.


Red Gate Software
When your databases drift from their expected state, there’s a risk of deployment problems. New DLM Dashboard tracks schema changes, shows you what changed, who did it, and when. Free tool.

Red Gate Software

Smashing Magazine
An interesting dive into the production techniques behind an interactive exhibition about the world’s 30 most endangered species that leans heavily on CSS’ ‘clip-path’ property.


Mozilla Hacks
To show off the new performance tools in Firefox Developer Edition, Mozilla has partnered with an HTML5 game developer to launch an optimization challenge you can take part in.


Andrew Chalkley
Ionic is a series of performance-focused, beautifully designed HTML, CSS and JavaScript components optimized for building mobile applications.


Jobs

  • Freelance with Companies like Airbnb, IDEO & JPMorganWork on special projects with great companies through Toptal. Set your weekly/hourly rate, and work from anywhere in the world as an elite HTML5 developer. See if you have what it takes. TopTal
  • Front-end Developer at Guidebook (Palo Alto or SOMA)Guidebook helps people build and publish mobile apps for all types of devices. Our CMS is a huge part of that and you will play a key part in building our new CMS by collaborating with our design and back-end development teams to implement mockups and integrate with our back-end stack. Guidebook

In brief

Curated by Peter Cooper and published by Cooper Press.
Send feedback by simply replying to this mail.
Want to sponsor an issue? See our media kit.
Want to post a job? E-mail us or use our self-serve system.

Unsubscribe : Change email address : Read this issue on the Web

© Cooper Press Ltd. Office 30, Lincoln Way, Louth, LN11 0LS, UK
Email policy Privacy policy

دانلود آهنگ پوچ

"پوچ"
ترانه سرا: احسان شعاریان
آهنگساز: سیاوش قمیشی
تنظیم کننده: بهروز لطفی پور
کارگردان ویدیو: Alec Cartio
------------------------------------------------------
میگی دلتنگه دستامی شبا سرده
تموم لحظه ها دردن گُلا زرده
میگی دلتنگِ مهتابی هوا ابره
جدایی بعدِ من شبهاتو پر کرده
ما رو خواب میکنه انگار صدای تیک تیکِ ساعت
همه بغضای دلتنگی فراموش می کنیم راحت
به هم بر می خوریم هر شب عجب دنیای کوچیکی
چه زود گُم می کنیم اما عجب بُن بستِ تاریکی
تو میدونی و من میدونم و خونه
که این غربت همین امشب رو مهمونه
صبحِ فردا دوباره هردومون راضی
از این تکرارِ بیهوده از این بازی
پیِ خوشبختی میگردیم پیِ فردا
میونِ کاغذ و آهن تک و تنها

دوستانِ عزیز متأسفانه ظاهرا دیروز آهنگ پوچ به صورتِ غیر رسمی لو رفته و در نتیجه سایت رادیو جوان هم مجبور شده آهنگ رو بدونِ هماهنگی قبلی و زودتر از موعد مقرر منتشر کنه! به همین دلیل فعلا آهنگ بدونِ ویدیو منتشر شده و ویدیو هم پس از تهیه و تولید منتشر خواهد شد. در ادامه می تونید اثر جدید سیاوش رو دانلود کنید.

دانلود نسخه ی صوتی آهنگ پوچ (کیفیت 320)

(8.47 مگابایت)

دانلود از سایت رادیو جوان


صبح جمعه با گوشه؛ خاوری که همچین میانه هم نیست

موسیقی خاورمیانه
باید مرد تنهاسفرکنِ «خاورمیانه‌ای» باشی در یکی از گیت‌های فرودگاهْ‌قشنگ‌های دنیا که بفهمی چه تهدیدی برای دنیا هستی و خودت نمی‌دانی.

اگر راننده تاکسی یا فروشنده کباب ترکی باشی، معمولا سوال و جواب‌های مامور گمرک و مهاجرت، بهتر و کلیشه‌ای‌تر پیش می‌رود ولی اگر شاخ شده باشی و شغلی داشته باشی که به «خاورمیانه نخورد» وقت مامور را می‌گیری و فسفر مغزش را زیادی می‌سوزانی، چون باید خلاقیت به خرج دهد و بفهمد چطور ممکن است یک مرد خاورمیانه‌ای که صبح تا شب زن‌ها را کتک می‌زند و کنار شُترش زیر سایه نخل می‌خوابد و قلیان می‌کشد، فرصت درس خواندن پیدا کرده. اصلا مگر خاورمیانه، دانشگاه هم دارد؟

خاورمیانه یک برچسب بزرگ است که انگار وقتی روی آدم می‌چسبانند باید خودت را اندازه آن برچسب کنی.

اگر اهل این جغرافیا باشی و مسلمان، عرب، با حجاب/ریش و دونرکباب‌فروش نباشی، انگار درست زیر این برچسب جا نشدی و در نتیجه هضم تو برای سازندگان این برچسب، سخت می‌شود؛ اگر مسلمان، با حجاب/ریش و دونرکباب‌فروش باشی، وضعیت‌ات فرقی نمی‌کند اما هضم‌ات برای ماموران «دنیای آزاد» آسان‌تر است.

این هفته  موسیقی برخی از اهالی این جغرافیا را بشنوید که شاید «هضم‌شان را برای ماموران دنیای آزاد، سخت‌تر کرده‌اند»: آهنگ‌های این هفته را بشنوید از آفریکنس، نسيمه شعبان، مامک خادم، آيه متولی، لتی نجار، نورخان، KAOSMOS و يُسرا هواری.

انتقال (Redirect) دامنه های فرعی به اصلی

اگه طراح وب باشید به احتمال زیاد به شرایطی برخورد کردین که شما یا مشتری پیشنهاد میدین هم دامنه ir و هم دامنه com و در شرایط حادتری چند دامنه مرتبط یا شبیه دامنه اصلی را ثبت کنید. قطعاً index شدن یک محتوا در چند دامنه برای سئو سایت مناسب نیست و دامنه های فرعی بایستی به دامنه های اصلی انتقال پیدا کنند.

بدترین اتفاق مخصوصاً در مورد دامنه های ir این هست که برای redirect از طریق ثبت کننده دامنه باید پول اضافی بدین و حتی اگه ثبت کننده شما انتقال را براتون انجام بده معمولاً فقط نام مثلاً domain1.com به domain.com منتقل میشه ، حالا اگه شما صفحه about-us به نشانی domain.com/about-us داشته باشین و کاربری صفحه domain1.com/about-us را بزنه به صفحه index دامنه domain.com انتقال پیدا میکنه.

حالا برای اینکه هم هزینه اضافی نکنیم و هم هر صفحه‌ای با هر مسیری که زده میشه به دامنه اصلی و همون صفحه انتقال داده بشه باید از htaccess. استفاده کنیم :

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

برای توضیح بیشتر :
خط ۱ : Rewrite (بازنویسی) را فعال میکنیم.
خط ۲ : بازنویسی بر پایه ریشه انجام میشه.
خط ۳ : مقدار شرطی برای خط بعد هست و میگه اگه هاست مربوط به URL درخواستی (منظور همون domain.com یا domain1.com بدون www هست) برابر با domain.com نبود (NC یعنی به حروف بزرگ و کوچیک حساس نشو !)
خط ۴: منظور از *. اینه که هر چی بعد از نام هاست در ادامه URL بود را با دامنه domain.com فراخوانی کن ! (L یعنی دیگه شرایط و حالت های بعدی را نمیخواد بررسی کنی و کار را تموم کن. R=301 هم میگه کلاً مسیر را اشتباه اومدی و از این به بعد مسیری که من دارم بهش انتقال میدم را در نظر بگیر که این برای موتور های جستجو معنی داره)

حالا اگه ۱۰۰ تا دامنه را هم توی cpanel روی هاستتون Park کنید.با هر دامنه و مسیری که کاربران توی مرورگرشون بزنن به دامنه domain.com که دامنه اصلی هست و همون مسیر درخواستی منتقل میشوند.

Losing Amy

I am so sorry. Please forgive me. I love you all so much.

The note was simple, the handwriting was clear, uniform, not erratic. I asked the Detective how she looked. Was she put together, or did it look like she woke up and did not know what she was doing?

She answered me very calmly, “She was very put together, hair brushed, clean, dressed.” Did it look like she tried to stop herself? Again, calmly, the Detective answered, “No, she could have stopped herself and did not.” It was hard for me to imagine that this was an intentional act, but the facts were clear. My sister, a devoted wife, and mother of three beautiful children had hanged herself. That was two years ago, May 31st, 2013.

How she got to this point remains a source of frustration and pain for everyone who knew her. Amy was a wonderful mother, daughter, wife and sister. She volunteered at the children’s school, attended every function, baked cookies for the neighbors. She was an avid crocheter and taught children how to knit at her son’s elementary school. She was an accomplished nurse and worked up until the time she had her third child. She was a generous person and was always willing to help those around her. I spoke to Amy every day, if not more than once a day since I moved away to go to college. She had been married for over 15 years and her husband adored her.

While Amy always had many people who wanted to be her friend, she held few people close. In spite of her tremendous beauty, she was terribly insecure about her appearance. She had her ups and downs like most people; but nothing that caused too much alarm. Life’s usual challenges and bouts of frustration with life, but not more.

However, the two years that preceded her death were different. Amy became a completely different person. The trigger for this is difficult to know. I was living in California, and my family in Omaha, Nebraska. Our mother, who was 85 at the time, had increasing health issues. Amy’s children were getting older and less reliant on her. Amy seemed to become more withdrawn from people. She stopped returning phone calls and refused to engage in any social activities. In spite of barely leaving the house, she became increasingly preoccupied with her looks, specifically with her face and the quality of her skin. She began to get laser treatments for red spots and other minor defects that no one could see but Amy and the doctors who readily took her money.

Instead of feeling like the lasers were making her look better, Amy was convinced the treatments were leaving scars on her face. She then went to other doctors to treat the “scars” that again, no one else could see. I would talk to my brother-in-law and nephews regularly, whose feelings, understandably, went from sympathetic, to angry to sad in trying to figure out how to deal with the situation. Our pleading with Amy to go talk with a therapist was unsuccessful. She did not think anything was wrong with her and refused to go. She said once her skin was taken care of, everything would be fine.

At this point, the situation went from bad to worse. Our mother passed away, and Amy became obsessed with a single spot on her face. No one else could see it, but she was convinced it was not only there, but very disfiguring to her.

Amy would stare in a mirror for 8 to 10 hours a day. I would never have believed it, had I not witnessed it for myself. It was unimaginable. At this point, it became clear to me that we were dealing with a very serious mental health situation.

Continual pleadings with Amy to see a psychiatrist finally resulted in her seeing a specialist in Obsessive Compulsive Disorders. She went to several doctors, who did not understand the situation, others which she did not like. Then, finally, she found one she would agree to see with some regularity. My brother-in-law and I would call her psychiatrist repeatedly to get them to understand the facts. Amy would only tell them what she wanted them to hear. Since Amy was a nurse, she understood what to say and what not to say.

Over a year went by of a menial existence for Amy and her family. I went from talking to Amy nearly every day of my life, to barely talking to her. She wouldn’t take my calls. She stopped attending school events, stopped cooking meals, and laid on the couch all day. At this point, her psychiatrist put her on a combination of Prozac, Zoloft, Lexapro and other antidepressants. We all thought this was shocking given the gravity of the situation. As an adult, you cannot make someone get help if they don’t want it. If someone is mentally ill, they likely will not understand they need treatment. It is a frustrating situation designed to help protect people but ends up hurting people when you cannot force them to get treatment. Amy’s “treatment” consisted of talking to her doctor for 15 minutes a month to get her medication. That’s it. No cognitive therapy. No deeper intervention.

Fifteen minutes a month.

It was clear Amy was terribly ill. The drugs made her a zombie, but it was a better state than staring in the mirror for eight hours a day. In doing our research, her husband and I concluded that she had Body Dysmorphic Disorder coupled with depression. When you read the literature, it seems fairly obvious. We tried to talk with her doctor about this with no success. I was desperate, leaving messages for her doctor, writing letters to Amy, trying to breakthrough. Nothing worked.

Finally, Amy’s husband convinced her to check into an inpatient treatment center. Amy reluctantly packed a small bag and got in the car. Half way during the drive, Amy lost her nerve and jumped out of the moving car. As dangerous as the situation was, this was finally our opportunity to get Amy committed, so she could receive a proper evaluation. The police came to the house, a report was filed, and Amy’s husband officially was able to get her “committed against her will”. However, our hope was short lived. Amy was “committed” for a 72-hour hold but convinced the doctors she was fine. I was livid.

She was a mother of three who jumped out of a moving the car,
and you think she is fine?

Amy was also completely embarrassed to be in the medical center. As a nurse, she knew many of the nurses and doctors in the facility and the stigma of being mentally ill was shattering to her already fragile self. They released her, added an antipsychotic, Risperdal, and had her see a psychiatrist once a month to obtain the medication.

Months passed, and Amy seemed to get slightly better. She did a few activities and went to a few school functions. She was an avid knitter and begin to knit again. She knitted hats and gave them away to the homeless. She started to leave the kids notes, send me letters and presents and let everyone know that she loved them. Now, I understand, this is when she must have decided it was time. Like many people who decide to end their life, she began to give some things away, but nothing so noticeable that anyone caught on. Only now, as we piece everything together, do we understand what she was doing.

Even in her death, Amy was thoughtful. Although I know her pain was tremendous, she waited until the last day of school to do it. I know she must have planned to do it before, but waited, not wanting to ruin the kids’ school year or jeopardize their grades.

Amy had a severe mental illness that went undiagnosed and was not treated properly. She had insurance, and there were no financial barriers to her treatment. Still, she could not get the treatment she deserved to save her.

Maybe she didn’t want to be saved. It is hard to know, but when you are in the depths of such despair, you must rely on others to help get you out of it.
Not a day goes by where I don’t think about what I could have done differently, should have done differently to save her. Anyone who has dealt with this knows the guilt you feel is tremendous. There have many stories in the news lately about suicide, Students in Palo Alto, Madison Holleran, Robin Williams. All complicated in their own way. The hardest thing about suicide is there are so many questions that you can never get answered. You go back and trace every conversation over and over. What could you have done? In the end, it doesn’t matter. What’s done is done and you have to find a way to make peace with it. It is nearly impossible to do so, but you have to try. For Amy’s children, every day, I try.

At her funeral, the Cantor said that Amy was ill, and her illness was no different than her dying from cancer. I agree. It is unfortunate that mental illness is still treated with such little care and has such a stigma. If it weren’t for that, maybe Amy and many others would be alive today. I am telling her story because too many people keep mental illness a secret. I’m not judging this decision; I understand.

This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.

بخشهایی از رمان در دست نگارشم…

از آنجایی که دوستان بی تابی میکردند قسمتهایی از رمان در حال نگارش من را بخوانند یک بخش از آن را به احترام دوستانی که کامنت گذاشته بودند منتشر میکنم:

“…مرد سرش را بلند کرد و گفت:
- ملیحه…تو نمیتونی من رو تنها بذاری.
اشک در چشمان مرد میدرخشید و گلوله های غلتان اشک همچون مروارید بر گونه اش میلغزید. ملیحه با بغض گفت:
- فکر کردی تا آخر عمر به پای تو و اعتیادت میشینم. نه…تو دیگه برای من و این بچه ای که توی شکمم هست مردی…وقتی این کوچولوی نازنین به دنیا اومد بهش میگم که اون بابا نداره…میگم که باباش تو یه تصادف مرده!میفهمی؟ مرده!
مرد همانجا روی زمین نشست و سرش را به آسمان گرفت:
- ای خدا…این چه سرنوشتی ست که من دارم…چرا خود را ندانسته اسیر دیو اعتیاد کردم. چرا همسرم که زمانی عزیز ترین موجود زندگی ام بود حالا باید من را ترک کند…من باید انتقام خودم را از کسانی که باعث این وضعیت هستند بگیرم…بلی…
مرد دست در جیبش کرد و ناگهان برق تیغه چاقو همه جا را روشن کرد…
- چی کار میخوای بکنی اصغر؟  
- کاری رو که باید خیلی وقت پیش از این میکردم. باید برم سر افعی رو بکوبم!
اما مرد خودش هم میدانست که  چیز افعی را هم نمیتواند بکوبد. با این حال موبایلش رو از جیب کتش بیرون آورد و شماره ای گرفت…در نگاهش شعله انتقام میدرخشید:
- الو…هوشنگ خان…منتظرم باش…چی؟…اصغرم…نه…اصغر دو کله نه…اصغر آقا ابراهیم اینا…نه…ابرام صافکار بابا…نه…نه…من پسر کوچیکه م…اونی که رفته بود ژاپن اکبره…آره…من داداش کوچیکه ی اکبرم…آره…آره…قربانت…مرسی…همه خوبن…سلام دارن خدمتتون…نه…همینجوری زنگ زدم…یعنی یه کاری داشتم…نه…جنس دارم توی خونه…ای بابا…شرمنده به خدا…یه لحظه گوشی…
دستش را روی دهانه گوشی میگذارد و رو به زنش به آرامی میگوید:
- ملیحه…من با هوشنگ خان چی کار داشتم؟
- خبرت میخواستی بری انتقام بگیری…و اگه من یه جو شانس داشته باشم نفله بشی و لااقل من پول دیه ت رو بگیرم و قسطهای عقب افتاده خونه رو بدم…
- انتقام؟ هاااا…اصلا یادم رفته بود…الو…ببخشید هوشنگ خان…نه…یعنی گه نخور…میخواستم بیام بکشمت آشغال…منتظرم باش!”

پ.ن: من متعلق به همه شما هستم…

یک شب از زندگی


 دیشب فراموش کردم پنجره اتاقم رو ببندم، نصفه شب از صدای بارون بیدار شدم، بلند شدم و از پنجره بیرون نگاه کردم، دیدم حیفه که بخوابم، فرصت پیدا کردم که ملکه گذران یک شب از زندگی باشم.
رفتم به دور دستای زندگیم، روزایی که پاهامونو می کردیم تو جوبای پرآب یوسف آباد، بستنی لیسی می خریدیم می مالیدیم به سرو صورتمون، جلوی هر آینه ای که می رسیدیم قر می دادیم،شیطنت زیر پوستمون بود، ساده بودیم، زیر بارون بدون چتر می رفتیم و اگه ماشینی خیسمون می کرد قهقهه می زدیم... روزایی که زیاد دور نیستن اما خیلی دورن! روزایی که تند تند دارن ازم رد می شن اما من اینجا هنوزم دختری ام که درونم دختر بچه شیطونی هست که عاشق رنگه، پر از شیطنت و نمی خواد تبدیل بشه به یک زن آشپزخونه ای، دختری که هنوزم صدای خنده هاش بلنده، عاشق می شه، بی پرواست و زندگی اش ماله خوده اشه، بعله.... این زندگی منه، ماله منه، به خودم مربوطه چطور می گذره

The abundance of slowness


Illustration by Grain

The abundance of slowness

Learning to value smart work over hard work requires a paradigm shift, but pays dividends.


Workaholics aren’t heroes. They don’t save the day, they just use it up. The real hero is already home because she figured out a faster way to get things done. – Jason Fried & David Heinemeier Hansson, Rework

In March of 2011, I was in the depths of burnout. I had been working 80+ hour weeks at least twice a month since the previous fall. We had an ongoing project that grew beyond all reckoning, swallowed the majority of our billable time, and crippled our ability to pursue new work.

I developed vision trouble. Distant objects refused to snap into focus and reading became difficult. Stress-induced bald spots cropped up in my beard. My relentless schedule created tension on the home front. Something had to give.

I bought a better monitor. I delegated more (I hired Jason around this time – poor guy didn’t know what he was in for). I made a half-hearted attempt at afternoon power naps. My eyesight improved, but the stress and exhaustion persisted. These efforts were really just Band-Aids on a gaping wound. As soon as time opened up and things slowed down, the hours were magically filled with other things. My motivation for working long hours wasn’t creative exuberance. I was driven by a superhero complex – a burden of responsibility that we shouldn’t have shouldered. I had said yes so often that I’d developed a warped sense of what I was truly responsible for. I was driven by fear of failure and an addiction to work.

Let’s say you work in a high-level management position for a monthly or weekly publication. You’ve been with the company for years and have lived through several waves of growing pains. Over time, you said yes to more and more responsibilities, even if it seemed many of them weren’t sustainable. You became responsible for the output of one or two additional departments. You add more content, more platforms, more offices. Granted, in the world of time-sensitive content and late-breaking news, the occasional frenetic day is unavoidable. But for years, this has been your norm. And when you finally break down and scale back, a host of new tasks floods in the gap. Family ties weaken and friendships fall by the wayside. The weight of the world is on your shoulders, and if you don’t stand under it the entire operation might collapse. You’re in crisis mode even on a good day.

Does this situation sound familiar? When a friend asks how you’re doing, is your default answer some version of “busy”? Do you feel a touch of pride when “complaining” about the busyness of your schedule to a friend? Do you dream about an easier life, but feel victimized by a slave-driving boss or company culture? (Here’s a hint: You’re not a victim. You’ve merely said yes to the wrong things). In the U.S., we’re trained to think that successful people are busy. If our schedules aren’t chock-full, we’re unimportant. We run around like chickens with their heads cut off, as my great-grandmother used to say. People who take long vacations or even long lunch breaks are viewed as lazy or untrustworthy. We’ve all heard about the inevitable burnout that occurs when people work too much. But we quickly forget these cautionary tales and rationalize our habits, because we’re afraid of what our lives will look like if we slow down and pay attention. Deep down, many of us wonder if we’re wasting our time on things of little consequence. So we keep skittering along the surface at a feverish pace, avoiding the mirror of introspection.

Our frantic days are really just a hedge against emptiness. – Tim Kreider, NYTimes.com

At Metagramme, the problem wasn’t cruel or unreasonable clients. They were actually kind and generous, for the most part. I had no one to blame but myself. It was time to man up in a major way. One of the glaring issues I faced was a total lack of boundaries. No phone call was too late to answer, no email too early. My lack of boundaries came from fear. Fear of what would happen if I said no more often. Fear of missing deadlines or disappointing customers. I was also afraid of allowing quiet reflection and creative diversions into the work day. I was punching the clock like any hourly employee. The story I told myself was that slowness and emptiness were the same thing. I couldn’t have been more wrong. I’ve found recently that when the time is used well, slowness can actually be one of the most profound sources of abundance.

When fear rules our lives, even the most amazing calling can be downgraded to a career. On the trajectory of fear, careers wane through the grey purgatory of jobs, and jobs break down in quivering heaps at the fiery gates of slavery.

I don’t know about you, but I don’t want to settle for anything less than a life’s calling. And I’m sick and tired of seeing beloved clients, colleagues and friends settle for less.

By accepting the status quo of long hours and trying to play the hero, I compartmentalized our studio’s creativity into the box of client work. I didn’t think of running a business as a creative endeavor. It didn’t occur to me how vital it was to carve out time for rest, play and personal creative pursuits. I was running a sweatshop, but I wasn’t really in charge. My fear ruled the roost. It wasn’t long before our work started to suffer. Design solutions began to look and feel the same.

By early 2012 I’d had enough. I was dreading coming to work each day in the business I’d created. There’s something really screwed up about that. So with the help of business coach and mentor Peleg Top, I started to make some drastic changes.

Before his work as a business coach, Peleg ran a successful design firm in LA. He once told me that in the 18 years he owned Top Design, he never encountered a true design emergency. That simple truth resonated deeply with me. At Peleg’s firm, they weren’t saving lives or fighting wars. It was a service firm, and they lived accordingly. His team was in the office from 9–6 Monday through Thursday, and 9–2 on Fridays. They set realistic expectations for their clients and met deadlines. The business thrived. But they didn’t answer the phone at night, and were unavailable on weekends. Peleg’s team had clear boundaries, made them known, and their clients were happy. They worked when they were rested and present. The quality of their output spoke for itself.

“Sounds lovely,” you might say, “but that kind of lifestyle just wouldn’t fly with my boss/company/clients/fill-in-the-blank.” Perhaps you’re right. At times, working late is indeed necessary. Sometimes you create a problem and need to fix it on your own dime or after hours. Sometimes you commit to a task that requires learning new tools. Being a responsible grown-up occasionally requires a sacrifice of time. And on the positive side, sometimes entrepreneurs work on their businesses after hours out of love, rather than straining toward an overly-optimistic deadline out of fear. I’ve been there, I’ve put in the hours and I’ll do it again. But not unless I’m motivated by love.

What we’re ultimately striving for here is a joyful harmony between work, rest and play. And you won’t know if harmony can be achieved if you don’t try. You could even make it fun. Make a game of it, and challenge your entire office to get involved! This week, I invite you to try eight things:

1. Slow down. Someone once said “the trouble with the rat race is that even if you win, you’re still a rat.” When we slow down, priorities become clear. I once asked Peleg what activities could/should be removed from my life. His response was that I was asking the wrong question. If you’re busier than you’d like to be, don’t try to curate your life. First, slow down. Focus on the here and now. Get present. Pay attention to where your energy is drawn, the good and the bad. Healthy priorities will naturally reveal themselves and your life will start to curate itself.

2. Stop trying to be a hero. Commit to a schedule you can sustain and tasks you can complete without killing yourself. No one will go into cardiac arrest if you turn down a project.

3. Go home. Leave the office by 6 pm, or earlier if possible. Have dinner with family or friends, relax and get a good night’s sleep. You’ll feel refreshed and focused when you arrive at work in the morning.

4. Minimize meetings. Sometimes meetings are wonderful and necessary, but more often than not they are straight-up time wasters. Respectfully ask coworkers or your boss if there might be a more efficient way to make decisions. Offer suggestions. Get creative.

5. Go dark. Switch your mobile phone to airplane mode. This will temporarily disable incoming calls (they’ll go straight to voicemail), GPS and internet access. For myself, this is hard. But we have to acknowledge that our communication addictions aren’t making us happy or productive. Create an atmosphere of minimal distractions. Stay offline unless you truly need to do some research. Do your important work first, and answer emails later. Be proactive, not reactive (I’m still working on this one). And for crying out loud, stay the hell away from Facebook, Instagram, and Twitter unless you’re taking an intentional break. The comment your cousin made about a former coworker’s dog’s sweater vest can wait.

6. Leave your desk for lunch. Let’s be honest: eating lunch at your desk is just sad. Read a book, take a walk, visit a museum – anything to change your environment and unplug for a bit. This is a good time for airplane mode. Sometimes I’ll write a few lines of poetry, or just have a good long stare at nothing in particular. The change of scenery is refreshing, and I’m ready to tackle the afternoon’s work when I return to my desk.

7. Give up on multitasking. Others have said it, and I’ll throw my hat in the ring too: multitasking isn’t sexy. It’s inefficient. You might be able to go broad when juggling several tasks at once, but you can’t go deep. People who claim to be gifted multitaskers are lying, either to themselves or to you. Instead of spreading yourself thin, set aside large chunks of time to focus on one task at a time. Let coworkers know you’re unavailable. If they give you crap for it, who cares. They’ll stop when they see the results.

8. Say no. When deciding how to respond to a request, ask yourself if saying yes would be driven by love or fear. If the answer is the latter, politely say no and suggest an alternative. This is another opportunity to get creative.

Try this for a week. I think you’ll be pleasantly surprised by how much you accomplish, and how much beautiful, free, slow time you have on your hands. Conversely, if you find that promoting smart work over hard work in your place of work is truly untenable, then it’s probably time for you to move on. Sometimes giving up is the bravest, kindest thing you can do. It might be the wake-up call that company needs.

From our experience, I can say that my team and I are more excited than ever to arrive at work each morning. The quality and variety of our design work has grown. We spend time with our families. We have lives. We close the shop at 2 on the first Friday of every month. We get things done on time. Our business is growing at a sustainable pace. We’re far from perfect, but I wouldn’t change a thing.

So how am I doing these days? If the fullness of my beard is any indication, then life is good. Things are nice and slow, and I’m at peace with that.

For more on the topic of smart work vs. hard work and the culture of busyness, we recommend:

The ‘Busy’ Trap by Tim Kreider, via NYTimes.com
Personal Whitespace by Peleg Top
Rework by Jason Fried and David Heinemeier Hansson (cofounders of 37signals). Available in print and on iTunes.

This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.