nathan_marz_storm nathan_marz_storm-2014 nathan_marz_storm-2014-39 knowledge-graph by maker-knowledge-mining

39 nathan marz storm-2014-02-12-Interview with "Programmer Magazine"


meta infos for this blog

Source: html

Introduction: I was recently interviewed for "Programmer Magazine", a Chinese magazine. The interview was published in Chinese, but a lot of people told me they'd like to see the English version of the interview. Due to the Google translation being, ahem, a little iffy, I decided to just publish the original English version on my blog. Hope you enjoy! What drew you to programming and what was the first interesting program you wrote? I started programming when I was 10 years old on my TI-82 graphing calculator. Initially I started programming because I wanted to make games on my calculator – and also because I was bored in math class :D. The first interesting game I made on my calculator was an archery game where you'd shoot arrows at moving targets. You'd get points for hitting more targets or completing all the targets faster. A couple years later I graduated to programming the TI-89 which was a huge upgrade in power. I remember how the TI-82 only let you have 26 variables (for the character


Summary: the most important sentenses genereted by tfidf model

sentIndex sentText sentNum sentScore

1 I get better by doing a lot of programming and trying new things. [sent-13, score-0.395]

2 One of the best ways to become a better programmer is to learn new programming languages. [sent-14, score-0.477]

3 By learn I mean more than just learning the syntax of the language, I mean understanding the language's idioms and writing something substantial in it. [sent-15, score-0.376]

4 For me, learning Clojure made me a much better programmer in all languages. [sent-16, score-0.332]

5 I took a bunch of "algorithmic game theory" classes with him – algorithmic game theory is basically the intersection of economics and computer science. [sent-23, score-0.334]

6 I took the classes not so much for the material but to improve my problem solving skills. [sent-24, score-0.396]

7 Learning those skills has made me a much better problem solver in all scenarios, as well as being a much better communicator of difficult concepts. [sent-26, score-0.388]

8 They provide a 6 week bootcamp to help math/science/physics PhD's learn programming skills so they can start a career in data science. [sent-44, score-0.379]

9 I think the industry will be much better off by building these systems more rigorously and less haphazardly, and I felt that this book was the right way to effect that change. [sent-53, score-0.393]

10 I knew that writing a book would be a lot of work, but it turned about to be signicantly more work than I expected. [sent-54, score-0.378]

11 At one point I had half the book written, but I realized I was taking the wrong approach to communicating the material so I scrapped everything and started over. [sent-56, score-0.308]

12 I was taught to make your general "thesis" statement up front, and then drill down into that general statement with supporting points and eventually specific details. [sent-60, score-0.577]

13 A much better way to communicate is to tell a story – start with a situation the reader already understands, and then connect step by step to the ultimate general statement you want your reader to understand. [sent-65, score-0.793]

14 Specific to general is always better than general to specific. [sent-66, score-0.377]

15 On top of that, when you open source software as a company, you benefit from other people trying it out, finding issues, and improving your software "for free". [sent-72, score-0.309]

16 He told me he needed a better programming language for doing AI research, so he invented Lisp for that purpose. [sent-88, score-0.477]

17 He really didn't seem to care that much about programming languages – his real passion was AI. [sent-89, score-0.306]

18 The general idea is to avoid making "general" or "extensible" solutions until you have a very deep understanding of the problem domain. [sent-99, score-0.317]

19 The key was that we had tons of experience with realtime computation so knew the problem domain very well. [sent-144, score-0.313]

20 As I've mentioned Carl Sagan is one of my favorite writers and I've learned tons from reading him – and I continue to learn tons from him everytime I read his work. [sent-160, score-0.33]


similar blogs computed by tfidf model

tfidf for this blog:

wordName wordTfidf (topN-words)

