Those people claiming ISRO does it at a shoe string budget, because they reuse yes they do. But we are talking of a factor of more 10 here.

Let me put facts on ground. Go and visit any ISRO campus in India. See the kind of offices they work in, they kind of food canteens they eat lunch at, they kind of buses they travel in and take a look at how much they are paid. I assure you will be shocked. In fact shocked will be a mild statement to make. These people work on ordinary steel tables, with fans over their heads. Eat the 15 rupee rice-curry meal and travel in 20 year old buses. Well forget all that. Take a look at pictures of ISRO available over the internet, they look like to be taken in some one's garage than a space research organization.

Your average MacOS/iOS app development start up has better working conditions and infrastructure than any ISRO office in India. I'm not talking just about the work place infrastructure. Even the working gear, stuff like computers etc.

For the salaries and the net compensation ISRO offers no ambitious well qualified youth in India would be willing to work there- I'm even surprised they have even gotten this far. Note, you are comparing a salary for something like 20K per month with a salary of something like 100K a month Google offers. You get peanuts for building the most important pieces of technology in the history of mankind, compared to building websites for sharing cat pictures.

This is working on shoe string budgets to its very extreme. I hope these people get better funding in the future.

And yeah for those people too worked up about spending some 100th decimal rounding error of India's budget on a mars project. That is doing far more benefit to India's reputation, than a yet-another-scam-infested scheme.

Every time India space programs discussion comes out a group of people will bring up India's poverty and other problem that should be fixed instead of investing on space program.

I used to be one of those guys (I am from Bangladesh), then I looked at the actual cost of this space program and realized that its not a lot of money (~$70 Million) even by India's standard. For example, in india's domestic cricket tournament (IPL) one of their franchise was sold for $370 million.

I also don't buy the wholesale "you shouldn't do x, unless y is achieved/fixed" argument. It might apply to some instances, for example india defense budget is about $46 billion, a big portion of it could have been certainly spent to alleviate the living condition of poor Indians in general. But most of the problem in India and other south-east asian countries are corruption and inefficiencies, not (always) lack of funds.

Every single time India does something in Space, the bigots come out from the woodwork: but India is so poor! Let them solve poverty/hunger/education/water/toilets/ice-cream first, and then worry about space.

When JFK pledged to put a man on the moon in 1961, the US did not even have the Civil Rights Act[1]. Millions of blacks lived in poverty, and were denied basic rights. Schools were segregated. In large areas of the South, blacks were denied the right to vote. There were lynchings. People were being killed just for demanding the right to vote. And Vietnam War was picking up steam.

And you know what? The US still said that getting a man on the moon amidst all this was a worthwhile goal.

To be clear, I have no intention of quitting. I started working on this project without even thinking about YC as a possibility, driven only by excitement and the desire to see it exist. In fact, I wasn't going to apply to YC at all, but changed my mind at the last minute.

Against my better judgement, this little idea has turned into a full time, 18hrs-a-day-7-days-a-week project (with the occasional burnout day), and I plan to keep working on it is successful or I run out of money.

> [ http://www.lorenburton.com/ ] > [...] I posted the site to HN and dropped a "share on twitter" button on > the bottom of the page, racking up tens of thousands of hits and hundreds > of tweets. I was in touch with Joe Gebbia (thanks pg!!) within hours, who > expedited the interview process, and I flew to SF the next morning. Though > I didn't get the job [...]

Wait, what?! You made http://www.lorenburton.com ... and then didn't get a job at AirBNB? Goodness gracious. The job was for some frontend stuff, right? You seem pretty good at making frontend stuff, I can't imagine why you didn't get it.

It's an overall strong application, but it's missing a few key components - namely, you're a single founder, and you're a bit early in terms of product and traction. That might've been enough to get in a few years ago, but competition and standards have gone up with each new batch (the single founder thing might've still held you back).

You'll probably have a better chance getting in the next batch, if your product continues to mature and you have more traction by then. If you're interested, I wrote about my experiences reviewing about 300 applications for a different accelerator, 500startups - might be useful http://www.techfounder.net/2013/08/22/after-reviewing-300-st...

Why do you think there was no YC interview? Any retrospection?Was it due to you being the only founder? How strict is the video time limit? The video sounds not really geared for YC but for general audience. Also, did you have a friend go through the application? A lot of it sounds like bragging, which is not bad at all but can be abrasive after a bit.

I wouldnt have thought the market was huge for this. You mention "Textbooks" - most commercial publishing companies would already have internal version control software, you mention essays? Most students would just use google docs. Where is the target market? It's neither casual nor a power tool. Thats probably why your pitch failed, their is adequate substitute products already in the market place.

I can't remember where I saw it before but ever since then any instance grates on me: describing your product in terms of other product. - GitHub for writers- Facebook for Pearl Divers- LinkedIn for Horse Whisperers- Twitter for Ornithologists

Merits of the idea aside it really turns me off, smacks of a lack of creativity, a lazy route to explaining your product benefits.

The real novelty here is the return statement: Note that I return a potentially huge vector by value. In C++98, that would typically cause the copy of all elements of res, potentially many thousands of elements. That would be a serious performance bug. In C++11, vector has a move constructor, so that rather than copying elements, the representation of res (merely three pointers) is stolen for use in the caller and an empty vector is left behind. After all, we are just about to return from find_all() and wont be able to use res again. Thus, returning a vector by value costs at most six word assignments independently of the number of elements. Move constructors is a simple facility available to every programmer and used by all standard-library containers implemented as handles. This allows us to return large objects from a function without messing around with memory management (explicitly) using pointers and free store.

Are most C++ programmers excited by this? Is the idea that people should start writing code depending on this behind the scenes behaviour, or that we now have a way to speed up poorly written code? It feels like an awful lot of effort to avoid returning a pointer. And if I were actually worried about the performance, I wouldn't feel comfortable just hoping it happened. Is there any confirmation by the compiler that it handled this in the way the programmer wanted?

I know what he means about teaching - I do a lot of systems (embedded) stuff, and love (well written) C++, but the course I did on it at Uni was awful. If that had been my only exposure to C++, I never would have wanted to touch it again!

Reader derangement syndrome strikes again. Summarizing the thread, if you're are an early adopter of anything, you run the risk it won't be here in a year. That's what we tolerate in the tech arena, start ups throwing lots of good and dumb ideas at the wall to see what sticks, evolution in action. How many people who built their business on Facebook's F8 platform went belly up due to changes?

Google is a company that is constantly experimenting with new products and services. Yes, some of them will fail. That's the cost of innovation. It's really sad we've forgotten that. Failure is an acceptable risk to move forward. If you're risk averse, leave the opportunity to others to jump in and place their bets if Helpouts is a winning platform for them.

This would help with the times I've just wanted to ask someone "so, does this shirt actually go with these pants, or am I totally crazy?"

All joking aside, this could be interesting. It makes me think of that service that existed for a while where you could ask a question of a topic area, and it would send an IM to people and ask them to answer it. I forget what it was called, but I used it for a little while.

The payment/HIPAA compliance aspect are pretty interesting, too. I would easily throw $50 at a 10 minute consult with a doctor instead of having to make an appointment and haul myself in to the local clinic. Particularly if said doctor could then fax a prescription for something completely boring but still not OTC to my local pharmacy.

My initial reaction is "cool, but I won't use it as it'll be shutdown soon enough". I wonder if enough people avoid new Google products due to shutdown fears so it leads to a product ultimately being shutdown due to neglect.

For anyone interested in a tech specific version of this there is a site http://anyfu.com/ I'm a fan but not associated).

I believe this model for connecting people for very brief engagements over the internet is an interesting one. With the educational model being pushed by companies like Coursera I could see something like this becoming popular for access to tutors or even peers studying the same subject. For quick help solving a problem there is obviously a problem of getting to sufficient scale in a 2-sided market place. Perhaps google will achieve that. I suppose the risk is becoming the yahoo answers or the expersexchange of the space.

Interesting product. As others have pointed out, there are a number of similar services, many of them vertically-focused.

Google says it's starting small, but Helpouts is already quite broad. Covering lots of subjects won't be such a problem if Google leverages search and YouTube to promote relevant providers, but I'm not sure it will.

wonder if this will get integrated into google search results as a way to help users with subjective questions not well addressed by google search ... e.g., search for "best way to bake a cake" and see as an option the ability to chat with an expert live.

At this point I don't even know what will convince me that stuff like this that Google releases isn't yet another dead-in-a-year product. We've seen a number of great service being killed just in the past few months alone. What makes this any different?

My only advice to kids is: don't make this something you depend on. Remember if you aren't paying for it, you're the product, and Google could care less about you and your silly needs when it comes time for some Spring Cleaning.

Nostalgia overload. I absolutely loved this game back in the day. Surprised to see you can still even download the demo of the game even. I'm guessing this was one of those sites Microsoft forgot about. Look at those system requirements, back when PC power was still measured in megahertz and ram was still referred to in megabytes, crazy.

I remember buying the steering wheel for Midtown Madness, which was larger than many desktop monitors today and required a near-bolting to your desk, and feeling like I was on the cutting edge of gaming.

Counterpoint: he notes our techniques are based on writing, but it goes deeper: our symbolic writing (including mathematical notation) is based on speech, for which we have dedicated linguistic structures in our brains, much as we have a visual center. It is deep-seated, and many have argued fundamentally entwined with sapience. Thus, even if it's not theoretically the best way, it might be the best way for us. But I'm going to argue it is the theoretically best way:

Linguistic descriptions have a key advantage over pictorial in that they represent or reference rather than show. This enables them to be compact, and omit unnecessary detail. (Of course, showing rather than telling is a strength of visual representation).

Yes, you can have a hierarchy of visual systems, and zoom-in or hide. But a fundamental problem here I think is in choosing the hierarchy - that is, the way the system is modularized.

Different modularizations of the same system are often appropriate for different uses of that system, or for considering different aspects of it. For even a slightly complex system, there are a huge number of different modularizations possible, and not all of them are useful. Often, you'll start with a poor one, and eventually have insights moving you towards the ideal one. (Of course, sometimes the "right" modularization is obvious, especially for well-known families of problems).

All this is very difficult. My point is that it is easier to switch modularities linguistically than pictorially, by changing your concepts. Without the right modularity, it's difficult to pictorially show just the aspects of interest instead of the whole picture. In contrast, one can linguistically omit detail by referencing it (implicitly, as a separate module).

Maybe it's possible to do this visually, though I suspect it thereby would have become linguistic!

