Shared posts

10 Dec 11:29

Drycember

The act of abstaining from masturbation during the month of December.

"You doing drycember this year?" - guy 1
"Yeah its gonna be a tough one, my blue balls are gonna make it hard to walk" - guy 2
"I know how you feel mate, but tradition is tradition" - guy 1

10 Dec 11:27

Tags

<A>: Like </a>this. 
30 Nov 21:18

Two Years

She won the first half of all our chemo Scrabble games, but then her IV drugs started kicking in and I *dominated*.
27 Nov 21:34

#305691

<Raptor> Huh.  Discovering that the last time the file system was mounted is in the future scares linux.
<Celti> Yes. Linux needs special drivers for time travel.
<Raptor> I assume I can easily apt-get them?
<MrTrick> : time-travel installed successfully
<MrTrick> #> sudo apt-get install time-travel
27 Nov 21:31

#308179

<SkyLurker> my ex had four fleshlights
<SkyLurker> I named two of them and he never used those two again :(
* ZachPrime can't afford one of those atm
<SkyLurker> the mouth one was Hungry Mary
<SkyLurker> and the other one was Gaping Gloria
<SkyLurker> sometimes I would make them perform sex acts on each other
<&ZachPrime> ... why are you telling me this? >.>
<SkyLurker> I have been keeping it to myself all these years...
<SkyLurker> I just couldn't keep it a secret anymore
27 Nov 21:31

WTF Lines

Lines on the sides of your eyes and forehead.

When you squint and distort your face making wtf lines , trying to figure
WTF that idiot is doing with that hamster..

27 Nov 21:21

‮LTR

Collaborative editing can quickly become a textual rap battle fought with increasingly convoluted invocations of U+202a to U+202e.
27 Nov 20:55

List of Mockup/Prototyping Tools

by Bill Scott
Started keeping a list of these tools. No particular order.

Creately

Axure RP

InVision

Mockingbird

Balsamiq Mockups

Ratchet

Justinmind

HotGloo

FlairBuilder

Mockflow

mocklinkr

Mockabilly

moqups

AppMockupTools

WireframeSketcher

JustProto

Napkee

ForeUI

Jumpchart

Protoshare

iPhoneMockup

Lumzy

Pidoco

Proto.io

AnteType

AppSketcher

MockupBuilder

PowerMockup

AppCooker

Tiggzi

iPlotz

Serena

fluidIA

FrameBox

Naview

DENIM

UIreframe.com

GUI Machine

inPreso Screens

UXPin

SoftAndGUI

Notism

MockupScreens

MockupTiger

JotForm

Keynotopia

Handcraft
http://handcraft.com/

Added after original publishing of this article:

LucidChart
http://www.lucidchart.com

Twitter Bootstrap
http://twitter.github.com/bootstrap/

JetStrap
http://jetstrap.com/


20 Nov 13:14

zombie ad

A political advertisement that continues to appear on television or radio stations days if not weeks after the election is over. This includes political signs left in people's yards for months or old political bumper stickers stating one's support for Ross Perot, Bush/Cheney, or Proposition 13 from 1982.

I wish they would stop running those zombie ads on channel 7. Don't they realize the election ended a month ago?

19 Nov 13:28

Android version of Chrome fixes playback bug

by Jory
Ilya Furman

FUCK YES

Google chrome

A little good news for folks implementing playback in Chrome for Android: the playback bug has been fixed! Up until now, leaving Chrome, switching tabs, or turning off the the display after playback had begun resulted in the audio ceasing, but now the behavior is as expected, allowing audio to continue playing.

Next we just need some Web Audio API capability added. A little birdie tells me we should see that in the coming months.

16 Nov 18:29

JS adolescence

by James

For me there was a time that can only be described as adolescence in the field of programming and more specifically JavaScript. This period was characterised by a certain laziness and hubris. I thought I was right. I thought others were wrong. I could see no path but the very strict one that I had boxed myself into through a process in which I longed for certainty and the expulsion of realistic doubt.

Today I present a short list of JavaScript practices that once seemed right but I now deem foolish (in most situations):

Using logical operators as statements

a() || b.foo.bar(); m && c() ? d() : l || m.foo[bee](3);

There is no real advantage in forgoing convention for the sake of cleverness.

Always declaring variables at the top of their scope

function calculate() {
  var a, m, t, y, This, is, really, understandable = false;
  // Actual logic goes here
}

Instead I declare a variable where it makes sense. Much of the time this is at the top of the scope, but there are enough exceptions to make me shake my head in dissapproval at the thought of a style guide imposing religious top-of-scope declarations.

Repeatedly used inline object literals

function prepareRequest(mode, updateId, value) {
  var req = {
    mode: mode,
    updateId: updateId,
    value: value,
    uid: genUID()
  };
  // etc.
}

It’s better for clarity and performance (potentially) to define separate classes for cases where you repeatedly make object literals of the same structure. For example the above could be refactored into a Request class.

Complex inline regular expressions

if (/r[ -~]?(?:m\d+|\d+[0-3]{2,})_m?$/.test(thing)) {
  // ... wat
}

It makes sense to cache these things. Plus naming it means someone might have a chance of understanding WTF the code does.

Using single letter variable names

They make no sense unless used in the various idiomatic loops.

Strict equality everywhere

if (typeof x === 'string' && x === 'mode:45') {
  // ... 
}

Sometimes it’s overkill. Regular equality can be used in both of the above cases.

Assuming truthiness equals presence

if (!cachedReturnValues[key]) {
  cachedReturnValues[key] = value;
}

It’s potentially dangerous. E.g. It’s better to use the ‘in’ operator to discover presence, or even ‘hasOwnProperty’.

Commenting nothing or commenting every little thing

// This is a loop
for (var i = 0; i < arr.length; i++) {
  // This is me adding one to the item in the array at the index
  // specified by the variable `i` declared slightly above this comment:
  arr[i] += 1;
} // this is the end of the loop

Commenting everything demonstrates either a lacking clarity in your code or a lacking clarity in your mind as to the intention of comments. Commenting nothing shows hubris and laziness.

Thinking I can write something reliable without unit tests

Unit tests give me the confidence to be sure that my code does what I intend it to do.

Using long names and being overly specific

A long name suggests bad API design. Re-think where you’re defining the variable/method. Think of a circumstance in which the variable name could be shorter — a context that makes sense for that variable. Then create that context. You’ll probably end up with a cleaner internal API. E.g.

// Version 1:
var responseCache = {};
function generateNextIDForANewResponseCacheItem() {...}
function deleteResponseCacheItemsThatDoNotEqual(value) {...}
 
// Version 2:
function ResponseCache() {
  this.data = {};
}
ResponseCache.prototype = {
  genNextID: function() {...},
  remove: function(optionalFnCheck) {...}
};

Strict coherence to a standard

This never works and never solves what you think it will. It’s better to dynamically sway and constantly rethink your idea of what is right and wrong given each situation as it arises. This is why I try to steer clear of over-zealous coding style dogma, or all dogma for that matter.

16 Nov 18:20

[text: “I’m far too drunk to test this...

Ilya Furman

so much this



[text: “I’m far too drunk to test this responsibly”, photograph of the rolling hills of your youth, before you were buried in adult responsibilities and they were buried in landfills and shitty high-density low-quality housing developments. Sorry. At least ice cream is a thing.]

[HD Version] [Store]

12 Nov 18:48

typerventilating

sending messages through instant messaging in a rapidly sequential intervals.

I could barely follow the conversation; she was typerventilating like a madwoman!

11 Nov 17:30

Hardsync

Ilya Furman

yeeaah

Named after one of the characteristic features of the SID chip, Hardsync is a C64 party game that follows in the (wait for it...) footsteps of games like Dance Dance Revolution and StepMania.
06 Nov 14:41

Гипноз

by andreevbox@gmail.com
345.50 КБ
06 Nov 14:40

Hoodrat Shit

Ilya Furman

doing this all the fucking time

The act of engaging in undesirable or unlawful activities such as stealing, smoking marijuana, and drinking forties on the street.

Let's get into some hoodrat shit on the way to the bar.

Dad: Where you going kid?

Son: Out with my friends.

Dad: You better not start wildin wit that hoodrat shit or I'll kick your ass.

06 Nov 14:39

[text: “/* do not remove */”, photograph of the only...



[text: “/* do not remove */”, photograph of the only thing that’s even keeping us together as a family anymore is gone now, Sharon. I don’t know about you but the love was gone for me somewhere around our third kid and since then I’ve been spending more and more time at work or drunk and I just can’t put you and the children in this kind of danger anymore I’m sorry but it’s for the best tell them I loved them when they’re old enough to understand goodbye. Or the Hoover Dam.]

[HD Version] [Store]

30 Oct 22:35

The “thank you” that changed my life

by Nicholas C. Zakas
Ilya Furman

Be nice to people

There’s so much rampant negativity in the world and on the Internet that it can be hard to deal with some days. It seems like more and more, I’m seeing people being mean and succeeding, and that makes me sad. Perhaps the biggest poster child for this was Steve Jobs, who by all accounts was a really big jerk.[1] In one way or another, he seemed to legitimize being an asshole as a good way to do business. And I’ve seen this even more now that I’m involved in startup life.

A situation recently popped up in my life where I had a decision to make. I could do what “everyone else does”, tell a lie, and end up with a bunch of money. Or, I could tell the truth, and never see a cent. Perhaps because of some abnormal wiring in my brain, the thought of lying didn’t even register as a realistic choice. I was told, “but this is how things are done.” I didn’t care. That’s not the way that I do things.

I began searching for examples of where being nice and polite actually worked out in business or otherwise. An opportunity where it would have been easy to be mean but being nice changed the result. After struggling to do research and thinking about stories I’ve heard, I came to realize that the best story is my own.

Back in 2003, I was working in a nondescript job that I hated. I was going on year two of an almost unbearable four years at this job and needed a creative outlet. I had started writing articles for several online sites and had gotten the idea to write a book. I wrote every day for about six months straight trying to figure out what this book would be like and what the focus would be. I knew it would be on JavaScript, more specifically all the stuff people didn’t understand, but I really wasn’t sure of the title or the outline or who I would propose the book to. All I knew was that I wanted to write about JavaScript and so that’s what I did.

After that six months, I had enough material to put together a rough outline and start proposing the book to publishers. My first choice was Sitepoint. I had written several articles for their website and they were just starting to publish books. I thought a book on JavaScript would fit in great with what they were trying to do. So I sent over a proposal with a writing sample and anxiously awaited a response. Not too long later, I got a rejection e-mail. And it wasn’t just a rejection e-mail, the person who wrote the e-mail not only didn’t like my idea for the book, he said he didn’t understand why anybody would ever want such a book and also that my writing style was terrible. This was quite a blow to me and my ego, but keeping with what I had been taught growing up, I wrote back to him and thanked him for the feedback. I asked if he could give me any advice on how to improve the book or my writing style. I heard nothing back.

I next approached Apress. At the time, Apress was just getting started with web development books and I was hopeful that they would be interested in a JavaScript book. My proposal was accepted and somebody started to review it. After a couple of months without hearing anything back, I e-mailed this person only to have the e-mail bounce back. Not a good sign. I dug around on the Apress website and found another editor’s email. I e-mailed him and explained the situation: someone was reviewing my proposal and now it appears that he doesn’t work there anymore. I inquired if anybody was looking at it now, and if not, if it would be possible to assign someone. He apologized for the inconvenience and assigned somebody else to review my proposal.

That someone else was John Franklin, a really nice guy who spent some time looking over my proposal and researching potential. After another couple of months, John finally got back to me and said that Apress was going to pass on the project. They felt that the JavaScript book market was already dominated by O’Reilly and Wrox and they were not interested in going head-to-head with them (particularly ironic given the number of JavaScript titles that were later published by Apress). I was disappointed because I felt like there was room for more JavaScript books in the market and they were missing an opportunity. As this was my second rejection, I was a little bit down. Still, I wrote back to John and said thank you for taking the time to review my proposal and for giving me his honest assessment.

Much to my surprise, John wrote back to me. He said that he personally thought that the book was a good idea and that I might be better off going with a larger publisher that might have the resources to pull it off. He gave me the name and contact information for Jim Minatel, an acquisitions editor at Wrox. I had never thought to contact Wrox because they already had several JavaScript books including the original Professional JavaScript by the late Nigel McFarlane.

I e-mailed Jim and introduced myself. It just so happened that he was looking for somebody to rewrite Professional JavaScript from scratch. Jim and I worked together to merge my proposal into his idea for the book and the end result was Professional JavaScript for Web Developers, my first book, which was released in 2005. What happened over the next several years is something that I still can’t believe.

The first interesting thing occurred when I got an e-mail from Eric Miraglia at Yahoo!. He let me know that Yahoo! was using my book to train their engineers on JavaScript. This was really exciting for me, because I had been a longtime Yahoo! user and knew how big the company was. Eric said to let him know if I’m ever in California, because he’d like to meet and show me around. I thanked Eric and told him I wasn’t planning any California trips soon, but I would definitely keep that in mind.

Because of the success of Professional JavaScript for Web Developers, Jim contacted me soon after to ask if I would write a book on Ajax. The Ajax revolution was just starting and Jim wanted to get out in front of it with a book. I initially turned it down because I was burned out on writing and the schedule he was proposing was really aggressive. However, he was eventually able to convince me to do it and Professional Ajax was released in 2006. It turned out to be the second Ajax book on the market and ended up being one of Amazon’s top 10 computer and technology books of 2006.[2]

The success of Professional Ajax was overwhelming. The book put me on the radar for Google, who came calling asking if I would like to work for them. Google was in a big hiring spree, bringing in top tier web developers from around the world. At the time I was still living in Massachusetts and the thought of moving to California wasn’t one that I relished (Google didn’t have the Cambridge office at that point in time). But I saw this as an opportunity I couldn’t pass up and accepted their invitation to fly out and interview.

At the same time, Jim came ringing again asking to update Professional Ajax for the next year. With all of the excitement, the Ajax book market was exploding as people discovered new and interesting ways to use this new technology.

While I was out in California interviewing with Google, I emailed Eric and asked if he would like to get together for drinks. I met with him and Thomas Sha at Tied House in Mountain View. We talked about the current state of the web and how exciting it was to be a web developer working with JavaScript and Ajax. We also talked a little bit about what was going on at Yahoo! at the time. When I got back to Massachusetts, Thomas called and asked if I would be interested in interviewing at Yahoo! as well. After all, he said, if you’re going to move all the way across the country you might as well know what your options are.

I ended up choosing to work for Yahoo! instead of Google and moved to California. I can’t say enough about my time at Yahoo! and how much I enjoyed it. I met so many great people that I can’t even begin to list. However, there are a few that stick out as I look back.

I met Bill Scott through my cubemate, Adam Platti. I had mentioned to Adam that I wanted to start giving talks and I didn’t know how to go about it. Adam said that his friend Bill did talks all the time and I should chat with him to figure out how to do it. He then made an introduction to Bill, and Bill made an introduction to the organizer of the Rich Web Experience, which was taking place in San Jose. That was my first conference speaking opportunity. The experience made me realize that not only could I give a talk, but people actually liked it. From then on, I was giving talks at conferences and other events.

I met Nate Koechley through Eric and Thomas when I arrived in California. Nate gave an introductory class to all new front-end engineers at Yahoo! that I was in and really enjoyed. Over the years, I would get to see him give several talks, and he more than anyone else influenced my speaking style. I loved how visual his slides were and how we could explain complex topics by breaking them down into small chunks. He also had great interactions with the audience, never getting flustered and always being both personable and respectful. I was fortunate to have Nate in some of my talk rehearsals and was the beneficiary of a lot of great feedback from him.

I met Havi Hoffman through email. At the time, she was working for the Yahoo! Developer Network and was looking for somebody to write a book. Yahoo! was just starting a partnership with O’Reilly to have Yahoo! Press-branded books and someone had written a proposal for a book called, High Performance JavaScript. I still to this day don’t know who wrote the original proposal, but that person was unavailable to write the book and so Havi had contacted me to see if I was interested. Havi introduced me to Mary Treseler at O’Reilly, and we all worked to get the book out in 2010.

High Performance JavaScript was also a hit. The time was right for a book on JavaScript performance, and people really liked it. The success of the book led to more speaking engagements which in turn led to requests for more books. In 2012, I proposed Maintainable JavaScript to Mary as a new title, and it was published later in the year. That was after the third edition of Professional JavaScript for Web Developers was released in January 2012.

The success of my books and speaking engagements led me to leave Yahoo! in 2011 to do two things: start a consulting business and attempt to create a Silicon Valley startup with some former colleagues from Yahoo!. Because people knew who I was, it was fairly easy to get consulting work. That was important because we were bootstrapping the start up (WellFurnished) and we would all be chipping in our own money to get it off the ground.

Today, I have the career that I couldn’t even have dreamed of coming out of college. Being able to work for myself, do the things that I love, and still have time to write and give talks is truly a blessing. And all of it, every single piece, can be traced back to a simple “thank you” I emailed to John Franklin in 2004. If I hadn’t sent that e-mail, I wouldn’t have been introduced to Jim Minatel, which means I wouldn’t have written Professional JavaScript for Web Developers, which means Yahoo! would never have started using it and I never would have written Professional Ajax, which means I never would have been interviewed by Google, which means I never would have met Eric Miraglia and Thomas Sha, which means I never would have worked at Yahoo!, which means I never would have met Adam Platti, Bill Scott, Nate Koechley, or Havi Hoffman, which means I never would have started giving talks or writing for O’Reilly, which means I never would have been able to start a consulting business, which means I never would have been able to attempt a startup.

My life was taken on a completely different path just by being nice to somebody. The truth is, you never know when that one moment of being nice will turn into a life altering moment. Amazing things can happen when you don’t push people away with negativity. So, embrace every opportunity to be nice, say please when asking for things, and above all, never forget to say “thank you” when someone has helped you.

References

  1. Be a Jerk: The Worst Business Lesson From the Steve Jobs Biography (The Atlantic)
  2. Best Books of 2006 -
    Top 10 Editors’ Picks: Computers & Internet
    (Amazon)
29 Oct 14:10

It Only Took 20 Years

by DOGHOUSE DIARIES
Ilya Furman

Oh man

It Only Took 20 Years

His fingers slipped and typed in all of his credit card information.

Tweet


26 Oct 09:09

Elevator-screen-floor-prank

26 Oct 08:19

Vostok

by Sergey Kirienko
Ilya Furman

Очень одобряю эту моду!

Удивительная мода, которую завели, думаю, французы — называть русский филиал добавлением слова Vostok. Вот некоторые случаи:

  • Château Le Grand Vostock,
  • Banque Société Générale Vostok,
  • Leroy Merlin Vostok,
  • Loyalty Partners Vostok,
  • Stallergenes Vostok,
  • Baring Vostok Capital Partners (ну тут хоть по смыслу более-менее)

Беру зелёный горошек, а на нём: «Компани Женераль де Консерв Восток». Да что ж ты будешь делать!

Понятно, что Россия на востоке, но всё же — почему именно «восток»?

 

26 Oct 08:07

hornymoon

"Absence makes the heart grow fonder". When a couple haven't seen each other for a while, the next time they meet is going to be their hornymoon.

Wife: I missed you so much when you were in Germany. Good to have you back. It feels like honeymoon again.

Husband: Yeah, 5 times last night. Now it's more like hornymoon.

26 Oct 07:58

в стране дураков

Ilya Furman

Ае, компетенция!

Как это прекрасно
http://habrahabr.ru/post/154257/
Ебаная сраная тупая страна рашка с ее ебаным сраным
тупым министерством юстиции заблокировали "Самиздат"
Мошкова,
www.zhurnal.lib.ru. Мошков закрыл
"Самиздат" по этому адресу, и переправил IP на сервер минюста.

dig www.zhurnal.lib.ru
www.zhurnal.lib.ru. 86400 IN A 87.245.163.3

dig minjust.ru
minjust.ru. 10800 IN A 87.245.163.3

Результат: ебаный сраный тупой минюст заблокирован
провайдерами
ебаной сраной тупой страны рашки.

Плохо жить в стране дураков. Плохо, но смешно.

Мошков офигенный, уважаю.

А ебаная сраная тупая страна рашка должна сдохнуть,
ее все ненавидят, потому что тупая.

Тому що, страна дураков.
"Nigeria with snow"
, епта.

Привет

number of commentsComments
18 Oct 20:10

nevver: Green spy

02 Oct 11:15

Приехал альбом.

by andreevbox@gmail.com
Напечатали хорошо, бумага приятная, моих косяков вроде тоже нет.
Так что могу смело рекомендовать.

109.32 КБ

96.78 КБ

106.17 КБ
28 Sep 23:02

A new way to sync Google Contacts

by The Gmail Team
Ilya Furman

Niiice


Posted by Jeff Ellingson, Product Manager

For many years, we've supported two open protocols for accessing Gmail and Calendar from mobile apps
and devices: IMAP for email and CalDAV for calendar. These protocols, combined with the options to
access Gmail, Calendar, and Contacts with your desktop or mobile browser and via native apps on iOS and
Android, help ensure you have a great experience regardless of the device you use.

Starting today, we're adding CardDAV - an open protocol for contacts - to that list. CardDAV enables 3rd
party clients, like the iOS contacts app, to sync your Google contacts. By supporting IMAP, CalDAV, and
CardDAV together, we’re making it possible for 3rd parties to build a seamless Google Account sync
experience.

To sync your Google Contacts on iOS using CardDAV, please follow these instructions in our Gmail Help
Center.



28 Sep 23:01

WFIO

A business acronym standing for "We're fucked it's over"

Dear shareholders,

WFIO.

Yours Truly,
John Smith
Acme Inc.

28 Sep 23:01

[text: “what am I supposed to do with this”,...

Ilya Furman

i'm gonna cry right now



[text: “what am I supposed to do with this”, photograph of the pair of shattered scissors you’re expected to scrapbook with]

[HD Version] [Store]

26 Sep 11:53

Crimes of Opportunity

by DOGHOUSE DIARIES

Crimes of Opportunity

This water is gonna go great with my sandwich, which apparently is made out of a bar of gold.  -Ray

Tweet


26 Sep 11:51

moar GIFS here!