[('programming', 0.238), ('storm', 0.234), ('general', 0.144), ('feedback', 0.139), ('book', 0.139), ('reader', 0.112), ('writing', 0.104), ('learning', 0.099), ('understanding', 0.099), ('think', 0.097), ('connect', 0.095), ('emacs', 0.095), ('empathy', 0.095), ('professor', 0.095), ('religion', 0.095), ('situation', 0.095), ('clojure', 0.091), ('tons', 0.09), ('classes', 0.089), ('material', 0.089), ('game', 0.089), ('better', 0.089), ('language', 0.084), ('software', 0.084), ('design', 0.084), ('realtime', 0.082), ('wrong', 0.08), ('statement', 0.078), ('immutability', 0.078), ('rdbms', 0.078), ('improve', 0.076), ('programmer', 0.076), ('learned', 0.076), ('learn', 0.074), ('problem', 0.074), ('open', 0.072), ('people', 0.069), ('code', 0.069), ('lot', 0.068), ('much', 0.068), ('career', 0.067), ('theory', 0.067), ('program', 0.067), ('taught', 0.067), ('meetings', 0.067), ('knew', 0.067), ('points', 0.066), ('told', 0.066), ('change', 0.066), ('years', 0.065)]

similar blogs list:

simIndex simValue blogId blogTitle

same-blog 1 0.99999821 39 nathan marz storm-2014-02-12-Interview with "Programmer Magazine"

Introduction: I was recently interviewed for "Programmer Magazine", a Chinese magazine. The interview was published in Chinese, but a lot of people told me they'd like to see the English version of the interview. Due to the Google translation being, ahem, a little iffy, I decided to just publish the original English version on my blog. Hope you enjoy! What drew you to programming and what was the first interesting program you wrote? I started programming when I was 10 years old on my TI-82 graphing calculator. Initially I started programming because I wanted to make games on my calculator – and also because I was bored in math class :D. The first interesting game I made on my calculator was an archery game where you'd shoot arrows at moving targets. You'd get points for hitting more targets or completing all the targets faster. A couple years later I graduated to programming the TI-89 which was a huge upgrade in power. I remember how the TI-82 only let you have 26 variables (for the character

2 0.31853619 33 nathan marz storm-2012-02-06-Suffering-oriented programming

Introduction: Someone asked me an interesting question the other day: "How did you justify taking such a huge risk on building Storm while working on a startup ?" (Storm is a realtime computation system). I can see how from an outsider's perspective investing in such a massive project seems extremely risky for a startup. From my perspective, though, building Storm wasn't risky at all. It was challenging, but not risky. I follow a style of development that greatly reduces the risk of big projects like Storm. I call this style "suffering-oriented programming." Suffering-oriented programming can be summarized like so: don't build technology unless you feel the pain of not having it. It applies to the big, architectural decisions as well as the smaller everyday programming decisions. Suffering-oriented programming greatly reduces risk by ensuring that you're always working on something important, and it ensures that you are well-versed in a problem space before attempting a large investment. I ha

3 0.21497843 34 nathan marz storm-2012-09-19-Storm's 1st birthday

Introduction: Storm was open-sourced exactly one year ago today. It's been an action-packed year for Storm, to say the least. Here's some of the exciting stuff that's happened over the past year: 27 companies have publicized that they're using Storm in production . I know of at least a few more companies using it that haven't published anything yet. O'Reilly published a book on Storm. The  Storm mailing list  has over 1300 members, with over 500 messages per month. The  @stormprocessor  account has over 1200 followers. More than 4000 people have starred the project on Github . There's a  regular Storm meetup  in the Bay Area with over 230 members. I've also seen lots of Storm-focused meetups happen all over the world over the past year. 29 people all over the world have contributed to the codebase We released Trident , a high level abstraction for realtime computation, that is a major leap forward in what's possible in realtime. Libraries have been released integrating Stor

4 0.20677945 38 nathan marz storm-2013-04-12-Break into Silicon Valley with a blog

