My Working Guidelines

1. Start with the answer, then work back.
2. Name your variables so that anyone will know what they are.
3. Name your functions so that anyone will know what they do.
4. Never write the same line of code twice. Use functions.
5. Assume the user doesn't know what they want.
6. Even if the user knows what they want, assume they can't verbalize it.
7. The user always knows what they don't like. Prototype often.
8. Be prepared to dig down as many levels of detail as needed to understand.
9. When you're stuck, turn off your computer.
10. Don't turn your computer on until you have a specific task.
11. Beauty is important, but delivery is more important.
12. No variable should be fully contained within another variable.
13. All variables should be at least 3 characters long.
14. Use the right tool for the right job.
15. Almost any tool can do the job. Some are better than others.
16. Benchmark often in order to learn what happens under the hood.
17. Try something that's never been done. It may be easier than you thought.
18. Remember the patterns you've used before. You'll use them again.
19. Keep it extremely simple at first. Complexify as you go.
20. Code every day.


How do you combat work overload?

My single biggest secret for continuing to get things done, often working 12 hour days and 6 day weeks, is to love what I do.

I do not think of it as “work”, as something to “get through”, or as something difficult, unusual, “overload”, or temporary. Quite simply, I sit at my computer 12 hours per day, every day, because “I want to”, I love what I do, and I can’t imagine doing anything else. I have been working like this for years.

In fact, I feel sorry for anyone else who doesn’t feel this way. What a sad life to be spending so much time doing something that you have to force yourself to do.

Some of the things I have arranged in my life to enable me to do what I love:

I eat well. It’s a great idea no matter what your circumstances are.

I also exercise regularly, 20 minutes, 3 to 6 times per week. I mix it up and only do things I love: 5 rites, pushups & pullups, jogging, swimming, heavyhands, shovelglove, bodyweight exercises, and even a day or 2 at the gym on their machines.

Breakfast at my desk, lunch away from my desk, dinner and Jeopardy with my SO every night without exception.

At least one date night per week, with an extra beer or two just in case it’s a chick flick.
 
I never text, tweet, blog, IM, or facebook. I do respond to voicemail and email regularly. Everyone I know understands this.

Ipod, radio, and 3 cats keep me company.

I like to work in 48 minute bursts, with a 12 minute break each hour for email, internet, snack, or anything else.


What is a typical enterprise day like?

Yesterday I was up to my earlobes implementing a business intelligence/data warehouse system in a very large SOX-compliant enterprise :-). 

For current requirements, this solution is excellent. It is third party software, installed on top of an existing ERP system, that enables the users to extract whatever data they need and build their own reports without submitting a ticket to IT. Everyone loves the prototypes and is dreaming about the possibilities. 

So instead of beating up on enterprise life, let me just share a little bit of yesterday, one typical enterprise day: 

- A 3rd party build just stopped at 98% complete with no error message. 

- Another build crashed with error messages I had never seen, so I had to open another ticket with our vendor 

- We ran out of disk space on a volume we didn’t know the software was using. 

- I had to add additional data cleaning functions to remove heretofore unknown control characters in the enterprise data. 

- I inadvertantly named 44 files with the vendor’s own naming convention, so now no one can tell whose files are whose. We had to reset our standards and rebuild. 

- Although this vendor has hundreds of installs, oddly, none of them are SOX compliant. The controls, audits, and duplication of data needed will more than double the resource requirements. Worse, I’ll have to do an implementation that no one has ever done before with this software :-) 

- Today we start writing our own tools to handle the SOX compliance and satisfy the auditors. Some fun. 

I can go on and on. You get the idea. And I haven’t even touched upon the usual enterprise culprits: the meetings, the politics, and the lack of project management. It kinda sucks to have to do triple work to get the same thing done. 

So whose fault is all of this? No one’s. That’s just the way it is. Every time I think of a better way to get things done in a large enterprise, someone has 5 good reasons why they are the way they are. It’s wasted energy fighting that. 

How do you put your skills to good?

Some of my days jobs have been to write software to ensure that:


- people get the right prescription medication on time 

- firetrucks and ambulances get to where they're supposed to be 

- parts that go into cars and planes are properly certified 

- prisoners are kept in jail 

- those same prisoners get proper medical care 

- electronic equipment gets assembled properly and on time 

- medical supplies get dispatched to where they're supposed to 

- insurance claims are processed properly 

- quality data is properly maintained for food items 


You don’t need to do charity work on the side in order to contribute to the greater good. 

On the other hand, if you don’t think that the work you do during the day contributes to the greater good, then maybe you should consider doing something else with your valuable time. 

Do good and get paid. You can do both at the same time. 


What are the biggest geek myths?

“1. Recognize that people will know you are a geek from the moment they meet you”

