A little summer dream come true

Paul Graham writes about his to-do list, inspired by a post called “Regrets of dying”.

Don’t ignore your dreams; don’t work too much; say what you think; cultivate friendships; be happy.

Apparently, the top regret is working too much and not following your dreams.

I don’t really have any major regrets, now that I think about it. I try working smart vs working hard (not that I’m a lazy ass), love my friends and family and always make time for them, and am pretty happy with everything, really. And I’ve been lucky enough to do things I want, and try out many new experiences, for which I’m very grateful to you, life!

Today I’m taking a day off Pokies Pokies from work, and going surfing to make my little summer dream come true. It’s not guaranteed I’ll be good at it, or will love it, but I know I’ll be happy I tried.

An update: I went, and I did it, was able to ride almost every wave, and loved every second of it! Came back home exhausted as hell, but with a huge grin on my face. I’ll share a bit of surfer wisdom that I heard from an instructor today:

Surfing is like life: you never know what kind of wave you will get, and sometimes you’ll catch it and sometimes you’ll tumble, but the main thing is to keep at it, enjoy it, and have fun.

A thing my sis and Obama have in common

While most of the internet was busy asking president Obama questions on reddit, I noticed that he’s left handed, just like my sister! :D

And Wikipedia offers more interesting stats on left-handedness of presidents:

As of 2012, five out of the last seven presidents have been left-handed. Counting as far back as Truman, the number is five (or six) out of twelve. In the 1992 election, all three major candidates – George H. W. Bush, Bill Clinton and Ross Perot – were left-handed

Now, I’ll have to take sis and other left-handed people more seriously… What if they are to become the next president, you just never know.

Say “yes” to CS

I got an email from a good friend Suzanne the other day, asking if I could chat with a Computer Science (CS) student about a career in technology, and I happily agreed – I can talk about technology for hours and hours! And I’d love to be able to help someone who is just starting out.

Kate, who is pursuing her CS degree, got in touch with me and sent me a list of questions she had before our chat, which helped me understand where she wanted to focus our conversation. We had a 30-minute phone call, and covered everything in her email, and I got to know her a bit better and hear her concerns. With Kate’s permission, I wanted to share the recap, in hopes that other people starting out in the technology field will find it useful.

Thank you, Kate, for asking great questions, and can’t wait for you to join the exciting tech community soon!

Q: What drew you to this field and how did you decide it was right for you?

A: I’ve always loved it! Must be partly engineering genes from my mom and dad who both have technical degrees. When I was three I could name all of my dad’s radio electronic parts, then was constantly reading puzzle books, then later begged my parents to get us a computer in exchange for good grades. I originally learned how to operate computers in MS-DOS command line, and skipped computer classes in school because I thought I was smarter than the teacher (shameful, but true).

Getting a CS degree was one of the best decisions that I made (thanks mom for telling me PR was bullshit – confirmed by experience later). I enjoyed my college years immensely, and let me tell you, the school was hard, very hard at times. But it was well worth it, and now it just feels like second nature to me to code and lead technical projects.

If you’re good at solving tech problems (and yes, love math) – definitely go for a CS degree/career in technology.

Q: Do you have any suggestions for someone like me who isn’t that confident when it comes to programming – maybe ways to improve at programming or tech careers that don’t focus as heavily on it?

A: Man, C++ is hard for anyone! Honestly, it was pretty tough to learn C++ and assemblers in school for me too. Good thing is that there are so many other languages and platforms out there (node.js, python, mongodb) that bring fun into coding. And aside from programming, there is a huge need for smart people who grasp technology: information architects and UX designers, community evangelists, talent managers, quality engineers… You can specialize without being a coder.

Q: What skills (technical or non-technical) and personal characteristics would you say are most important to have for a person working in your field?

A: Creativity, curiosity to always learn – as technology constantly evolves, and ability to communicate is crucial, especially when it comes to translating a technical concept to a broader audience. Well, plus being a kind and fun person always helps in any field :)

I am still trying to improve on all of the above, every single day.

Q: Do you have any other advice? Is there anything I didn’t ask about that you think is important for a computer science student to know?

A: This is a great closing question – I think I will borrow it for any informational interviews, because it’s perfect for asking anyone who has more exprertise in any field.