Introduction: I know a lot of non-technical people who would love to work in the venture-funded startup world, from consultants to finance people to other business types for which I'm not really sure exactly what it is they do. They hit obstacles trying to get into the startup world, finding that their skills are either irrelevant or hard to explain. My advice to all these people is the same: Write a blog. A blog can improve your life in enormous ways. Or to put it in business-speak: a blog has one of the highest ROI's of anything you can do. Put yourself in the shoes of startups looking for talent. First off – startups are desperate for talent. The problem is that it's very difficult to identify great people – startups search through loads and loads of candidates. Resumes and interviews only tell you so much about a person. It's really hard to stand out in a resume – you're not the only one putting over-inflated impressive-looking numbers and bullet points on your resume. And interviews

5 0.19200388 19 nathan marz storm-2010-07-12-My experience as the first employee of a Y Combinator startup

Introduction: I'm the first employee of BackType , a Summer '08 YC company. My joining the company increased the company size by 50%. The experience has been awesome, but I will say up front that being the first employee of a startup is not for everyone. The best part of being the first employee of a startup is the total exposure to all parts of the company. I've learned a ton about product development, customer development, recruiting, and entrepreneurship. Additionally, I've met and connected with lots of other awesome people through the YC network. I've gotten all these benefits at relatively low risk for myself, as I still have a salary and a solid chunk of equity. No Rules There are a lot of rules working at most companies. You don't even realize that some of the rules are rules until you work at a company with no rules. I'm talking about the most basic things like what hours you work, what days of the week you work, what tools you use, and whether you come into the office or not. B

6 0.17339042 37 nathan marz storm-2013-04-02-Principles of Software Engineering, Part 1

7 0.16934976 31 nathan marz storm-2011-10-13-How to beat the CAP theorem

8 0.16876586 4 nathan marz storm-2010-01-26-My conversation with the great John McCarthy

9 0.16459616 22 nathan marz storm-2010-10-05-How to get a job at a kick-ass startup (for programmers)

10 0.15037511 17 nathan marz storm-2010-05-26-Why your company should have a very permissive open source policy

11 0.14893779 20 nathan marz storm-2010-07-30-You should blog even if you have no readers

12 0.13823035 35 nathan marz storm-2013-03-16-Leaving Twitter

13 0.13221967 30 nathan marz storm-2011-03-29-My talks at POSSCON

14 0.12614878 18 nathan marz storm-2010-06-16-Your company has a knowledge debt problem

15 0.12358567 32 nathan marz storm-2012-01-09-Early access edition of my book is available

16 0.11087013 25 nathan marz storm-2010-12-06-You Are a Product

17 0.10894751 40 nathan marz storm-2014-02-24-The inexplicable rise of open floor plans in tech companies

18 0.10488628 41 nathan marz storm-2014-05-10-Why we in tech must support Lawrence Lessig

19 0.095878564 21 nathan marz storm-2010-08-20-5 Tips for Thinking Under Uncertainty

20 0.085042842 9 nathan marz storm-2010-03-10-Thrift + Graphs = Strong, flexible schemas on Hadoop


similar blogs computed by lsi model

lsi for this blog:

topicId topicWeight

[(0, 0.605), (1, 0.233), (2, -0.078), (3, 0.247), (4, -0.023), (5, 0.03), (6, 0.007), (7, -0.094), (8, 0.038), (9, -0.107), (10, 0.098), (11, -0.016), (12, -0.027), (13, 0.047), (14, 0.071), (15, 0.04), (16, -0.057), (17, 0.074), (18, 0.048), (19, 0.077), (20, 0.02), (21, -0.073), (22, -0.055), (23, 0.055), (24, 0.001), (25, -0.039), (26, -0.014), (27, 0.05), (28, -0.047), (29, -0.048), (30, -0.014), (31, -0.079), (32, -0.021), (33, 0.189), (34, -0.088), (35, 0.134), (36, 0.096), (37, -0.092), (38, -0.588), (39, -0.021), (40, -0.013)]

similar blogs list:

simIndex simValue blogId blogTitle

same-blog 1 0.97849983 39 nathan marz storm-2014-02-12-Interview with "Programmer Magazine"