Assume nothing. If you’re not sure about something, ask. Give the other person the benefit of the doubt at least once.

“2. Don’t try to change people’s preconceived notions of geeks”

Don’t try to change anything about anyone else. Just be yourself and engage them.

“3. Don’t get too comfortable and start being yourself”

Always be yourself. Who else are you going to be? And who is going to be you?

“4. Try to talk as little as possible, and when you do speak, only ask superficial questions”

Take advantage of this excellent opportunity to engage with other people. Learning is maximized for everyone when all talk and listen.

“5. But don’t ask questions about things that normal people should know”
 
How else would you know what’s “normal” unless you ask?

“6. Temporarily let go of the urge to achieve absolute precision in speaking”

Sometimes absolute precision is exactly what’s needed to improve communication. The trick is to know when. Learning when comes from practice.

“7. Don’t correct anyone even when they’re incorrect or imprecise”
 
Again, the trick is in judging context, which comes from practice. If they said they did something a million times, obviously no correction is needed. If they’re giving instructions on defusing a live bomb, then you better correct them.

“8. Don’t use words that an 8th grader doesn’t understand”
 
Again, how would you know? Be yourself, say what you mean, and learn from the feedback.

“9. If somebody asks you about your job or hobbies, answer in one sentence”

Answer in as many sentences as you deem appropriate. You’re probably a pretty smart person. Exercise you judgement, which will become stronger just as if you exercised your biceps.

“10. If everyone around is enjoying the ambient music, background live performance, etc., don’t jump in with any analysis”

Why not? Sometimes the most interesting conversations get started this way. Again, your judgement is way more important than OP’s rules.

“11. Never start a sentence with “Did you know that …””

Sames as #10.

“12. Never start a sentence with “You should really …””

Probably better stated as, “Only give advice when it’s asked for.”

I’d prefer this simple list of social tips:


1. Be yourself. Being rejected by someone else for being yourself is a self-correcting problem. They just saved both of you lots of time and energy.

2. Treat others how you’d like to be treated.

3. If you spend lots of time alone, take advantage of an opportunity to be with others by engaging and learning.

4. Use your best judgement (That’s what it’s there for.)

5. Have fun.

6. Take any list of rules with the word “actionable” with a grain of salt.


Hacker News Front Page 12/31/2019

Hacker News 12/31/2019 new | comments | leaders | jobs | submit login


1. Tell HN: Congratulations Patio11 - first to reach 1,000,000 karma 

4 points by iamelgringo 1 hour ago | discuss 


2. Ask HN: Any Predictions for the Year 2029? 

11 points by DanielBMarkham 37 minutes ago | 8 comments 


3. The Apple Tablet to Launch 1st Quarter 2020 (cnet.com) 

210 points by vaksel 20 hours ago | 122 comments 


4. President-Elect Graham to Appoint Sam Altman to Cabinet (msnbc.com) 

14 points by muriithi 4 hours ago | 2 comments 


5. Trevor Blackwell's Robot Collects Rocks on Mars (science.com) 

143 points by ojbyrne 18 hours ago | 81 comments 


6. Tell HN: Hacker News is getting too much like reddit 

17 points by jamesjones 6 hours ago | 3 comments 


7. Last Land Line Disconnected at Midnight (cnn.com) 

6 points by chickamade 3 hours ago | discuss 


8. Mark Zuckerman buys Portugal (worldnews.com) 

51 points by larryz 14 hours ago | 16 comments 


9. How Half Our Staff Telecommutes from Space (joelonsoftware.com) 

45 points by jspolsky 13 hours ago | 2 comments 


10. No Deadlines Needed After Singularity is Reached (wired.com) 

44 points by bxgame 14 hours ago | 28 comments 


11. Ask pg: Why do YC teams only get $1,000,000? 

19 points by abcklm 9 hours ago | 5 comments 


12. KidneyExchange.com has 10,000th successful transplant (yahoo.com) 

23 points by phsr 10 hours ago | 7 comments 


13. Walmart Acquires Microsoft (wallstreetjournal.com) 

76 points by francis24 20 hours ago | 17 comments 


14. Baby Communicates from Womb via usb23.7 (scientificamerican.com) 

13 points by johnson 8 hours ago | 7 comments 


15. Mark Bao Starts 1,000th Start-Up (startupnews.com) 

4 points by MarySmith 3 hours ago | discuss 


16. unalone accepts Pulitzer for blog (cnn.com) 

20 points by bootload 10 hours ago | 11 comments 


17. Ask HN: Review my app: NoMoreAds.com (nomoreads.com) 

17 points by fred 10 hours ago | discuss 


18. Poll: Favorite Language, Ruby 92.7 or C++++++++ 

37 points by uafes 17 hours ago | 5 comments 