[Though the above is a counterpoint, I'm very impressed with the talk. He's working both ends of abstraction, with concrete working software demonstrating cool useful practical techniques that, while not universal, would be helpful in many domains; and also framing it within, and using it to illustrate, the deep universal and philosophical idea of unthinkable thoughts. BTW e.g. uncomputable numbers.]

How inspiring it is that Bret Victor diligently designs the presentation of his content: to me this is one of the reasons he's apart from others, where often even a great design thinker simply leaves a talk or slides or an essay to be presented however it will, like a philosopher who sets aside her inquisitive attitude in real life.

On one hand, I agree with almost everything he says in the talk, amazed by the prototype tools he presents, the concepts he discovered to make those tools usable. And I can see that in each talk he has some new insights to present, deeper connections, better and more general creations - and thats really exciting.

On the other hand, his attitude that he doesn't plan to turn the tools into products, that they're just prototypes, that he expects someone else to come and create actual products - that rubs me the wrong way.

The thing is, we've found excellent collaboration platforms exactly for these kind of prototypish things that we don't plan to make a product of yet we would like other people to toy around with the general idea. The most recent incarnation is GitHub.

So why not publish some of these prototypes? Its not about the code, its about forming a community that will build upon those ideas. Its about kick-starting the construction, setting it in motion. As far as I can see, that is what Victor is hoping for - people taking these ideas close to their hearts and building them in reality.

Is the idea not ready yet? Not exactly polished enough or general enough to be published? The visualization drawing / exploration tool looks like an awesome start to me...

IMO - Abstraction is almost a prerequisite for creating anything interesting or innovative.

Meaning: my best ideas always come from playing in non-traditional representational systems within a certain medium. Particularly drawing. I find sketching/scribbling/drawing things generates ideas that I could not have thought of by just writing/brainstorming. You may even be able to apply it to the example of how software development models have jumped paradigms into mainstream business management (eg, agile teams). Bret's onto something here.

I think one major reason why Victor's talks are so appreciated is that he shows a deep and serious engagement with humanism, tapping into the same vein as Christopher Alexander, Alan Kay, Jef Raskins, Seymour Papert, and others.

I am somewhat intrigued by the idea to represent arbitrary systems. I wonder where you might hit a wall within the editor, and how you can extend the editor to be able to visualize what might be possible to vizualize now. Like Emacs paired with these capabilities?

The scientific paper isn't designed for people who need explanation/visualisation of a logarithmic curve. People who read that paper should be able to quickly decipher what the authors have written their writing is consistent with normal mathematical instruction.

The electrical drawing would be obvious to anyone who is used to working with them.

There are obvious places where this would work dissemination of material is always useful in many different forms. But this is NOT an answer to a question that is being asked. Rather, it is an alternative form of dissemination to an alternative audience.

I'm a big fan of Bret Victor's thinking, but this part struck me as indicative of the criticisms he'll receive:

"here, they are discussing some relationships: the regular latice, L grows linearly with n, we see L growing linearly with n, and we see C is staying constant. In the random network, L grows logarithmically, and we see L growing logarithmically, we see C going as a reciprocal relationship. When we read the word "logarithmic", we don't need to reconstruct that relationship in our head, you can just see it"

Does the average reader of Nature need to be shown a graph of what a linear, constant, logarithmic, and inverse relationship looks like? I don't think so.

That said, I imagine there are highly terse and technical ideas that cannot be simply represented in the current mediums of publication and which could benefit greatly using a presentation using an interactive widgets, making more complex ideas more easily communicable.

i know you all hate on mathematica but isn't this what the CDF computable document format is all about? text, systems modelling and dynamic movement all in the one language/system? (NB i'm not a mathematica user but have always wanted an excuse to get into it)

>This page is an attempt to "explode" a demo-driven talk into a skimmable, browsable, gistable form, where individual ideas can be quickly referenced later.

This reminds me of another tool, Korsakow[0], which attempts to do a similar thing in a different way with documentary material, by presenting it in "shortest narrative units" or SNUs that relate to each other. It is one of a number of "interactive documentary" tools (like Mozilla's Popcorn [1] to some extent) but I wonder if it could be repurposed to "explode" a talk in a slightly more digestible way that could be reproduced by those of us who don't have Bret Victor's skillz.

I wonder if Powerpoint (or Visio, OneNote, VS) will eventually evolve this way. My prediction? We'll see lots of bad examples for 10+ years once software for this takes off, until people actually write up what better ways exist through documenting the good stuff. Oh and geeks will use Latex-style power tools that no one else can figure out :) Perhaps I'm talking about the web once alternative layouts and HTML5 component libraries start taking off... Maybe we'll see the return of Quartz Composer someday. When Apple actually takes non-linear programming seriously.

I 'm not convinced. Such a "media" for thinking the unthinkable already exists. It's called "written language" plus maybe a drawing here or there. Has been used for millennia and once internalized by a mind willing to spend the effort to parse it has never failed to convey the unthinkable, the sublime or the transcendent.

Haven't watched the whole thing, but scrolling down and reading his closing makes me not want to watch it. He complicates the simple procedure "Completing the Square" (http://en.wikipedia.org/wiki/Completing_the_square). Take half of the b coefficient, square it, and add it to both sides gives x^2 + 10x + 25 = 64 or the completed square (x+5)^2 = 64 or x+5 = 8 or x=3.

I made games for 30+ years and I had this exact question about year 4. I was sitting at home, writing some 6502 I think, and my cousin called. She had to call to tell me about a Commodore 64 game she bought from FisherPrice. She started to describe it to me, an educational game where you controlled a penguin who dropped letters down a chute to form words. I had to interrupt her to explain, I had written that game.

She had no idea I was the author and designer.

She spent the next 45 minutes telling me how it was the only game she and her daughter played together. She told me that her daughter was motivated to read, and became an avid reader, after playing my game.

I never felt more rewarded, or that I was doing the right thing with my life so mach as during that conversation.

Somehow I think it fair to add that the last game I was the producer for, involved pushing over a port-o-potty, putting wheels on it and then pushing it down a hill and off a cliff to see how far it would go. Don't laugh, Potty Racers went to #1 in the App Store...

Don't forget the stress relief video games can give. Society managed to make even sheltered 1st world lives stressful thanks to unrealistic expectations imposed on a personal and professional level. We're all apes though, despite all that's expected of us. And these apes love to wonder about their world and explore its every corner. Video games satiate this desire somewhat - and that will do, on a fucking Monday night after a long, frustrating day at work.

Fortunately it's been rare that someone has condescended to me that games are pointless, cruel, evil or mere diversions in general. Games bring joy. Although the same could probably be said of pornography, and yet porno isn't getting any more mainstream of an art form

Just being entertaining, I think, doesn't legitimize games.

Surely earning lots of money has something to do with gaming as a legitimate full-time culture-making pursuit. A coworker taught a General Assembly class whose attention immediately rose when he pointed out that Clash of Clans earns more than $1 million a day selling virtual goods. But I don't think the creative folks behind that game are necessarily proud of its making moneyI know I'm not exactly proud of making a slots game. And I don't think casinosthe highest revenue game in townare all that respected.

Being a growth industry probably doesn't legitimize games either, it seems.

The challenge though: that's why I make games. I think it's bigger than breadth & depth of computer science. In one scientist's words, a game developer rewires people's brains without reading any scientific literature. Little could be as thrilling. And I know I look at guys like Brian Reynolds and Will Wright as inspirationsmart cultural observers whose technical wizardry turned into real social commentary.

I see game developers, especially those one-man indie efforts, to be modern reincarnations of renaissance artist-cum-technologists. At their core is the artist that longs to explore unknown world through manipulation of certain mediums that may or may not lead to useful applications. I see the author as somebody that takes pride in seeing his work affect people's daily lives. An artist might not even care if anybody understands his work or if anybody cares about it at all.

While it's true that games don't necessarily have the same impact on people's lives as other, more "important" work, for me, making a game or studying how a game works is such a fun process that it's worth doing anyway.

I spent some time trying to make games in my high school years (NeHe's tutorials helped me a lot)and trying to understand how other games work (I remember the sense of achievement when I managed to switch textures in some crappy FPS game).

Today I deeply regret that I didn't put enough effort to study this field properly... I like my current gig, but I will always look at real game developers with a sense of envy.

Especially after the impact that Minecraft has, my impression is that creating games is your best bet to create new ways of story telling and user interactions. My feeling is that we didn't even scratch the surface of what is possible.

A lot of people forget how important two particular industries have been in terms of pushing the envelope when it comes to computer processing and Internet bandwidth technology: Pornography and gaming.

While porn and games are certainly among the more hedonistic (and certainly less virtuous) of products, because people care so much about them is in large part the reason why we have more powerful CPU/GPUs - for example - or faster connection speeds. (I guess you can thank U.S. military investments for some of this stuff as well.)

My point is, gaming is important. Like, really important. It might not have the direct impact on African schoolchildren that Kiva or Doctors Without Borders does, but one could argue that those organizations would not be able to leverage the technology that they rely on so much if others hand't paved the way. Keep doin' the good work, son! ;-)

Why write them? Because games are play which is the most vital activity humans, indeed mammals, engage in. Without it, not only would I not have this very alphabet I'm writing in (which descends from drawings), but I and everyone reading this would still be sitting in a bush very practically gathering as many berries as we can to survive.

And as the gaming population becomes older, gaming will account for a larger and larger percent of human play.

Games are entertainment, leisure time, fun and ignite creativity. If your game can provide that to people, its probably doing alot more good to them than many of the "life-changing" social apps out there.

Apart from that it poses many interesting technical challenges and will make your a better programmer.

I don't know about the passwords, but my card was successfully stolen[1] and a malicious transaction was initiated from another country. I know this was because of Adobe for sure because I (co-incidentally) used a brand new, fresh, unique e-mail address just for Adobe, and that email was released recently in the dump that the hackers provided.

Luckily the malicious transaction was declined by my bank and they blocked the card for me and they told me that someone had compromised my card details and issued me with a replacement card free of charge.

I only keep posting this in every thread[1][2] about Adobe because I genuinely want other Adobe customers to understand the gravity of the situation and disable their compromised credit card and get it replaced by a new one as soon as possible.

To play devil's advocate here, isn't this actually more secure than something like MD5 or SHA1 without stretch factors or multiple invocations, assuming that the key was not also stolen?

My reasoning is, that in order for an attacker to get the passwords out of this dump, they have to break the 3DES encryption. Brute forcing the key is, as I understand it, still very difficult, and without it they can't get any of the passwords. If someone did find the key however, they'd have instant access to all of the passwords no matter how complex.

On the other hand, if the passwords had been protected using an unsuitable hash algorithm, the highly efficient GPU-based crackers would be able to find millions of people's passwords very quickly, using the sophisticated dictionaries and mangling techniques that are around now. Even quite complex passwords can often be found in this way, since the GPU crackers have got so fast they can try billions of combinations - e.g. even things like "!)@(#*$&%^Test123" can be cracked. [1] [2]. Although, extremely long and complex passwords should be safe.

Obviously, I'm not advocating we all switch to 3DES for our password storage, and the huge risk here is that the key was also stolen - but I'm wondering if my reasoning is actually right here, and that people without extremely strong passwords are better off with this leak than if it'd been MD5.

"Adobe says that they've followed best practices for password storage and protection for more than a year now, as their authentication systems were upgraded to use SHA-256, with salt, to protect customer passwords."

Absolute bullshit! SHA-256 with salt is totally inadequate for password storage, they should use a PBKDF like scrypt.

As a small aside about Adobe security practices, I needed customer support from them the other year (its own horror story). As part of this, customer support insisted on setting up an Adobe account, although I'd purchased the product through a third party vendor and not directly from Adobe (as it turns out, thank goodness!).

When looking up that account information, I saw the note I made as to the original password they gave that account that they set up: "123456". I had changed it away from that; I suspect a significant number of their users might not have.

Glad that account contained only a name and ZIP code / town.

AND the serial number. If someone consumed a spare slot on the serial number, I shudder to think of how many hours on the phone with Adobe support it might take to get that slot freed up.

So, if Adobe engineers eventually realized that they needed to upgrade their password security, and they had access to the passwords in their DB (they used 3DES, and they had the key) - why did they not immediately decrypt and hash all passwords?

..FWIW, for those of you who haven't been enlightened with the power that Google Apps Script[1] offers yet, be sure to check it out: http://script.google.com. Layered on top of Spreadsheets, this pair takes prototyping to a whole new level.

Unfortunately the option for creating the old-style Google Form is not directly available since Google switched everything over to Google Drive (if anyone knows how to access it please let me know) so I cloned/copied an existing old-style form for future use.

For what it's worth, sheets also has publish as CSV which is super useful for, say, building d3 graphs (d3 consumes csv like a champ).

I'm using it a lot lately as I have to create static sites with a bunch of different translations. I have the translators edit a set template, which is aggregated into a single sheet. Then, a (racket.. could be python or anything) script reads from the published csv and outputs all the translated pages. Super useful.

Yes I have done this. Google make it particularly difficult to get the URL of the spreadsheet. And that od6? Thats if you have multiple tabs, they have random identifiers. Its almost impossible to work out what they will be. Its like they are on the web but not of the web.

But it is an easy interface for unskilled users to add data to say a graph on a website, have done that for clients and they have been very happy.

Good for prototyping, thanks. I'd be wary of using this in a live system though: relying on Google's public APIs/services is risky enough (Checkout is one example, Reader, etc) let alone an undocumented feature like this which could change/disappear suddenly.

Edit: it has been pointed out that the criticism of their documented/public APIs may be unjustified. The issue here is that this particular feature is undocumented

Hmm, I would think thrice, before I go his path again. Thought it was a clever idea to use the mixture of easy to maintain spreadsheets, the cron service and JSON to feed huge satellite images into a tiling service (zoom.it) and let Google autonomously update and serve the list of daily mosaics as JSON.

I got used to daily time out messages, but waiting 1 min for a (cached!) 10 kb JSON list is far too much. However, organizing and correcting data using an online spreadsheet saves a lot of time and is kinda fun.

This is great for prototypes but there's an edge case that breaks it's usefulness in live sites.

Sometimes google will make already logged in users reauthenticate. It will redirect to the authentication page and you'll get a bunch of HTML rather than json returned, and the user won't know why it's not working.

I have once used Google Spreadsheets as a database for a bookmarking app: https://github.com/qawemlilo/Bookmarks. What I did different was that I published my spreadsheet as a CSV doc and then used YQL to convert is to JSONP.

(0) Be female. Don't be born with heart defects. Don't be old. Don't have Marfan or Loeys-Dietz syndromes. (All of the unfair/can't modify factors will get lumped into recommendation #0.)

(1) Don't use tobacco or cocaine, and don't drink too much alcohol.

(2) Don't get exposed to radiation or chemotherapy.

(3) Don't have diabetes.

(4) Don't have high blood pressure.

(5) Have low levels of LDL and triglycerides.

(6) Don't eat too much. This is tightly related to #3 and #4, and reasonably related to #5.

(7) Have extremely low levels of LDL and triglycerides throughout your entire life. Having low LDL throughout your entire life reduces your risk of heart disease, even moreso than you would expect based on the LDL value alone. It seems that lifelong exposure to low LDL is more valuable than just late-life exposure to low LDL. [a]

Most of the genetic variants that we can currently interpret when accounting for risk (as opposed to the innumerable ones which we cannot yet interpret) fall into lipoprotein-related pathways. It will be interesting to learn about ones that do not, yet still confer meaningful cardiovascular risk. I don't think that we have a mechanistic explanation yet for the risk conferred by variants in the 9p21 locus, for example. [b]

I'm reasonably certain that your HDL is not particularly important (except as a poor proxy for your socioeconomic status, perhaps).[c] And omega-3 fatty acids have no visible effect when examined in the rigorous way in which we examine any other new drug. [d]

I tend to think of doctors as mechanics. Often when something breaks on my car, the explanation is "it's an old car, that happens eventually." And when they talk about it after fixing it, it's usually "Toyota's a good brand. Take care of it and you'll get another 100k miles from that engine." If I took my car to my mechanic with nothing wrong and asked what I should be doing to make sure the transmission lasts as long as possible, they will give me some generic intuitive advice, but they have no real insight because they are not in the business of maximizing the lifetime of healthy cars.

Doctors are kind of the same way. They see patients who have problems and need them fixed. If you walk into a doctor's office and say your family has a history of heart disease and you're concerned, they'll run a standard diagnostic to see if there is a problem. If there isn't, they'll give you generic advice. Outside of that, they are not really likely to have much insight into how to prevent heart disease in your specific case. Maybe you'll get lucky and the doctor will have recently read a relevant paper.

This seems to me like a problem that you're better off having answered by a medical researcher rather than a physician in the trenches. Researchers are the ones who are taking the long view on outcomes in patients. Keeping with the same analogy, you're probably better off talking to a mechanical engineer at a car company about maximizing the life of your currently healthy transmission.

Also, I generally see this as a problem that will be best addressed by machine learning researchers collaborating with medical researchers. Then again, I'm an ML PhD student working on health applications, so I'm biased. :)