Introduction: I was recently interviewed for "Programmer Magazine", a Chinese magazine. The interview was published in Chinese, but a lot of people told me they'd like to see the English version of the interview. Due to the Google translation being, ahem, a little iffy, I decided to just publish the original English version on my blog. Hope you enjoy! What drew you to programming and what was the first interesting program you wrote? I started programming when I was 10 years old on my TI-82 graphing calculator. Initially I started programming because I wanted to make games on my calculator – and also because I was bored in math class :D. The first interesting game I made on my calculator was an archery game where you'd shoot arrows at moving targets. You'd get points for hitting more targets or completing all the targets faster. A couple years later I graduated to programming the TI-89 which was a huge upgrade in power. I remember how the TI-82 only let you have 26 variables (for the character

2 0.40938848 33 nathan marz storm-2012-02-06-Suffering-oriented programming

Introduction: Someone asked me an interesting question the other day: "How did you justify taking such a huge risk on building Storm while working on a startup ?" (Storm is a realtime computation system). I can see how from an outsider's perspective investing in such a massive project seems extremely risky for a startup. From my perspective, though, building Storm wasn't risky at all. It was challenging, but not risky. I follow a style of development that greatly reduces the risk of big projects like Storm. I call this style "suffering-oriented programming." Suffering-oriented programming can be summarized like so: don't build technology unless you feel the pain of not having it. It applies to the big, architectural decisions as well as the smaller everyday programming decisions. Suffering-oriented programming greatly reduces risk by ensuring that you're always working on something important, and it ensures that you are well-versed in a problem space before attempting a large investment. I ha

3 0.30501774 19 nathan marz storm-2010-07-12-My experience as the first employee of a Y Combinator startup

Introduction: I'm the first employee of BackType , a Summer '08 YC company. My joining the company increased the company size by 50%. The experience has been awesome, but I will say up front that being the first employee of a startup is not for everyone. The best part of being the first employee of a startup is the total exposure to all parts of the company. I've learned a ton about product development, customer development, recruiting, and entrepreneurship. Additionally, I've met and connected with lots of other awesome people through the YC network. I've gotten all these benefits at relatively low risk for myself, as I still have a salary and a solid chunk of equity. No Rules There are a lot of rules working at most companies. You don't even realize that some of the rules are rules until you work at a company with no rules. I'm talking about the most basic things like what hours you work, what days of the week you work, what tools you use, and whether you come into the office or not. B

4 0.3030394 38 nathan marz storm-2013-04-12-Break into Silicon Valley with a blog

Introduction: I know a lot of non-technical people who would love to work in the venture-funded startup world, from consultants to finance people to other business types for which I'm not really sure exactly what it is they do. They hit obstacles trying to get into the startup world, finding that their skills are either irrelevant or hard to explain. My advice to all these people is the same: Write a blog. A blog can improve your life in enormous ways. Or to put it in business-speak: a blog has one of the highest ROI's of anything you can do. Put yourself in the shoes of startups looking for talent. First off – startups are desperate for talent. The problem is that it's very difficult to identify great people – startups search through loads and loads of candidates. Resumes and interviews only tell you so much about a person. It's really hard to stand out in a resume – you're not the only one putting over-inflated impressive-looking numbers and bullet points on your resume. And interviews

5 0.27867511 22 nathan marz storm-2010-10-05-How to get a job at a kick-ass startup (for programmers)

Introduction: When I finished college, I was incredibly naive when it came to finding a great job. I knew that I wanted to work at a small startup but didn't know how to find that great opportunity. I didn't know what questions to ask to evaluate a company, and I didn't know how I should present myself during the recruitment process. Now I'm a few years out of college and I have that kick-ass job I was looking for. My dual experiences of looking for a job and being on the other side recruiting programmers have taught me quite a bit about what it takes to get a great job at a kick-ass startup. Here are my tips, from preparing for the job search process to finding great startups to applying and getting the job. If you have any tips of your own, be sure to leave them in the comments! Preparing for the job search 1. Make a list of the qualities you're looking for in a job. Be explicit and specific. What are you looking for? Coworkers that are really smart that you can learn from? Coworkers