19. Feds Force Google to Divest its Apps Business (news.com) 

38 points by pete 17 hours ago | 5 comments 


20. Burrito Tunnel Between Calif & NYC Finally Completed (onion.com) 

50 points by jose 20 hours ago | 20 comments 


21. In 2020 Belize will become the world's second-largest economy (economist.com) 

30 points by pg 16 hours ago | 23 comments 


22. Ask HN: What was Microsoft Office? 

63 points by yahfsh 23 hours ago | 6 comments 


23. Wikipedia Available on Gumwrapper (abc.com) 

3 points by lapenne 3 hours ago | discuss 


24. Boeing Dreamliner Delayed Until 2022 (airlinenews.com) 

4 points by mitchel 5 hours ago | discuss 


25. Ted Williams becomes 1st to win MVP with 2 different bodies (mlb.com) 

5 points by johnson 6 hours ago | 2 comments 


26. Ask HN: Review my app (virtualsex.com) 

125 points by ghpoa 1 day ago | 13 comments 


27. Science: Cigarettes Were Healthy After All (science.com) 

43 points by woodyallen 20 hours ago | 14 comments 


28. Broadband Finally Reaches Flint, Michigan (cbs.com) 

133 points by johnguest 1 day ago | 20 comments 


29. GO TO Added to Python, 27 Programmers Jump Out Windows (python.org) 

149 points by swert 1 day ago | 20 comments 


30. Wipe The Slate Clean For 2020, Commit Web 9.0 Suicide (techcrunch.com) 

2 points by nreece 2 hours ago | discuss 


More


 Lists | RSS | Bookmarklet | Guidelines | FAQ | News News 


Feature Requests | Y Combinator | Apply | Library 

How do I find passion for my work?

The reason you’re not passionate about your work is because something is missing. Identifying what is missing is your first step in determining where to go from here.

I have been in a similar situation. Always working. Important stuff. Sometimes cool, often not. But something was always missing.

Architecture not rigorous enough. Inadequate data base design. Insufficient requirements definition. Lousy code base. Unable to scale. Unable to expand or handle completely new features. But I always managed to make it work anyway. Then it occurred to me, if such mediocre systems were able to produce adequate results in commercial environments, what would be possible with great systems?

So now I’m building a framework/architecture/environment that beautifully handles everything I thought was missing before. The passion is built-in. Instead of, “Look at me, ma!” now it’s “Look at this, everybody!” Where do you go from here? Fill in the gaps that should have been providing passion all along. That oughta keep you busy for a while.


Do you conduct business over meals?

Very interesting topic we don’t see much. I’m probably in the minority, but I’d like to share what has worked best for me. 

90% of the business I have ever conducted over a meal has been at breakfast. By lunch time, I’m too busy and dinner is usually reserved for family. But breakfast is perfect. You get people when they’re fresh and before they’re sidetracked. I prefer to have private meetings first thing in the morning and have also regularly gone to Chamber of Commerce, tech groups, vendor presentations, even Toastmaster breakfasts. They’re always early enough for most people and work out great if you want to network or sell and still have a day job. And they never run over because everyone has somewhere to go. 

And guess what I’ve eaten at every single one of them? 

Nothing. 

Business breakfasts are about business, not breakfast. You can do three things with your mouth at breakfast (talk, eat, or both) and two of them are bad. I spend most of my day at my terminal, so the business breakfast is my big chance to talk, listen, and learn. And food just gets in the way. 

You can’t talk while you’re chewing, almost every choice is time bomb for an accident, and in my humble opinion, food just slows you down in the morning. 

So I let the others eat while I talk (and listen). I accomplish twice as much as anyone else at these breakfasts. 

I just have a cup of coffee that I may or may not drink. (You may look like you’re wasting food if you don’t eat it all, but nobody cares how much of your coffee you drink). If I’m really hungry in the morning, I’ll grab something “before” going to the breakfast, but I’m more likely to wait until afterward. 

Jimmy Carter took this idea to the extreme by never eating dinner at dinners. He was too busy networking and conducting business while everyone else was eating. I’ve never gone that far, but his strategy works perfectly for the business breakfast. 

My Favorite Business Quotes

Attitude determines outcome. - Jim McGraw, COO of Marion Laboratories 

Be the first, be the best, or be different. - Jacyln Easton 

Chance favors the prepared mind. - Louis Pasteur 

Elegance is for tailors. Don’t always believe in the numbers. There is always room for human judgment. - Albert Einstein 

Great ideas come into the world as gently as doves. - Albert Camus 

Half the money I spend on advertising is wasted, and the trouble is, I don’t know which half. - John Wanamaker 

I do not love the money. What I love is the making of it. - Philip Armour 