> Generic advice to eat well and exercise is not as effective as having a specific number you're trying to improve on e.g. lowering your ApoB count.

I'm not so sure this is a wise approach.

I won't say that numbers aren't important, but it's worth noting that in many cases, doctors still don't know what particular measurements actually mean in practical terms because cause versus correlation is so hard to figure out in complex systems like the human body.

As an example: the general consensus has been that "good" cholesterol (HDL) has a protective effect and that those with lower HDL levels are at risk. You can have an LDL of under 150, low triglycerides and your cholesterol ratios can be stellar, but if your absolute HDL number is low, there's a good chance your doctor will talk to you and, at a minimum, recommend ways that you might be able to bring your HDL level up.

One common approach of doing this has been to use niacin, yet a 2011 clinical trial involving the use of niacin in an attempt to increase HDL levels in a high-risk population failed to produce the hoped-for risk reduction despite the fact that the niacin did increase HDL levels[1]. A larger, more recent study had a very similar outcome[2].

One logical possibility is that the HDL level reflects some other underlying factor which controls for risk and doesn't itself have the ability to influence risk. If this is the case, a higher HDL number may confer little to no protection unless it is the product of some other natural process.

My father is in the hospital about to have a quadruple bypass. He has been a vegan for 15 years and is on his 2nd heart attack. The "animal fats cause heart disease" stuff has brainwashed him into thinking that his carb rich vegan diet is good for him. It's not (which isn't to say that if he did a GOOD vegan diet he wouldn't be much healthier).

I think this article is very insightful. One very good indicator (although not as good as the details the author got tested) is a person's HDL to triglyceride ratio. High levels of HDL are good, and low triglycerides are good, since its currently thought that higher triglyceride levels are linked to the small, dense LDL particles that work their way into artery walls.

> Am I missing other major downsides to taking a more proactive approach to managing my own health? Are there other things I should consider looking at to get a complete picture of my health?

A potential downside is the tendency is to shift from being proactive about your health to diagnosing (or worse -- treating) yourself based on independent research. I get that it's tempting to fire up google scholar, pubmed, uptodate etc to get a better understanding of what's going on -- just don't go the next step and start diagnosing and treating yourself.

See a specialist. See a domain specialist if you can. Get another opinion. Ask questions and air your concerns. If your doctor doesn't adequately answer your questions and concerns, see another doctor. Your greatest asset -- and the one you should be focused on-- is the ability to get multiple opinions from people who have trained for decades on a topic.

It seems like you need to see a new doctor -- not order your own tests.

Its great to see other tech people educate themselves about health and help break the stereotypes of the ramen eating, soda drinking nerd. This story reads almost like what happened to my dad last year. He complained of shortness of breath and went to see a cardiologist. He got an angioplasty done, which showed severe calcification of the arteries. The doctor advised him to have a quadruple bypass the very next day. I flew in from San Francisco to be with my dad in the hospital.

After my dads surgery, I decided to get more involved in his health. As someone whos been following a Paleo lifestyle for over 4 years now, I stayed in NJ for 3 months and nursed my dad back to health. I cooked every one his meals for those 3 months. His fasting blood sugar fell from a borderline diabetic value of 121 to a more normal 92. He lost considerable visceral fat around his waist and was looking better than he has in maybe 20 years. All of his blood markers improved.

Good health is both easy and hard. The easy approach is to understand that modern industrialized food is harmful and try to emulate a diet from yesteryear, like Paleo, or your ancestral cultural diet. The flip side of the coin is to dig into science, as you have done, and understand the intriciacies of various blood markers like cholesterol, the difference between small and large particle size, Ha1bc, the various types of short chain fatty acids, figuring out that fat is not a villain, learning the dangerous of low fat foods, etc. Ive been studying this stuff independently for 4 years, including learning enough biochemistry to get through medical research papers. Everything I have read so far points to a Paleo-type diet being optimal. As an engineer Im taking the latter approach as I need to prove things to myself before taking it for face value. But for the layman, its not really that hard.

Something is wrong in this world when Tom Hanks, with access to the best doctors in the world, announces that he has type 2 diabetes, when I was able to reverse it in my dad in 3 months through diet alone.

I use DirectLabs for my blood work. Crappy site, but very happy with the turnaround time.