6 0.26692092 37 nathan marz storm-2013-04-02-Principles of Software Engineering, Part 1

7 0.26214483 31 nathan marz storm-2011-10-13-How to beat the CAP theorem

8 0.25857511 34 nathan marz storm-2012-09-19-Storm's 1st birthday

9 0.22358574 41 nathan marz storm-2014-05-10-Why we in tech must support Lawrence Lessig

10 0.22188753 4 nathan marz storm-2010-01-26-My conversation with the great John McCarthy

11 0.21926816 40 nathan marz storm-2014-02-24-The inexplicable rise of open floor plans in tech companies

12 0.21211214 18 nathan marz storm-2010-06-16-Your company has a knowledge debt problem

13 0.20917112 20 nathan marz storm-2010-07-30-You should blog even if you have no readers

14 0.202324 17 nathan marz storm-2010-05-26-Why your company should have a very permissive open source policy

15 0.20167834 25 nathan marz storm-2010-12-06-You Are a Product

16 0.19133772 35 nathan marz storm-2013-03-16-Leaving Twitter

17 0.17980513 9 nathan marz storm-2010-03-10-Thrift + Graphs = Strong, flexible schemas on Hadoop

18 0.17574297 21 nathan marz storm-2010-08-20-5 Tips for Thinking Under Uncertainty

19 0.17246655 30 nathan marz storm-2011-03-29-My talks at POSSCON

20 0.1722832 3 nathan marz storm-2010-01-13-Mimi Silbert: the greatest hacker in the world


similar blogs computed by lda model

lda for this blog:

topicId topicWeight

[(0, 0.063), (10, 0.038), (21, 0.019), (26, 0.071), (41, 0.065), (48, 0.032), (59, 0.064), (63, 0.011), (68, 0.059), (76, 0.055), (82, 0.34), (84, 0.015), (88, 0.07), (99, 0.017)]

similar blogs list:

simIndex simValue blogId blogTitle

same-blog 1 0.94945872 39 nathan marz storm-2014-02-12-Interview with "Programmer Magazine"

Introduction: I was recently interviewed for "Programmer Magazine", a Chinese magazine. The interview was published in Chinese, but a lot of people told me they'd like to see the English version of the interview. Due to the Google translation being, ahem, a little iffy, I decided to just publish the original English version on my blog. Hope you enjoy! What drew you to programming and what was the first interesting program you wrote? I started programming when I was 10 years old on my TI-82 graphing calculator. Initially I started programming because I wanted to make games on my calculator – and also because I was bored in math class :D. The first interesting game I made on my calculator was an archery game where you'd shoot arrows at moving targets. You'd get points for hitting more targets or completing all the targets faster. A couple years later I graduated to programming the TI-89 which was a huge upgrade in power. I remember how the TI-82 only let you have 26 variables (for the character

2 0.37274864 18 nathan marz storm-2010-06-16-Your company has a knowledge debt problem

Introduction: When your company lacks experience in tools and techniques that can make it more productive, your company has knowledge debt. Companies tend to operate in ways that exacerbate their knowledge debt problem. Consider this fairly typical job ad: Initech is seeking an experienced Software Engineer to join the engineering team. Responsibilities * Design core, back-end software components * Analyze and improve efficiency, scalability, and stability of various system resources Requirements * M.S. Computer Science or related field preferred * 2+ years of Java experience * Expert in relational data modeling and query optimization using MySQL I would posit a guess that this company uses Java for the majority of its work and uses MySQL on the back-end. Naturally, the company wants to recruit people who share that skill set and can "jump right in" and contribute. This mindset is fundamentally flawed. A company should be hiring for problem solving skills

3 0.35299826 33 nathan marz storm-2012-02-06-Suffering-oriented programming