I guess we can make them, although we never have. - Benjamin Franklin Goodrich 

I never gamble. - J. P. Morgan 

A man to carry on a successful business must have imagination. He must see things as in a vision, a dream of the whole thing. - Charles Schwab 

If I could get $25,000, I would spend $24,000 on advertising, the remainder in making Coca-Cola. Then we would all be rich. - John Pemberton 

If I had six hours to chop down a tree, I’d spend the first four sharpening the axe. - Abraham Lincoln 

The best way to really enter minds that hate complexity and confusion is to oversimplify your message. The lesson here is not to try to tell your entire story. Just focus on one powerful differentiating idea and drive it into the mind. That sudden hunch, that creative leap of the mind that “sees” in a flash how to solve a problem in a simple way, is something quite different from general intelligence. If there’s any trick to finding that simple set of words, it’s one of being ruthless about how you edit the story you want to tell. Anything that others could claim just as well as you can, eliminate. Anything that requires a complex analysis to prove, forget. Anything that doesn’t fit with your customers’ perceptions, avoid. - Jack Trout

If you’re going to lose money, lose it. But don’t let ‘em nose you out. - Gustavus Swift 

If you love an idea, that is good. If you have ideas as to how to work it out, that is better. - Henry Ford 

It’s a barrier to entry because you’re shooting at a moving target. - Bill George, CEO, Medtronics 

Name the greatest inventors. Accident. - Mark Twain 

Nothing, not all the armies of the world, can stop an idea whose time has come. - Victor Hugo 

Perceived truth is more powerful than truth itself. - Michel Fortin 

Purchasers are made, not born. - Henry Ford

Success depends on how you react to unexpected opportunities. - Ross Perot

The ancestor to every action is a thought. - Ralph Waldo Emerson 

The march of improvement in any given field is always marked by periods of inactivity and then by sudden bursts of energy which revolutionize existing methods sometimes in a day. - George Eastman 

There was never a great character who did not sometimes smash the routine regulations and make new ones for himself. - Andrew Carnegie 

Think a lot. Say little. Write nothing. - J. P. Morgan 

If first an idea is not absurd, it has no hope for survival. - Albert Einstein 

To lead people, walk behind them. - Sun Tzu 

We study the methods of improving our business as we would a science. We imitate no one. - A. Montgomery Ward 

We took what was a luxury and made it into a necessity. Our only advantage was lack of precedent. - Henry Ford 

We want character to go with our goods. And 16 ounces is a Swift pound. - Louis Swift

What others could not or would not do we would attempt, and this was a rule of business which was strictly adhered to. - Andrew Carnegie 

What we believe is based upon our perceptions. What we perceive depends upon what we look for. What we look for depends on what we think. What we think depends on what we perceive. What we perceive determines what we take to be true. What we take to be true is our reality. - Gary Zukav 

You can’t get wet from the word “water”. - Alan Watts 

You can’t solve a problem with the same mind that created it. - Albert Einstein

 

How do you prepare your resume?

“Do you prefer a single page resume or multi-page? If multi, then how many pages of resume you think is good enough to sell you?” 

Single page. If I absolutely, positively have more to say, I occasionally attach a one page Appendix, “Sample of Project Particulars,” which includes 5 or 6 quick stories about major projects I completed that are relevant to the company and position I’m submitting to. 

“Do you elaborate on your work experience (like, job description, responsibilities, etc.) or you want to keep it short?” 

Yes, but I wouldn’t say “elaborate”. More like “itemize”. Forget about things like “experience”, “job description”, or “responsibilities”. Focus on one thing only: results. What I did, who it was for, why they needed it, and what they accomplished with it. “Built an AJAX e-commerce site that enabled a $10 million 

catalog distributor to double sales in 6 months.” This shows that I understand the forest in which I’m planting trees. Short, sweet, and to the point. If it catches their attention, they’ll ask you more about it. If it doesn’t, then you probably don’t want to work for them, anyway. 

“Do you have more than one resume, like a master one with all details and one page resume targeted to a particular position?” 

Just a custom one pager specially made for each company. I show them the same level of special attention that I expect in return. 

“In what order you present information in the resume: Objective, Experience, Skills, Education, Summary?” 

1. Very short summary (with embedded skills) that pretty much says it all, “AJAX programmer, expert level in e-commerce, 100 projects completed, ready for next long term challenge in Big City, USA.” 

2. Applicable accomplishments in reverse chronological sequence. (Emphasis on “accomplishments”.) 

3. Degrees. 

“Do you really think the resume layout matters more than the content itself?” 

No. 

“Which font do you use for your resume? Arial? Verdana? Webdings?”

 Who cares.

 “Do you prefer to maintain an online version of your resume?” 

No. I’ll contact them. I don’t want anyone contacting me.