Of course it's important care about your health and do what you can, but given the large error bars on our knowledge and the randomness of life in general, I think that it's worth thinking about how much time and effort should be spent on it. There is a correct amount of effort, I'm just not sure that monitoring these additional numbers is worth it; it may be adding more noise than signal to the problem of living a fulfilled, healthy, and happy life.

His doctor is correct. Even the lab work obtained - ApoB and CRP - was just a picture in a moment in time. You are not going to be checking these levels on a daily basis, or monthly, at least not until there's an easier way to measure things without having to get stuck with a needle all the time.Stress is considered a risk factor, but how do you plan on measuring stress? And maybe not with respect to heart disease specifically, but today a study was released suggesting loneliness was as much a health risk as drinking and smoking 15 cigs a day - but how does one measure the extent of loneliness?

A good diet is important, and there's enough information out there to determine what a good diet is. I believe weighing yourself daily is real helpful. And regular exercise - a combination or aerobic and anaerobic. There's enough data to indicate that these interventions, combined, are effective in reducing risk.

And, on a less preventive note, truth be told, if someone in their mid 50's is complaining of SOB and has a family history heart disease, most doctors, in the US at least, are going to do more extensive testing.

I worked for WellnessFX (mentioned in the article) in the past and definitely recommend their service. The stuff they test for is not a part of standard (e.g yearly physical) blood work and you'd have to convince your doctor to give you the tests (intimidating, expensive). Granted, this is because the larger medical establishment either doesn't think they're necessary, or has yet to come to a consensus on their interpretation.

Personally, given the recent wave of news debunking low-fat/high-carb diets, I'm inclined to take the health research from the past couple of decades with a grain of salt.

Dont overanalyze yourself. Since passing out about a year ago because of an infection and not drinking/eating anything that morning i have some serious anxiety issues that affect my life in a bad way. I started to monitor my heart, my blood pressure, my pulse and freaked out whenever something was slightly off. I went to numerous doctors and cardiologists, nobody could find anything of relevance, no risk factors at all. I still worry.

With time it got better but there is a reason we dont usually think about bad things to happen or us or even death, because it affects our psychology in a bad way.

I am not saying do not care for this, but also trust the doctors. The advice of eating healthy, exercising regularly and stop overanalyzing yourself is the right approach and will lower your general risk considerably. Of course go and check your blood once a year but overall there is only so much you can do.

In the end theres many,many risks in life that you cant really pre proactive about because we also dont really know the human body yet. If you get into this you will find hundreds of people suggesting different things, you will learn about all kinds of diseases you shouldnt really worry about in the back of your head because it will bring your quality of life down in the end.

When I was 28 years old, found I had high blood pressure. Over next 7 years I took BP meds but also lost weight and worked out. Doctors ran tests but never found a root cause - it was just high for no assignable reason and I was told to take meds. At 34 years old, was in best shape of my life, except still taking BP meds. That year, I stopped taking the meds, but monitored BP every few months. It was borderline high but not crazy.

So this year, I turned 38, off the BP meds more than 3 years now. Then, last month while in China with my family, I had a full blown stroke. Result was lost 2cm of my left brain directly in the region that controls speech and right arm & hand motor skills. Spent 8 days in a Chinese hospital.

For about one week, I talked like a stone cold drunk and my right arm was useless. I thought I might be that way forever. Luckily, after two months, I'm basically fully functionally recovered. Bottom line is the path from a risk indicator like high blood pressure to a stroke or heart attack can be fairly short. Now, at 38 I know I must make some radical change if I'm going to live to 70, no less not be a paralyzed half brain dead invalid.

I'm certainly interested in quantified self tech now. The problem is everyone that needs a doctor to take an intense personal interest in their long term health cannot possibly find a doctor to do so, for any number of reasons. Opportunity is to empower the individual non-medial experts to easily monitor their own health and risk factors over time. Will likely be moving into product development in this space myself.

Fact is, eat well and exercise is better advice than checking a bunch of numbers of unproven value for preventing heart disease.

Doctor's don't know how to prevent heart disease, but at least one knows how to reverse heart disease. His advice is a little more extensive: eat well (mostly vegetarian), exercise, meditate, have social support and don't smoke. But it does not involve, in any way, tracking your blood test results. http://en.wikipedia.org/wiki/Dean_Ornish

"Numbers are constantly fluctuating, monitor them too frequently and you'll get stressed. This is actually a direct quote from my doctor. In my opinion it's still not a reason to ignore the numbers."

I'm firmly on the camp that one should measure more - not less - if numbers are fluctuating to reduce worry and stress. Frequent samples, but examining weekly/monthly aggregate trends is the way to go. We just need great tools for visualization.

Joel Fuhrman http://www.drfuhrman.com/ is one of a number of medical doctors who promote a coordinated attack on the causes of bad health like heart disease, rather than relying on reducing one or two indicators. Neal Barnard is another such doctor http://www.nealbarnard.org/

In North America, both of these doctors have shows on PBS a couple of times a year, in the weekday evenings and they generally run as part of a series of similar shows by other medical doctors.

The two named above have done a significant amount of research into the programs that they suggest, and they publish widely and openly and tell you what research they are looking at and why they recommend certain actions.

That's a fascinating story. My company makes biosensors for people to track blood sugar, and our tech has applications to cardiac markers. We've always wanted to sell a kit for home testing, but the market size of willing testers doesn't justify the investment. If a story like yours led some researcher to conduct a study it could lead to a cascade that ultimately puts tools into your hands. Thanks for sharing.

Catalyst, an excellent science program on the ABC [1], Australia's national broadcaster, has just had a two-part episode called "The Heart of the Matter", about the science (or lack of it) behind the cholesterol theory.

The researcher Dr Maryanne Demasi[2], herself a research pathologist, has spent three years gathering data, interviewing researchers, scientists and doctors on both sides of the argument, and the show has caused major ripples throughout the medical profession in Australia [3].

The two episodes are on YouTube in full [4] [5] and the transcripts are on the ABC website [6] [7].

For anyone interested in this topic, these shows are HIGHLY recommended.

Interesting writeup - I've been thinking a lot about this recently, as a member of my family is dealing with an ongoing illness which is poorly understood.

I would love for them to be able to monitor their own vital signs more closely (via wearable tech), but even that when done in isolation is not necessarily going to help - for me the real breakthrough will come when we aggregate this data. Imagine being able to use machine learning to detect patterns across groups of people that can help pinpoint specific triggers for disease and illness.

I can really empathize with Harj. I have a paternal history of high cholesterol, my grandfather recently having bypass surgery. Using WellnessFX I discovered that I have an extremely high Apo B level, nearly twice the upper limit of the low-risk range. Thinking my first test was an anomaly, I was retested over the course of several months with consistent results of less than 3% variation.

I would love to be a customer of a competent company that managed body scans and the process of looking for deltas using humans assisted by software every N years.

Why?

Common medical wisdom now is that doing proactive body scans (usually just the trunk), even just MRI (so no radiation) is bad because it drives the expense and uncertainty of investigating every bump and shadow. And many of the tests will come back inconclusive. I understand that argument but it seems the way to deal with that is to focus not as much on scan #1 but scan deltas.

My anecodtal (IANAD) evidence is that in more than 5 cases of cancer in friends and families, a cancer diagnosis was delayed for many months from onset of symptoms and a few Oncologists have told me that they agree that for most of those cancers, that latency could have been improved if a baseline scan had been available of the organs/bones/nodes in question.

Not every patient would be a good candidate for such a service but the same is true for 23andme.

> I've been wondering though why didn't I have this level of discussion with my doctor?

1. For starters doctors are good but not super people. The amount of time you can allocate yourself can mean you win via quantity over quality.

2. Tragedy of the commons. Tests that might help you don't necessarily help society. Tying up a machine that helps people with cancer hurts society but might have a benefit to yourself. What you want is different to what your doctor wants.

3. Doctors are not specialists. I read a quote(Unknown how truth) doctors only have 24 hours of dietary training and should not be giving out dietary advice. But given they often see people incapable of helping themselves or going to a specialist they give out advice anyway.

My feeling is that the state of scientific knowledge is pretty weak on how to prevent a heart attack that's still 20 years away. Doctors should not overstate what is known scientifically, otherwise they are probably telling you things that are not true.

I have heart disease. if I hadn't followed the advice of Dr. Joel Fuhrman (drfuhrman.com) I'd already be dead. I don't have time to get into it here, but conventional cardiology is essentially malpractice in my opinion. if you have heart disease, or you know someone who does, please check out Dr. Fuhrman's work.

> [3] I looked into how I'd get these tests ordered myself and found these options: [...] Directlabs: A dated looking website but offering the option of a la carte tests. Total cost for these three tests: $205

I'll vouch for directlabs. I was very happy with their "Comprehensive Wellness Profile". Their website looks slightly sketchy, but their service is fast and cheap.

One thing I have recently become aware of, after my doctor ordered a test, is checking for mutations in the MTHFR gene. It's an enzyme which deals with how we process folate into its active form and is important in many pathways

Supposedly the C677T mutation increases your risk for heart disease. There is also another one, A1298C that is very common but no consensus on how it may effect health. I also matters whether you you have one or two copies of the mutations.

Some recommend supplementing with methylated B vitamins to offset the any negative health effects, but I'm still soaking this in and am not sure what the consensus is it yet.

For those interested in getting a much more comprehensive look at their blood, along with a consultation from a doctor to help you better understand the connections, check out http://www.wellnessfx.com/