Introduction: Someone asked me an interesting question the other day: "How did you justify taking such a huge risk on building Storm while working on a startup ?" (Storm is a realtime computation system). I can see how from an outsider's perspective investing in such a massive project seems extremely risky for a startup. From my perspective, though, building Storm wasn't risky at all. It was challenging, but not risky. I follow a style of development that greatly reduces the risk of big projects like Storm. I call this style "suffering-oriented programming." Suffering-oriented programming can be summarized like so: don't build technology unless you feel the pain of not having it. It applies to the big, architectural decisions as well as the smaller everyday programming decisions. Suffering-oriented programming greatly reduces risk by ensuring that you're always working on something important, and it ensures that you are well-versed in a problem space before attempting a large investment. I ha

4 0.34574956 38 nathan marz storm-2013-04-12-Break into Silicon Valley with a blog

Introduction: I know a lot of non-technical people who would love to work in the venture-funded startup world, from consultants to finance people to other business types for which I'm not really sure exactly what it is they do. They hit obstacles trying to get into the startup world, finding that their skills are either irrelevant or hard to explain. My advice to all these people is the same: Write a blog. A blog can improve your life in enormous ways. Or to put it in business-speak: a blog has one of the highest ROI's of anything you can do. Put yourself in the shoes of startups looking for talent. First off – startups are desperate for talent. The problem is that it's very difficult to identify great people – startups search through loads and loads of candidates. Resumes and interviews only tell you so much about a person. It's really hard to stand out in a resume – you're not the only one putting over-inflated impressive-looking numbers and bullet points on your resume. And interviews

5 0.33758757 31 nathan marz storm-2011-10-13-How to beat the CAP theorem

Introduction: The CAP theorem states a database cannot guarantee consistency, availability, and partition-tolerance at the same time. But you can't sacrifice partition-tolerance (see here and here ), so you must make a tradeoff between availability and consistency. Managing this tradeoff is a central focus of the NoSQL movement. Consistency means that after you do a successful write, future reads will always take that write into account. Availability means that you can always read and write to the system. During a partition, you can only have one of these properties. Systems that choose consistency over availability have to deal with some awkward issues. What do you do when the database isn't available? You can try buffering writes for later, but you risk losing those writes if you lose the machine with the buffer. Also, buffering writes can be a form of inconsistency because a client thinks a write has succeeded but the write isn't in the database yet. Alternatively, you can return errors ba

6 0.3332144 9 nathan marz storm-2010-03-10-Thrift + Graphs = Strong, flexible schemas on Hadoop

7 0.32538745 40 nathan marz storm-2014-02-24-The inexplicable rise of open floor plans in tech companies

8 0.32404071 19 nathan marz storm-2010-07-12-My experience as the first employee of a Y Combinator startup

9 0.31107786 17 nathan marz storm-2010-05-26-Why your company should have a very permissive open source policy

10 0.29994801 8 nathan marz storm-2010-03-08-Follow-up to "The mathematics behind Hadoop-based systems"

11 0.29039133 37 nathan marz storm-2013-04-02-Principles of Software Engineering, Part 1

12 0.27921504 26 nathan marz storm-2010-12-09-How to reject a job candidate without being an asshole

13 0.2756938 22 nathan marz storm-2010-10-05-How to get a job at a kick-ass startup (for programmers)

14 0.26534209 23 nathan marz storm-2010-10-27-Fastest Viable Product: Investing in Speed at a Startup

15 0.25932726 4 nathan marz storm-2010-01-26-My conversation with the great John McCarthy

16 0.25526336 7 nathan marz storm-2010-03-04-Introducing "Nanny" - a really simple dependency management tool

17 0.25159204 25 nathan marz storm-2010-12-06-You Are a Product

18 0.24860418 3 nathan marz storm-2010-01-13-Mimi Silbert: the greatest hacker in the world

19 0.23072487 21 nathan marz storm-2010-08-20-5 Tips for Thinking Under Uncertainty

20 0.22428747 1 nathan marz storm-2009-12-28-The mathematics behind Hadoop-based systems