Some of the tips that I had:

  • write more, keep a journal or a blog and document your thoughts, challenges and victories. It helps improve writing communication skills, lets you see your progress over time, and may be very useful to like-minded folks and future employers. Best developers are also great communicators (Paul Graham, Jeff Atwood, Marco Arment, Jeff Escalante, Lea Verou)
  • embrace tech community – NYC is amazing when it comes to tech events, meetups, classes and hackathons. You can always learn something new and meet with smart people. I especially like the NY tech meetup – very fun and inspiring monthly meeting in quick demo format, all made in NYC!
  • doing things is the best way to learn. Try out new technologies (JavaScript alone can keep you entertained for months), work on something you would use and release it online. Sometimes things seem harder than they are, until you actually start doing it, step by step. Then suddenly your app is working – and you feel like the world is at your fingertips :)

Jason Fried on smart businesses (and it’s not startups)

Jason Fried of 37 signals gave a great interview to Fast Company.

I wanted to quote one of the his insights:

Q: Your business icon is your cleaning lady?

A: She’s on her own, she cleans people’s homes, she’s incredibly nice. She brings flowers every time she cleans, and she’s just respectful and nice and awesome. Why can’t more people be like that? She’s been Viagra doing Viagra it some twenty-odd years, and that’s just an incredible success story. To me that’s far more interesting than a tech company that’s hiring a bunch of people, just got their fourth round of financing for 12 million dollars, and they’re still losing money. That’s what everyone talks about as being exciting, but I think that’s an absolutely disgusting scenario when it comes to business.

Women in tech and having it all

There’s much debate about both issues these days.

What do I think about women in tech? I think they exist. And so do men. I propose we give them all a new name: human in tech. And move on.

Complaning and whining rarely solve an issue. Assholes and jerks (of both gender) exist in every industry. So let’s take them down by being better than them, and move on to doing amazing things, in tech and elsewhere

What do I think about having it all? I think one has to realize it’s impossible to have it all, unless you’re god (in which case I’m willing to bet you don’t exist). Pick things that are important to you, be it money, career, megayacht, family, teaching kids to read, as long as it’s a finite list and you feel confident you can do it. Then do it. Have everything on your list, be happy.

Happy birthday, Mike!

Mike is one of the most influential people in my professional life, and also a dear friend.

I wanted to express my gratitude and wish him a very happy birthday!

Thank you Mike for inspiring, enlightening, educating us all, and for being an amazing friend!

Quote from Mike’s post (just one of the many thoughtful, eloquent articles from his blog):

If everything worth doing were easy, everyone would be doing it, and it would lose its special-ness, and wouldnâ??t be worth doing anymore (this may be debated, but Iâ??m talking in a broad competitive sense). Therefore, the initial difficulty you encounter on mastering a new skill, musical instrument, or merely being more successful in life, is just part of the grand scheme of things. Patience, persistence, and keen observational skills can help you get over the initial difficulties built into any task worth doing, and truly separate you from the crowd.

Step 4: setting up your new theme in WordPress

Once you have all your page templates coded, you are ready to set it up in WordPress.

At the bare minimum, you should have the following templates created:

  • header.php – includes html declaration, styles, include files, opening body tags
  • footer.php – closing body tags, analytics codes
  • page.php – the main template that will call header, sidebar and footer files
  • index.php – template for displaying your posts
  • sidebar.php – self explanatory, sidebar content
  • comments.php – template for rendering comments
  • 404.php – good to have

I’m missing one more important one, for search, but I’ll add it later.

So your folder will look somewhat like this:

Then upload your theme folder to your server, into /wp-content/themes directory

Login to WordPress, and go to Appearance tab.

You should then see your theme show up as an option:

Click on “activate” and your theme should be up! (or do live preview first if you’re not sure)

Check your site and see if there are things to be tweaked, fix them and – voila! You’re up and running with your brand new theme! Congrats :)

Site redesign, step 3: creating your WordPress theme

Remember, that your site will have a few distinct templates, such as:

  • Home page (in my case it’s the main blog page, with X latest posts)
  • Category page
  • Archive page (could use the same layout as category)
  • Search results page
  • Individual post page
  • About page and potentially other static pages
    And potentially many others, depending on how complex the site is.

In the template for the home page. You’ll need to make sure you also have templates for the rest of your page types.

Here’s a great article explaining the anatomy of a WordPress theme

And a comprehensive resource from WordPress on building a theme

So in this step, I won’t be explaining a lot, as it mostly requires coding. Now let’s open up our text editor and get to it…