(I haven't tried it out myself yet, but I'm planning to next year - I'm in no way affiliated with them, but definitely seems like a great idea)

Tim Ferris has an excellent write up on 4 hour body. Part of it is to do extensive bloodwork & other tests that go far beyond what most doctors do - with them you can get a clearer picture. Talking to doctor with those in hand might give a clearer picture to you and your doctor.

Not sure if those are available in India, but my cousin did follow through those tests(in estonia) and has lost 50lbs - now healthier than ever. Has something to do with kinds of blood indicated what kind of diet you suppose to be on, vegeterian, paleo or whatever.my 2c.

I used Rackspace back in 2000 for my first startup after our existing hosting solution could not take the load.

This was a huge mistake!

Rackspace canceled our contract without warning and without the ability to get our data. Their customer care was extremely rude and completely incompetent. I will never ever host anything again with Rackspace.

Luckily we had external backups and were able to purchase our own hardware and install it in a local Boston data center.

When we spoke to their rep about data security and access in the UK they made no guarantees about our stuff being secure from meddling by their own staff or external agencies. They literally told us that we'd be better off elsewhere and refused to comment further.

we're in a position where we have UK data protection to consider and shipping data out of the EEA is illegal for us. Obviously this is still a problem if someone takes it.

http://www.rackspace.com/cloud/servers/pricing/ (scroll down a bit) has the pricing, they start at $0.68/hr for 15GB of ram, 40gb ssd system disk, 150gb ssd data disk and 4 vcpus. Significantly cheaper (however with lower specs) than the cheapest Amazon offering with an SSD ($3.10/hr I believe).

wouldn't touch rackspace with a stick. We tried them for 6 months - particularly because we weren't price sensitive and wanted the "fanatic service" they promised. The service however is terrible bordering on non-existant. Digital Ocean or Linode on the other hand - price + service I'm happy with!

I think it's important that we separate our support for Ladar's legal problems from our support from his technical decisions.

I think we should support Ladar as a person for bravely deciding not to comply with the government's request, but that we should be extremely critical of the technical decisions that lead to his ability to have complied.

LavaBit was a service offering "secure" email using a mechanism known to be insecure, which unnecessarily put a lot of users at risk. It seems injudicious to fund its redeployment, and even a little bit strange to fund the same person to develop something new.

- Planning to release an open source protocol for end-to-end encrypted email, along with some open source implementations. Expecting feedback from the community to drive the direction.

- Sketch of the protocol: Mail body/details is saved encrypted on some server somewhere. Encrypted XMPP message containing URI describing where to retrieve the message is sent to the recipients. Recipient clients figure out how to fetch it and decrypt it.

- The protocol is based heavily on Silent Circle's protocol. Functional proof of concept already exists.

- There will be several modes of security, default being the most secure, but allowing the user to explicitly scale down on a case-by-case basis (e.g. to abide by regulations and corporate policies).

- Sounds like it's backwards-compatible with SMTP, perhaps through gateways. It'll be explicitly marked as insecure.

- Ladar's goal is to transition Lavabit from a services company into a software company, using the free/open source business model and offer support services around it.

- The protocol will be using "new elliptic curve cryptography we [Silent Circle] developed." They're expecting the encryption methods will change over time.

I'm disappointed with this Kickstarter campaign. One 23 minute video and almost no text explaining the project. The video isn't even made for Kickstarter, it's just the announcement video from Inbox Love. How do they expect to get almost $200,000 in donations with a campaign that looks like it was put together in 10 minutes?

I want Darkmail to succeed (and I don't mind the name like many here), but I have serious questions about the protocol and the community, no one which have been answered.

They point out that existing email leaks a lot of metadata, but I do not see any proposal to fix that in the new protocol. How would you hide/encrypt/otherwise protect the list of recipients? Someone somewhere has to know where to deliver the message, especially if you will continue to use human readable/memorable email addresses as we currently know them today.

You could have the server know the addresses to forward the message and then forget them. However, then the server knows this information at some point and it could be sniffed/recorded along the way.

Does anyone know any more details about the specifics of the protocol? How would you minimize metadata leakage if you were implementing such a protocol? I am not sure it is possible to guarantee the recipient list won't be leaked.

Wow, $196,000? That's a lot of cash for cleaning up source code and releasing it, isn't it? My understanding is that the code is merely being modified to work in other environments, right? Finding great talent costs money and time, but surely finding great developers who support Ladar and his quest to release an open source email service wouldn't be that hard? I don't know C that well, but I'd volunteer my time to make the project a success.

: Whiney warning :I wish they'd put a bit more work into this kickstarter, rather than just dropping a terd on my doorstep. I'm really interested in this protocol, but I can't help but feel like there's a lot of entitlement evident in the lackadaisical approach. : end whine :

Oh how I wish the wayback machine would ignore robots.txt... So many websites lost to history because some rookie webmaster put some misguided commands into the file without thinking about the consequences (eg. block all crawlers except google

Glad to see they finally got an API, however I'm a bit disappointed that it doesn't return the oldest archived date for a site, only the newest. I often need to check how long ago a site was originally archived. The API would have been very helpful for that, but the closest they provide is an option to query whether or not it was archived on a specific date, which is nowhere near as helpful.

I love the Wayback Machine (and all of Archive.org, really). I recently used it to reminisce about some old VRML-based chat communities that I frequented about 10 years ago. It had a record for every single of them.

I just launched a similar service called https://www.DailySiteSnap.com that screenshots, emails, and archives a specified web site on a daily basis. My use case is to be able to look back at any one day and see what my site looks like, since Archive.org doesn't refresh my page as often as I update it.

Disclaimer: I'm really not trying to over-market myself, but I figured readers of this thread might be interested in my project. Happy to take down this post if it's read as too spammy.

On a purely aesthetic side, the new input form does clash with the old menu. The ~carousel seems a bit "cpu consuming", maybe a simpler tile grid as in Windows Phone 8. That said I love the service, and the frontend is probably not the most important part of their system.

Dear God this was my life at a past employer. The biggest issue is that Get Shit Done usually turns to Get Shit Done exactly how I want even though I won't tell you what it is because I'm "Getting Shit Done!". I know better now. If I see that at an interview now, I'll run, not walk, run away. People bitch about how hard it is to find good developers and yet hire talented developers but put them in shitty positions. Then bitch about them not being good enough. It's like buying a sports car and putting shitty watered down gas in it and complaining about how the car doesn't perform like it should.

I think I have a different definition of get shit done than this blog post describes.

To me getting shit done means actually getting your work done. It means you don't read Hacker News all day long (oops) and send cute cat pictures to the entire office every hour. It doesn't mean you take every possible shortcut and hacky workaround to save a few hours of implementation time.

However, sometimes (and ONLY sometimes) that's what you are going to have to do. Just make sure you fix it later. If you do that all the time, it's going to blow up on your hands sooner or later (or on the hands of the poor schmuck they hire to work on it long after you're gone).

I work for a startup getting pressured by several BIG competitors that have all the advantages (client base, billions in the bank, established brand names, etc.), so we're under a tremendous pressure to "get shit done". There have been times (actually, I think only one time) when the right call was to get shit done in the wrong way of the phrase. We fixed it later. The core of the solution was solid, though.

We've also been unlucky to hire people who do NOT get shit done. It's like they have some sort of perpetual procrastination engine built in their brains. No amount of planning or iterating worked. Shit just wasn't getting done in any way, poorly or excellently. If you can't decide what approach to take, just pick ONE and move forward. Chances are you'll learn something along the way to validate or invalidate your approach, and you can then adjust.

In my experience GSD is just an excuse to avoid the organization and planning work that's not particularly interesting compared to banging out some code.

I've seen a lot of startups just failing utterly because their primary philosophy is this one, and it tells them that it's ok to skip the hard/boring parts of your duties.

On the plus side those who are thinking through their experiments and still failing fast but intelligently choosing what they are trying rather than just skipping the planning and hammering out some code can really out-compete their GSD'ing competition. I have some good friends doing exactly this and doing it very consciously right now (just yesterday I told them they should call it Hammock Driven Biz Dez since we are all Rich Hickey fans). It is working very well, and that's measured in revenue.

"Everyone has the potential to be productive or unproductive. There arent people who are A players and C players. Just people who are performing at an A level and at a C level."

But some people will go from 0 to A faster and with less assistance than others within the scope of a specific set of tasks for which they have innate talent or relateable experience.

Further, if the skill set demanded is fungible it is cheaper to buy talent than build it in-house. Firing a C to hire an A is better business than hiring a C and expending time and energy to increase the probability of them converting to an A at some unknown point in the future provided that there is a ready supply of As (or Bs) on the market. With regards to entry and mid-level programming positions, that appears to be the case.

The whole start-up culture encourages this behaviour. The current fire fast trend, rather than trying find the root cause for example.

Firing someone can completely mess up someones career, but people are being told to fire someone on a whim, if they're not right fit(I mean that could be anything). Turn it around, and put yourself in their shoes.

It's like anything else, if taken to an extreme, you can make anything bad.

The inspiration of "get shit done" are the bureaucratic nightmare environments where the mundane and irrelevant are debated for weeks, months or years, and many people make careers out of coming up with excuses why things cannot, should not, or will not get done.

Some not-so-good managers with poor leadership ability turn this into a power trip. I'll tell people to "shut up and get shit done" when I sit through a meeting that's nothing about debating things that aren't important, or just travelling down rabbit holes with no way out. And I don't deliver that message in an offensive or nasty way.

Kind of offtopic, but it really grinds my gears when a site is perfectly functional without javascript, but then it has a noscript element blocking you from reading it. I know how to hide the noscript element. Even if it's not a noscript element, I know how to delete it from the DOM tree. Why would a site writer purposefully block people with js disabled from viewing their site? It's not like you can accidentally disable js in a browser, if it's off, it's off because I went out of my way to turn it off. And I can hide your opaque fullpage div just fine.

GSD for us is less of a management tactic and more of a trait we find in engineers. Some engineers spend too much time in the design phase, planning out features nobody is going to use. GSD is about finding the fastest route to a solution. The quality of the solution is orthogonal to GSD. Bad GSD results in spaghetti code. Good GSD means providing the minimal solution without painting ourselves into a corner. It means a clean interface and set of behavioral tests with perhaps a hackish library implementation that can be pushed to production. Building out that hack vs taking the time to "do it right" can mean 10s or 100s of thousands of dollars of revenue. Sure it builds up a bit of tech debt (which we resource immediately), but that's often well worth it.

I'll put in a plug for Roy Osherove's "Notes to a Software Team Leader" which discusses some of these issues and how to deal with them. It especially deals with how to handle "overload" and the feeling of falling behind and the decreased productivity that can bring a team.

The only way this "strategy" works is if a few things are already happening:

1. Communication is already really good

2. You have a basic plan in place, milestones laid out, and because of #1 being good you're ready to handle anything that doesn't go to plan (because things definitely won't)

3. If you have a plan in place you better have discovered some hint of product-market-fit (figured out who your customers are, what pain point they have, and how you think you can solve it) that the plan is based around

If you have those things in line, there isn't anything wrong with "get shit done!" (which I really take to mean less meetings, less screwing around over-planning, etc). This mentality or strategy backfires when you are missing a few items from my list, or you have bad managers / founders who don't understand the importance of the list.

I think the author is missing one of the points of 'get shit done', which is instead of debating whether you should use Go/PHP/node, just fucking do it. Instead of agonizing over a design choice, just make the damn thing and tweak it later. Don't over-engineer things.

It's already down (it's the database... why does it always gotta be the database... sigh. Actually, it's probably a blog post so why is it even hitting the database to begin with instead of being served from cache?)

I said this a while back in another thread, but it's actually more on-topic here:

One of the worst things about tech culture is that it's full of socially awkward people who have learned a neat low-effort hack for getting around their poor social skills: be an asshole.

Being an asshole is easy. It requires no actual effort spent in learning the intricacies of human social interaction or human nature. It requires no effort spent getting "outside your own head," trying to connect with other people, investing in forming genuine bonds or understanding the motivation of others. All you have to do is learn to at least feign confidence, to be superficially charming, and to throw your weight around.

The tricks of the asshole trade are status symbols, name dropping, rank-pulling, appeals to credentials (I went to Stanford so I am better than you), fast talking, claiming you have "no time" for anyone who doesn't kowtow to your superior assholery, etc.

Like many low-effort hacks it "works" in the sense that it creates a superficial sense of social proficiency and permits the user to navigate meatspace. Sometimes you can even get things done. But it's a cheap trick and it doesn't scale forward either in size, scope, or time.

I couldn't help but feel that this was a blog post that I've been meaning to write for a while.

This, mixed with "beer culture", and measuring productivity based on hours sitting in the office as opposed to features produced/bugs fixed. Complete disregard for security vulnerabilities that may put our users at risk because "we don't have time for that shit", issues of "you are not 100% committed" when you leave on time one day because your mother is terribly sick. Stalking your LinkedIn then making a huge fuss about it when it clearly hasn't been updated in a long time, adding the fact that you have a website to not "100% committed", etc.

I used to say "Get Shit Done" to my team, but for a different reason. That company I was at then is (still) so bogged down in meetings, changes, planning, etc that nobody ever had more than a few minutes to code without hours of interruptions.

This isn't really a problem with startups but people in general. The average person just isn't very empathetic, and especially so when you you're focused and stressed out working around the clock during a startups early stages of life. Also: if you were a CEO or manager what incentive is there to try and dig deeper into why someone is unhappy with their job? Most of the time, its not fixable, and interviews are there to help filter out individuals who aren't a good fit both on a technical and personal scale. Now, if all of your employees are unhappy thats a different problem.

These sorts of generalizations do not end well. For example, if you really think that "There arent people who are A players and C players. Just people who are performing at an A level and at a C level." then fire your entire recruiting department and hire anyone who walks in through the door. After all, there are no bad people, only those who perform badly right? So if those strangers who walk in do not do well, it is the fault of your environment and management, right?

What are you working on? / The shit.How much longer? / Not much. Almost done.Is it hot? / It IS shit.Is it tight? / It's DONE.Awesome. Can I blog about it? / Yeah... you're the CEO.Later...Hey - this is a pile of shit! / It IS done.

You're a cog in someone else's machine. You are a means to an end - which is some form of naive auto-fellating bullshit. Shut up and get the shit done. Someone wants to disrupt the treehouse club!

Treat me mean. I need the money.

Maybe they should A/B the color of their log in finding the A players.

No, there are definitely C players. People who, if you give them all the advantages in the world, will still be completely unable to perform at the expected level. It's perfectly possible for an A player to perform at a C level, but not the other way around.

As the manager/co-founder, helping with tools, coping mechanisms, etc. is often not enough. When an employee has shit falling off of his/her plate, he often needs help prioritization. Managers/co-founders often assume everyone knows the priorities of projects and that's often not the case. If the manager's or company's priorities have shifted, that needs to be communicated to everyone. If you have a meeting scheduled with some big-wig tomorrowand I'm providing data for that meeting, I need to know; otherwise you may not get your S until it's too late. But, by God, I'm GSD!!

Glad I didnt take my first offer out of school. This was exactly what that company was about. I knew classmates who took the jobs but left before 6 months.

They were paying 15-20% more for some positions, now I know why. Their motto was hire and fire, most managers were with them for less than 1.5 years and promoted because they were most senior after about year.

Great post, David! You especially nailed it with the paragraph about disciplined routines and productive habits. In retrospect, we'd wasted more than 10 years in our company by just getting shit done. Our solution to this problem was to keep a simple "logbook" to regularly record and reflect our achievements and experiences in a team context. (We released a public version of our internal logbook tool called "teamspir.it" a couple of months ago.) I must admit that it was damn hard to convince all of our team members that it is really important to write regularly. Even today most of the people I talk about this habit ask "Why the hell should I do that? I know what I've done, no need to write it down...". There are several good approaches for answers to this question in your post!

I won't call what we're in a "bubble", but the culture seems to be going in the direction of mass producing startups, and this is the result. I see many startups popping up that seem to be creating a product just for the sake of creating a product, with no real long term goals.

Some VCs seem to be encouraging it, throwing millions at redundant social network apps that do things like "Gamify brushing your teeth!".

The tech industry has an immense ability to "make the world suck less" as Alexis Ohanian puts it, and it's important that we focus on that.

> There arent people who are A players and C players. Just people who are performing at an A level and at a C level.

That sounds very nice, like something Barney the Dinosaur would say. People who consistently perform at C level are C players. Maybe they would be A players doing something different but that's not much use to you.

I agree in that "Get shit done" shouldn't be a culture but a goal. It should be a reminder that, after all your pontificating about monads or whatever, nobody but you cares about that shit and you need to produce things that they do care about.

"Get Shit Done" is completely different than the other ideas lumped in here, ie "ship something", "fail often" etc. Many people may mistakenly apply these concepts in such a way, but it is not inherent.

The assumption made in this article is that startups with the "get shit done" mantra only say to "get shit done" when you're not performing. I feel like the entire article is based on a bad assumption..

Kind of depends on how you interpret it. Many developers over think and feature creep. When I see Get Shit Done I'm thinking about doing what needs to be done now instead of working on solutions to problems that haven't happened yet.

I think you interpret "get shit done" different than I do. Not trying to put words in your mouth, but I think you interpret as get this product out ASAP. I think of it as take responsibility for yourself, if you need a break, take a break. Whatever you need to do to "get shit done", do it.

"what a good manager does is help this person identify the things that are causing them to be unproductive.

Theyll help them develop new habits and encourage them in their efforts to adopt them.

Theyll force them to take a step back and see the bigger picture.

Theyll work together to build new systems that will help them be successful.

Shit, at the very least theyll recommend a good self help book."

Are you serious??? With all due respect, if you are not capable of developing new habits, stepping back and looking at bigger picture or (sigh) reading a good self help book on your own without someone holding your hand, then you have a problem. Wake up my friend and GET SHIT DONE!

Another site reporting "Error establishing a database connection". For anyone posting blog entries telling people that they are doing things wrong, it really destroys your credibility when you can't set up a server that continues to function with a moderate amount of traffic.

The 12-hour lifespan of content links is interesting; it prevents indexing or hot-linking content on the site. Even if the RIAA/MPAA/etc. set up bots watching the room and issuing takedowns for infringing files, the time allowed to comply with a DMCA takedown is greater than the lifespan of a file on the service.

In other words: this should be fun, until they get sued out of existence.

> Announcement: Because of the high traffic we are seeing right now, the radio might take a long time to load or not work at all.

Hacker News killed the radio star.

Very cool idea. With a little faster chat (there's currently quite a delay between saying something and seeing it displayed) I can see it catching on. Hang out, share files, listen to the music together.

Interesting proof of concept although I personally prefer hipchat for a the "chatroom with group file sharing" benefit.

The ephemeral nature of the downloads is really interesting though. I've seen a number of sites starting to target that niche (http://dissipateapp.com/ for file sharing specifically with "self-destructing" files) but mostly aimed at just messaging (like Snapchat or Frankly).

Why risk putting your important documents on a site where it's only a matter of time before it's compromised? Most of the time once your recipient has the file it's safe to remove from the cloud.

I love this idea and I think this has the potential to be really amazing. I could see myself using it socially as well as a sort of remote office. The ability to have music autoplay (? it appears anyway, doesn't seem to be working for me right now) seems very interesting. I think you're really onto something with this. My main concern would be privacy before I started using this on any type of regular basis though. If you can solve that, or even really just make a self-hosted version, I'd be all over it.

Might be desired behavior, but holding CRTL while clicking on a link in Firefox opens the link in a new tab, but it does not keep you on the main page. It's a bit annoying to click on a file and have to switch back to the homepage tab to get something else.

This article makes some good points but it's missing a bit of history. The reference pixel is defined at 96dpi because that's how Windows treated the screen in the days before high-dpi support. Mac OS treated the screen as 72dpi in the pre-retina days but most early websites were built to look correct on Windows. That's why MS Office fonts look too small on the Mac to this day: 26% too small to be precise.

This explains why CSS uses a human-eye based definition of the reference pixel: to escape from the Windows and Mac OS idea of the having a "logical dpi" which differs from the screen's actual, physical dpi. Indeed, Windows and Mac OS can not agree on what an "inch" is!

Go ahead and open up Word and Pages on the Mac and create a 12pt font - see the difference! This is the mess that the CSS reference pixel fixes.

whilst the detachment of 'px' and screen pixels is a no brainer in the modern world with its proliferation of pixel densities and viewing distances on different devices, the CSS standard could probably do a better job of explaining this.

Don't really understand why is it such a big deal how browsers internally define the size of pixels, do they use dpi or angles (it would be more correct to say trigonometry)? It is an interesting fact that I've never before really gave a thought, but complete irrelevant to anyone but guys building the browser rendering engines. And still now you have people calling for new "better" units and what not? Why? What am I missing?

This response is taking issue with the words used, rather than the underlying claim of the original article. In fact, this response contains a whole section and a diagram which are effectively supporting evidence for the original!

The most important thing to take away from the original is that the css unit "px" has no relationship to the actual size of a pixel on the screen, and all the physical units (inch, cm, pt) are defined in terms of the csspixel. So marking a button as "width: 1cm" will almost never render something over 1cm of the screen geometry.

Incidentally, this is why designers like device models with only a few geometries, such as the iPhone. They can do the math themselves to work out how many iphone-pixels are in a cm, and write their styles accordingly.

The opening line follows the boilerplate trend of acquisition posts. Being acqui-hired is not something that you should be celebrating with your users... PERIOD. (On a side note, I'm genuinely happy for you all. Getting paid isn't a negative. It's a huge opportunity, but don't patronise your users).

It's incredibly condescending to assume that any of your users share your happiness and are apart of this experience...

"Were really excited..."

You use "we" so many times as if your users are apart of your acqui-hire, yet only mention "you" (your users who made this possible) in the closing statement.

Be honest and graceful, but asking your users for a high five on the way out isn't the way to do it.

PS. I hate posting negative comments. I'm a Brit, and like to be polite all the time....

EDIT: Call me out on this if you think I'm wrong. Other people who have read it think I'm just reading into it way too much. I tend to agree that I'm particular, and it could easily be chalked down to me being overly zealous to criticize another successful acqui-hire. :)

As someone unfamiliar with Sold, I really appreciated the "What was Sold?" section: I rarely, if ever, see that on shutdown/acquisition placeholder pages and always wished more companies would do that.

Build popular service, attract loyal user base, sell popular service to bigger company so they can gut it and screw your users; business as usual in the startup world, judging by 5 years of HN and Slashdot.

Every time I suggest this might not be a cool thing, people tell me I just don't understand the business model, or something. Same thing yesterday when Microsoft announced they were ripping out Skype's API. It's weird.

Can anyone comment on the motivation for Dropbox to acquire a company that apparently helped people sell things? Is Dropbox interested in working in that domain or are they just picking up devs for their own product?

OS X 10.8 supported... 1 year after 10.8 is released, a few weeks after 10.9 is released. :(I'm not blaming the authors. The OS X kernel is a moving target. But this does make Valgrind rather useless on OS X. Every time I want to use Valgrind I'm forced to use Linux.

> Helgrind: False errors resulting from the use of statically initialised mutexes and condition variables have been removed. False errors resulting from the use of pthread_cond_waits that timeout, have been removed.

Awesome. There was no good way to write suppressions for those. I'm glad this got done.

That's interesting. So far as I know, the only documentation of the RAR compression algorithm is the official UnRAR tool, which (among other things) restricts you from using it to create a RAR-writer. There's also the GPL'd "unrar" based on UnRAR 2 (which doesn't handle modern RAR 3.x archives), and the GPL'd "unar". Given that this is under the MIT licence, it can't be derived from any of those other tool, so I guess it must be a from-scratch reimplementation.

While you're waiting, will you guys please remind yourselves that it's not the end of the world if you don't get invited to interviews? Drew Houston didn't get invited the first time he applied. And a good thing too, because the idea he applied with was not Dropbox, and if he'd used YC to launch that, he would probably never have started working on Dropbox.

Hello everyone, I just want to shout out to those who cross their fingers in front of the screens, hoping for an invitation or being afraid of a rejection. While I'm writing this, I have to say that I didn't apply (this year), but have been in touch with a few YC teams in the last years.

Everyone who goes through the application process knows what time it takes and what it's worth. Especially worth, because it enables you to reflect on many points and it forces you to make a point. If you are at an early stage working on your product and still iterate lots of ideas you exactly know how challenging that can be. Even recording a 1-min video can be very challenging, if the founders are not at the same time at the same place or have totally different risk aversions. Just ask yourself how much time you invested into the last point and how that could equal in lines of code for your product.

At different points in time, I lived with a few other YC applicant companies under one roof and could pretty well observe how each handled the application process and feedback. The most important take-away was that those teams were invited and accepted, who did not care very much about the outcome, while the others studied HN and the application chronologies like monks the Genesis and Levitikus. One team even developed a pathological detail in collecting recommendations from YC alumni, while other teams could tell you the number and names of teams within the last four badges. Unfortunately, the rather too-well informed teams had in common that they struggled to break down their idea into a single sentence.

YC is not about rejection, it's rather about selection. There is no inversion of this argument, so don't think you're not good enough. It's rather like the Matrix, selecting their Neo-teams with some mixture of likelihood and gut feeling. Just imagine the amount of applications they receive and the short time that allows them to go through it. There are so many small details and factors that flow into a decision that it would take days to summarize them. If you go only through traction and team behind your product, there might be a good chance to find a weak spot already.

Without any doubt, Y Combinator is a great way to start a company. In this regard, the book title "launch pad" might be just right. Its just as great as getting into a top university, because you get social proof and a valuable network in many ways (especially the internal startup economy and experience exchange has its benefits). 3, 2, 1 lift off. But at the same point, being at YC might be no self-fulfilling prophecy, even if someone could easily calculate the valuation effects (on paper). Also, getting into YC should not be for the sake of getting into YC. If you really believe into yourself and your idea, you have to make it without a program like this - like all the successful entrepreneurs did before accelerators even existed. Even if there was a launch pad, they still needed to work on their rocket too. Today, you even have a big advantage: YC and its alumni offer so much for free. Not only HN but all the input on the website, blogs, alumni advice, startup school etc. From my experience, the network is not a closed fortress but a very open community with people that care much more about your own ideas than your credentials and affiliations. It's an open university where you can access many resources that might be helpful as long as you dont read them like the truth and the only truth. Now I don't want to put my head above the parapet and speculate too much, but at the core of YC might be a socratic method, which is about finding truth within the dialogue. Literally, dialogue means the exchange (dia) of reason (logos), where reason means anything between rational, valid and practical. Partners challenge your ideas and approaches and as a result of dialogue, both of you are likely to find something useful to take-away. The advantage of this is that while your best friends are rather likely to tell you lots of things that sounds good to you but are not necessarily the truth, YC might be brutally honest in sending you reasonable signals.

To come to a point: If you don't make it into YC, my advice is to take care about four things:

1. Find people (friends and customers) who give you honest signals and that let you know when you're running into the wrong direction.

2. PG essays are like the encyclicals of the YC community and they have great points. But be sure to read between the lines and to find your personal take-away, your reason.

3. Do not study how to apply successfully or how to hack the process. This is no GMAT or a gumball machine. Try to find out how YC helped the companies who started here, struggled after demo day or came up with a new idea. Maybe, you can emulate some of these things and benefit from information.

4. If you have problems making decisions like continuing on an idea or not as a result of not being accepted - throw a coin into the air and decide for head or tail with each one decision. The outcome that you desire while the coin still twists in the air is what you should do.

Surely, these methods don't replace an office hour but they at least enable you to improve your experience.

Rejection letter arrived when I was writing a letter to a customer and when the first actual transaction took place on this 3 weeks old platform. Ugh. Honestly the latter didn't make me feel better, though I didn't quite expect a miracle, because expecting a miracle often indicates the short of preparation. This is be a 4-star strenuous hiking trail, we are a beginner level; next time we'll be real fit. Congratulations to all got the interview and good luck! Virtual toast to everybody who received the same letter, c u soon again on HN.

Just got back from "I didn't get to Round 2-Comfort Food trip to Rite Aid for best ice cream ever- Thrifty brand mint chocolate-chip," and they definitely stop serving ice cream well before midnight, so logically, a second trip is out of the question, which means I will haavve to get an interview. ;) Good luck All and when in doubt - Rite Aid's Thrifty ice cream :)

I've seen this doing the rounds, and I'm a bit surprised by the publicity it's getting. The interpretation of the results is fanciful. The results merely show that a person's report of an event will be biased by their expectations. This can be done with anything. There are more rigorous studies of "efference copy" which are actual signals that are sent out to different parts of the brain indicating that a movement is about to be made. Such efference copies are important for actions involving timing where the proprioceptive feedback from the limbs would arrive too late to be useful (so some brain regions get a predictive signal that allows them to plan further action in time).

A few years ago, I took a tour of this underground cavern in Northern California. About 50 stories (this may be incorrect) underground with absolutely no natural light coming in.

The tour guide took us to the deepest part, turned of all the lights and told us that this was what being in absolute darkness was like. The tour guide also told us to wave our hands in front of our faces. I thought I saw my own hand in front of me and before I had a chance to comment about that, the tour guide mentioned how if you think you see your hand, you're not.

Glad I came across this. Really helps shine some light (I'm sorry) on what I saw.

I've noticed this effect (based on the title) when I close my eyes in a very dark room. I can sometimes "see" a very faint silhouette of my arms, and sometimes the object they're holding, roughly where they should be if the lights were on, slightly darker than the eigengrau[0]. I've wondered whether part of my brain is generating an "expectance mask" (my made up term) in my visual system.

The authors argue that if a "selfish" mining pool of size above a certain threshold keeps newly discovered blocks secret, this pool will be able to build a private block chain that is temporarily longer than the public one, frequently enough to make the selfish strategy more profitable than the honest one (by revealing longer private chains just before the public one catches up), so in theory more and more rational miners will join the selfish pool, which will therefore quickly grow to control a majority of all nodes.

In theory. There are many complex and subtle issues that must be thoroughly analyzed before passing judgment on this paper. For example, what if other miners, instead of joining the selfish pool, decide to create their own competing selfish pools? Also, as nullc points out elsewhere on this thread[1] and the Bitcoin Forum[2], peering between miners is already so extensive that temporarily keeping blocks secret could be much costlier than assumed by the authors of the paper.

The Bitcoin community must go through this paper in detail, but IF the authors' logic and math prove correct, this could be a real vulnerability.

The key idea is very simple and is very clearly explained on pages 6-7:

"When the public branch is longer than the private branch, the selfish mining pool is behind the public branch. Because of the power differential between the selfish miners and the others, the chances of the selfish miners mining on their own private branch and overtaking the main branch are small. Consequently, the selfish miner pool simply adopts the main branch whenever its private branch falls behind. As others find new blocks and publish them, the pool updates and mines at the current public head."

"When the selfish miner pool finds a block, it is in an advantageous position with a single block lead on the public branch on which the honest miners operate. Instead of naively publishing this private block and notifying the rest of the miners of the newly discovered block, selfish miners keep this block private to the pool. There are two outcomes possible at this point: either the honest miners discover a new block on the public branch, nullifying the pool's lead, or else the pool mines a second block and extends its lead on the honest miners."

"In the first scenario where the honest nodes succeed in finding a block on the public branch, nullifying the selfish pool's lead, the pool immediately publishes its private branch (of length 1). This yields a toss-up where either branch may win. The selfish miners unanimously adopt and extend the previously private branch, while the honest miners will choose to mine on either branch, depending on the propagation of the notifications. If the selfish pool manages to mine a subsequent block ahead of the honest miners that did not adopt the pool's recently revealed block, it publishes immediately to enjoy the revenue of both the first and the second blocks of its branch. If the honest miners mine a block after the pool's revealed block, the pool enjoys the revenue of its block, while the others get the revenue from their block. Finally, if the honest miners mine a block after their own block, they enjoy the revenue of their two blocks while the pool gets nothing."

"In the second scenario, where the selfish pool succeeds in finding a second block, it develops a comfortable lead of two blocks that allow it with some cushion against discoveries by the honest miners. Once the pool reaches this point, it continues to mine at the head of its private branch. It publishes one block from its private branch for every block the others find. Since the selfish pool is a minority, its lead will eventually reduce to a single block with high probability. At this point, the honest miners are too close, so the pool publishes its private branch. Since the private branch is longer than the public branch by one block, it is adopted by all miners as the main branch, and the pool enjoys the revenue of all its blocks. This brings the system back to a state where there is just a single branch until the pool bifurcates it again."

In short, the new thing here is the assumption that the attacker uses a network positional advantage to eliminate the loss associated with delaying blocks.

I am not fond of their proposed solution, since it creates a size advantage for large miners (of sizes which have already existed) in all cases, even without the network attack.

I'd rather initially focus on strengthening the network against the formation of the positional advantage in the short term. (There is already some belief that there is extensive peering between miners making the attack ineffective, but its impossible to know if its adequate, so there is no harm in in strengthening that some.)

"We propose a simple, backwards-compatible change to the Bitcoin protocol to address this problem and raise the threshold. Specically, when a miner learns of competing branches of the same length, it should propagate all of them, and choose which one to mine on uniformly at random."

Former algorithmic trader here. This solution does not appear to be incentive-compatible.

Suppose there are two branches, 0 and 0'. Miner receives 0 first. The probability of mining a block is proportional to the time spent mining. Miner thus (a) starts mining 0 immediately upon notification and (b) has a greater probability of finding a block on 0 than 0'. It is thus in Miner's interest for 0 to become the blockchain versus 0'. Since other miners are following a similar logic, it is in the miner's interest to propagate 0 over 0'.

Randomly selecting which branch to mine is rational only if (i) both branches arrive at the same time and (ii) there is no information about which branch other miners are showing preference towards.

This is a summary of my understanding of their method after a very quick scan of their docs:

They assume working as a malicious/selfish pool having less than 50% of hash rate, but still a significant portion of the total hash rate. All other miners that are not part of the selfish pool are called honest miners.

When selfish pool finds a block, they don't advertise it but continue mining their forked, private blockchain. They have an advantage of one block over the public blockchain now. Of course they have no chance of building longer blockchain in the long term, as they have less than 50% of hashing power and the public blockchain will always get longer after some number of blocks. But what they count on is this:

Scenario 1: honest miners discover a block and the public blockchain gets the same length as the selfish blockchain. They immediately publish their block as soon as they discover someone else discovered a block. They hope to create a race condition and a public blockchain fork - so that some hones miners will get the honest block, but some of honest miners will get their selfish block and start mining using it as a base. Having some of the honest miners on their side they have a chance that their fork will get longer and the honest fork will be declined by the network.

Scenario 2: selfish pool is lucky and discovers another block, giving their blockchain two blocks advantage over the public blockchain. They continue mining and they publish one block for every block discovered by the honest miners. This creates race condition with some of the honest miners on their side, but they still have some blocks found and not published. They publish all their remaining blocks as soon as their advantage decreases to one block. The network chooses their branch as it's longer and they get all the reward coins from their secretly mined chain.

Now, I know nothing about blocks discovery/notification mechanisms over the network and how fast it works, so an important question to someone knowledgeable is if this is a probable scenario that their block published only after some competing block has been found and published has still a chance to get to some significant number of honest miners first so that they start mining over their block - as this is required for their strategy to work.

If the above is viable, then this strategy of course requires some significant hash rate share, but I remember that even having 10% of total hash rate, the probability that you will mine couple of blocks in a row is quite high - and that's all you need to create situations when you have two-three blocks advantage over the public blockchain.

For people that don't get it. The idea is simple. If you're a pool with 25% hashing power you can sort of make this happen. What you do is that you mine like a regular pool. In fact it's not a dishonest pool but it's called selfish because it acts like a normal pool. Say you find a block, which happens like any other pool. Instead of publishing it, you keep it private. This is the key.

Now with enough tries it will happen that you find two blocks in a row - again happens all the time with pools. But what you do is that you wait until the other pools find theirs. Once they find the block (you already found it remember?), or they've wasted many cycles finding it, you publish yours that you've found already.

By doing this you kind of selectively publish the blocks you find, wasting other pools cycles and sort of giving you a heads start for the next block search. It's all actually about building a pool that selectively publishes blocks so that it can get you a heads start for the next mining cycle. Miners will likely join this selfish pool because they'll have a heads start and not feel as though their hashing power is going to waste since it's constantly being invalidated by the selfish pool (by publishing blocks at specific times).

The paper assumes there's only one selfish pool. I presume that if a selfish pool arises, there will also be a variety of other selfish pools arising at the same time. If all pools are acting this way, then there's really no incentive for miners to go to any specific pool (avoiding centralization). So it will just be like regular mining again.

I find the very idea of doing anything that would undermine the Bitcoin network to be self defeating and therefore highly unlikely. Miners have a vested interest in high prices, and seeing as doing anything which undermines the network would cause a loss of faith in Bitcoin and cause the price to drop precipitously, I can't imagine the mining community would be particularly interested.

The proposed selfish mining strategy in a nutshell is: when you find a block, keep it secret in the hope of finding a second one that will give you the leverage to start messing around. If someone else finds a block before you find your second, go ahead and publish.

Since by hypothesis you have a minority of the total computing power, usually someone else will find a block before you find your second.

But by the time you become aware of this, at least some other miners are also aware of it, whereas no others are yet aware of your block. With the 'first wins' tiebreaker, usually that means your block gets lost. So most of the time you lose out. So on average, selfish mining loses, at least as long as your computing power is small compared to the network total.

I can't see this posing a serious threat to Bitcoin. If I understand this correctly the idea relies on mining a block and keeping it secret so that the selfish miners can start mining on the next coin. But they can't change the properties of the network. They'll have to respect Bitcoin's difficulty calculation, since if they try to change that, the main Bitcoin network will reject their chain. Plus, they'll need tons and tons of hashing power to stay ahead of the network.

Correct me if I'm wrong, but even if you've got future blocks precomputed for weeks in advance, all it takes is someone else finding the current block by chance to completely invalidate your private chain?

The key idea behind this strategy, called Selsh Mining, is for a pool to keep its discovered blocks private, thereby intentionally forking the chain. The honest nodes continue to mine on the public chain, while the pool mines on its own private branch. If the pool discovers more blocks, it develops a longer lead on the public chain, and continues to keep these new blocks private. When the public branch approaches the pool's private branch in length, the selsh miners reveal blocks from their private chain to the public.

I don't see how this will work in practice. If you're keep discovered blocks private, how are you taking part in bitcoin as a whole? You're just sitting on private info about transactions that may as well be made-up.

There is a lot of discussion of the propagation of publishing blocks and reacting to the publication of a competing block. In this strategy, the 'selfish' pool could take a probabilistic approach, and simply hold on to their private block for "a while" based on the probability of someone else providing the competing block (obviously still publishing instantly if a competing block is found).

This means they still get some advantage, in a time lead over the general network, but they balance out some of the costs and risks of waiting. They will get their lucky block-ahead of the network less often, but perhaps it is a better strategy. Fascinating stuff.

On a somewhat unrelated note, I'd love to have something like Heroku for mining. Basically, you sell me computing units at some USD rate, and I get BTC as the computing units mine. If I am lucky, the payout in USD-equivalent BTC is larger than my payment to you. Way easier than the DIY mining rigs, so charging a nice premium wouldn't be unacceptable.

The article contents and headline disagree with each other. The article contents says that the facility will create 2000 jobs in various fields in Arizona. But towards the end,Arizona's governor is quoted as saying the facility will create at least 700 jobs, as well as "1,300 construction and associated positions in the state", with no word on how many of those positions are temporary jobs related to the construction of the facility itself.

So do the economics actually favor moving some manufacturing back to the US now or is this a token measure just attractive enough because of the right amount of tax incentives mixed with the intangible benefits like good PR?

Whenever I read these "Apple is bring manufacturing back to the US" stories all I can think of is the famous exchange between Steve Jobs and the President where Jobs supposedly said flat out, "those jobs aren't coming back" [0] Granted Apply has been known to make definitive statements like that only to do a 180 not long after.

I wonder what the tax incentives to Apple were. A local story [1] reported: "Apple could qualify for several different state tax credits. An offer from the Arizona Commerce Authority is currently on the table but hasn't been finalized, senior vice president Nicole McTheny said."

I don't like tax incentives for big businesses to locate to a particular state. I see why they happen, as each state is put in a position to outbid the others and businesses are compelled to take free money. We should outlaw this practice with federal law and stop taking money from the middle-class to benefit the rich, under threats of having no jobs.

What an interesting idea, I can't help but visualize Zangermarsh[1] :-) Interesting question about what it might gain evolutionarily by being tall, perhaps more moisture exposure but as others have pointed out fungal mats get that by just being wide and covering a lot of area. Of course if you were competing with a fungal mat being tall might be one strategy.

I wonder what those fungus lived on? This was in the era before fungus could metabolize cellulose. Maybe, unlike modern fungus, they just grew bit by bit? The fact that dead wood couldn't easily be digested is part of the reason the Earth's O2 level was so high back in the day, and why you could get coal or oil deposits even without anoxic conditions.

EDIT: All interesting information above from friends who know way more about the subject than me, who I told about the article. Any mistakes are probably mine.

Why is it assumed that these mushrooms would grow straight and tall? Trees grow tall to maximize their exposure to their primary energy source, which is of course light. But why would a mushroom need to grow really tall. Don't they obtain all their energy from the land?

Cool! I've often imagined alien worlds that had nothing resembling plants or animals, and they invariably ended up with giant fungi. Turns out many of the craziest life forms we can imagine have already existed on Earth.

The current dispute between Marshallese and Latvian is a phenomenal example of the sort of puzzles here.

Apparently the Marshallese require some characters to display with cedillas, and Latvian has characters traditionally named "(some letter) WITH CEDILLA" even though they are displayed with commas... so if you just say "LETTER WITH CEDILLA" it's now not clear whether you mean cedilla or comma, and correcting it would break Latvian.

I seriously love this and am already making some commands for personal use :)

However is there currently a way to pass parameters to a command? Right now I'm using window.prompt() to get user input. It'd be nice if I could enter something like 'mycommand:parameter1,parameter2'. Maybe an excuse to fork the repo...

Great work though!

EDIT I had only been using the extension on backtick.io before, but when I use it on other pages the console does not appear. This appears to be a problem with the CSS - when I inspect element on the page I can see that the HTML has rendered. By default opacity is set to 0 on the #console div - setting it to 1 fixes the problem.

Compatibility and UX qualms aside, this is a really fun little project.

It'd be fun to bake something like this into your app even, which I'm sure you've considered, but it'd make a nice little poweruser/admin tool, especially for those who prefer keyboard over mouse. For instance, I'm picturing Github with their command-bar backing it.

Why aren't Google, Microsoft or Apple interested in Buying BlackBerry? Blackberry should have quite some patents in the mobile space, no? It is sad if companies are bought just for that, but I'm wondering why the big players are not interested in it.