REST in peace, SOAP - <AUTHOR> http://royal.pingdom.com/2010/10/15/rest-in-peace-soap/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+RoyalPingdom+%28Royal+Pingdom%29&utm_content=Google+Reader

<comment><USER2> I will bet money that most of these "RESTful" APIs are nothing of the sort. In almost all cases, when somebody says they're using REST, they're _actually_ using ad-hoc XML-RPC -- fixed URLs, non-descriptive content, etc. Ignorant programmers have fixated on trivial aspects of some REST applications (use of PUT/DELETE, "pretty" URLs) and ignored all the important aspects.

This sort of thing happens a lot in software culture -- see people claiming Java or C# are object-oriented, that C++ is functional, that Python or LISP are "scripting languages". It's cargo-cult nomenclature, and it disrupts technical conversation to the point of uselessness.

Roy T. Fielding, who described the REST style, has an excellent blog post titled _REST APIs must be hypertext-driven_ < [http://roy.gbiv.com/untangled/2008/rest-apis-must-be- hyperte...](http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext- driven) >, where he lays out some ground rules for calling any given interface a REST API.

<comment><USER3> I find Fielding's writing on REST opaque to the point of unintelligibility. This is a prime example. He actually _has an example_ of a HTTP/XML interface he doesn't like... but he can't bring himself to talk in specifics, and instead hews to academic jargon.

So, can you translate his bullet points for me? Or can I safely assume that, yes, Roy Fielding doesn't believe these interfaces are "REST", but that I can safely ignore that fact and use the term "REST" the way the rest of the world does (RPC that uses URL patterns instead of WSDL).

<comment><USER2> \</comment></comment></comment><comment></comment><comment>

 _A REST API should not be dependent on any single communication protocol, though its successful mapping to a given protocol may be dependent on the availability of metadata, choice of methods, etc._

A REST API should work over any protocol (HTTP, FTP, SSH, whatever) with enough basic functionality to support it. It shouldn't mandate any particular protocol.

\</comment><comment></comment><comment>

 _A REST API should not contain any changes to the communication protocols aside from filling-out or fixing the details of underspecified bits of standard protocols_

A REST API shouldn't require a customized version of the underlying protocol.

\</comment><comment></comment><comment>

 _A REST API should spend almost all of its descriptive effort in defining the media type(s) used for representing resources and driving application state, or in defining extended relation names and/or hypertext-enabled mark-up for existing standard media types. Any effort spent describing what methods to use on what URIs of interest should be entirely defined within the scope of the processing rules for a media type_

Here's big idea #1. Documentation for a correctly designed REST API will describe mostly _what_ is being returned, not how to get it. Each resource is accessed via a different resource, except for the standalone root.

For example, you might start at the root resource <http://foo.com/api/> . It returns, as content, a set of subresources that can be requested. The API documentation should describe what data the server sends for /api/ -- what format it's in (HTML, XML, JSON, etc), how to find its subresources (<a>, <form>, id'ed elements), and any relationship metadata it contains. The user agent (web browser) uses the MIME-type returned by the server to parse whatever it returns.

\</comment><comment></comment><comment>

 _A REST API must not define fixed resource names or hierarchies (an obvious coupling of client and server). Servers must have the freedom to control their own namespace. Instead, allow servers to instruct clients on how to construct appropriate URIs, such as is done in HTML forms and URI templates, by defining those instructions within media types and link relations._

Big idea #2: the API documentation shouldn't just be a list of URLs; if it is, the server's URLs can't be modified without breaking clients. Clients should use hypertext to parse URLs retrieved from the server.

For example, the front page doesn't just give you a list of story IDs and require you to build the URL manually. It provides each URL in an anchor, as an opaque identifier, and your web browser simply passed it back to the server to get whatever it points to.

\</comment><comment></comment><comment>

 _A REST API should never have "typed" resources that are significant to the client. Specification authors may use resource types for describing server implementation behind the interface, but those types must be irrelevant and invisible to the client. The only types that are significant to a client are the current representation's media type and standardized relation names._

The client shouldn't have to contain a list of what URLs return what data. If <http://foo.com/students/> returns a student list, either use the MIME-type (application/x-foo.com-students) or a standardized relation name (<foo.com><list rel="students">...).

For XML-based APIs, I would encourage the use of XML namespaces, although Fielding doesn't mention them. Sometimes you've got a few dozen different document types, and it just isn't worth figuring out MIME-types for them all; in that case, return (application/xml) and let the client use the namespace'd root element as an identifier.

\</comment><comment></comment><comment>

 _A REST API should be entered with no prior knowledge beyond the initial URI (bookmark) and set of standardized media types that are appropriate for the intended audience_

This is mostly an elaboration of previous bullet points; clients shouldn't have to hardcode a list of resource locations. If your client has something like "students = Resource("/students/"), it's going to break when the server changes that URL.

<comment><USER4> The biggest problem I see with this is that in real life clients will hard- code the urls anyway and break when the urls get changed.

<comment><USER5> Why is this the biggest problem? For every protocol there are broken clients. For example, most XML parsers are broken. That is not a problem of XML, is it?

<comment><USER6> What's the alternative? For clients to refresh their copy of the "parent" resource [there may be a better term for this... I mean the resource used to access the resource that is to be gotten] often? For a commonly interactively accessed thing, it would introduce a lot of latency for clients to get it every time, so I suppose it must be cached... and then the cache of the parent resource be refreshed regularly and in case of failure? How far up the tree should that go?

In other words, if I want to get the Twitter feed for Joe's "ABC" group and I don't want to hardcode the URL for that resource, how often should I download (and cache), parse, and traverse the resources for Twitter's users then Joe's feed then Joe's ABC group, etc.? Or am I misunderstanding this?

<comment><USER7> In this case respecting HTTP's Expires: or Cache-Control: max-age= headers seems like the thing to do.

</comment></comment></comment></comment></comment><comment><USER3> The story is very much the opposite in enterprise apps; I can't remember the last REST interface I saw, but we see SOAP interfaces every week, in new apps.

Unfortunately, SOAP isn't going anywhere. It's just not popular with Internet startups. Neither is ASP.NET.

<comment><USER8> The problem is that the interconnected web of services are emphatically REST. This is the next generation of enterprise systems and it is growing quickly. One you adopt salesforce.com as your CRM strategy the next thing you want to do is integrate that system of record into the larger enterprise system. While Salesforce.com does offer SOAP services they in the end had to offer REST based services due to overwhelming demand and while they support both my observation is the the REST services are getting more attention (I don't work for or represent Salseforce.com, so take that statement for what it is worth, an opinion). If demand drops off it makes logical sense that the SOAP services will be deprecated. Further there are some SaaS systems that do not offer SOAP at all and that number is growing daily.

The enterprise of the future looks like an ESB that brokers data to and fro an assortment of SaaS, with some core in-house systems in the mix. It makes sense for companies whose bread and butter is not technology and places economies of scale on the SaaS providers. Many of those SaaS are opting for REST only implementations.

In a way it makes sense, for alot of the integrations you are wanting to pull data from the system for analytics, trending and reporting along side an aggregate of other data sources. REST make sense because it (loosely) acts like SQL which despite it's problems is a good data manipulating language.

The thing about REST is that someone needs to come up with a uniform and simple authentication and authorization mechanism that is seamless across the board.

<comment><USER3> The thing about REST is that executing on it involves understanding REST. The thing about SOAP is that you can practically push a button in your IDE and get a SOAP interface. No, the enterprise world is not about to transition to REST.

<comment><USER9> It's one button away... as long as you have the same technology on both sides (and then, why are you incurring all this overhead anyway?) Maybe this has changed in the last 3 or 4 years, but the last time I tried to get .Net and Java stacks talking via SOAP was a royal pain.

<comment><USER10> We're talking about The Enterprise here, this kind of stuff is not even on the radar.

<comment><USER11> I'm part of a 7 figure project right now. We're a .Net shop, they have a Java infrastructure (and are as "enterprise" and process-laden as you can imagine and then some). We need to integrate -> See, we're right there.

SOAP it is for us and I do have to say that I'm rather relaxed. For us it's just one way (Java services, Java generated WSDL, we just consume/use the stuff), but it works rather well.

Unless you don't know about 3.5/WCF/Service References and try to do it the old-fashioned "Web Reference" ASP.Net way: That's a royal pain and just plain doesn't work at all for some (valid) SOAP things (some sequences of alternating complex types a la [Key, Value, Key, Value,...] for example cannot be mapped). Guess how I found out..

</comment></comment></comment></comment></comment></comment><comment><USER12> My guess is that this is overblown a little.

Rails apps make RESTful services fairly easy, even if it doesn't usually cover the entire spectrum of RESTful actions. Many Rails (CRUD) controllers are going to have 4 RESTful actions built into that one controller/service, so a single app might have one RESTful service for each model (assuming it is exposed).

SOAP has been overtaken for sure, but I think that first pie chart set should show the _number_ of services, not just the percentage. My guess is that the number of SOAP services may have grown, but the number of RESTful services just grew much more quickly.

</comment><comment><USER13> I have to deal with SOAP APIs at work (Google, I'm looking at you) and they are seriously the bane of my existence. SOAP and the people behind it need to die a slow, painful and lonely death.

<comment><USER14> Can you explain why? I mean, sure SOAP has its problems, but is anything else really that much better?

You move the action and some parameters into the request itself. You change the representation from xml to json. You get rid of schemas and namespaces (which makes the service either better or worse, depending on its size). People seem to be very upset about SOAP wishing it death. What is it that you're actually complaining about?

<comment><USER15> It's complicated, difficult to understand, requires large tools (expensive ide's) to be productive with, different vendors have different interpretations of SOAP anyways.

Basically, it's a bunch of extra work and requires more documentation due to the complexity of it's implementations.

Also, SOAP libraries (e.g. Soap4r) are problematic (doesn't talk to Micro$soft's version of SOAP properly).

REST is over HTTP. Just about all programming environments have a HTTP library.

<comment><USER14> Just playing a devil's advocate here a little bit, but soap doesn't really require that much. For example for .net, you just run wsdl on some url and it generates the interface code for you.

Also the complexity is needed when your size goes up. Even verifying that the requests make sense is easier with schemas. Right now there is some project for json-schema going on, but it's not crazy popular yet. SOAP can be self- documenting too with its own structure mappings, type restrictions, etc. etc.

Don't you think it's only delaying the fact you'll have to reimplement the same stuff at some point yourself (since json based rest simply doesn't provide them out of the box)? (yeah - I know rest is protocol independent, so you can have xml and schemas too, but majority of "rest" services just throw some json and hope it sticks ;) - too bad if it changes between versions)

<comment><USER16> And how many internet startups are using VisualStudio.NET? (non-0, to be sure, but they are the outliers)

And pay attention to the cross-stack arguments, to say nothing of the cross _version_ differences.

You remind me of this guy on stackoverflow: <http://stackoverflow.com/users/76337/john-saunders> \-- M.S. kool-aid, yummie!

I am still waiting for any feedback (not from John, just in general) on this question: [http://stackoverflow.com/questions/2194316/good-book-for- wri...](http://stackoverflow.com/questions/2194316/good-book-for-writing-java- clients-for-sundry-web-services)

I guess anybody who know how to do these would be out pillaging and plundering corporate "america", not writing books :-)

</comment></comment></comment></comment></comment><comment><USER17> Unless you're using a framework like .NET where everything is done for you, SOAP is just too much trouble and complexity for simply data exchange. Especially if you're trying to consume it from Javascript or Flash.

I'm not sure how much of the "REST" in the pie chart is true REST, but POX and POJ is so much simpler and easier for cases where you don't need a full blown strongly-typed web services interface.

</comment><comment><USER18> What's the definition of REST? I'm tempted to say: "easy to use from the command line with curl only".

</comment><comment><USER19> SOAP has 50x the features of REST. Even most REST advocates will accept that there are scenarios, where it's better to use SOAP. If you need complex security, reliability, addressing, etc. why not let Microsoft/IBM/Oracle do the dirty work?

</comment><comment><USER20> No. I wish SOAP dies a horrible death.

<comment><USER21> God, yes. What a steaming pile.

</comment></comment><comment><USER22> RMM (Richardson Maturity Model) provides a good set of criteria for evaluating adherence of a web service to the Representational State Transfer Architectural Style.

[http://martinfowler.com/articles/richardsonMaturityModel.htm...](http://martinfowler.com/articles/richardsonMaturityModel.html)

My guess is that 80% of those "REST" APIs are RMM-0.

</comment><comment><USER23> Maybe I'm misunderstanding the pie chart in the article, but isn't it possible to have a RESTful API implemented in JavaScript?

</comment><comment><USER24> Wordpress + Blogger API is still XMLRPC which feels icky to hook up into. :)

</comment><comment><USER25> Tired of all the pedantry surrounding REST, but hate SOAP? JSON-RPC FTW.

</comment><comment><USER26> i get the feeling that an important concern that prevents soap adoption is the bulkiness of the xml standard that it's based on. i hope that the efficient xml interchange standard will make that concern go away that.

solutions like thrift seem to reinvent most of what's been done with xml schemas and other standards around soap solely on the grounds of performance.

oh and it's surprising that json-rpc is not in this pie-chart. pure rest is not powerful enough to communicate a complex object structure.

<comment><USER3> Seriously? You hope that SOAP survives, and switches from XML to _binary XML_?

I'm already gearing up to send cyborgs back in time to kill the EXI team members on the off chance that standard takes off.

<comment><USER26> um, yes?

the way i see it exi is to reduce the time to parse xml. but i'm not terribly familiar with exi standard (draft) and would like to know what's so terribly wrong with it.

so, care to elaborate?

</comment></comment></comment><comment><USER27> Amen

</comment><comment><USER28> SOAP is the worst thing ever!

That is all...

</comment><comment><USER29> +1 just for the title of the article.</comment>


The Theory of Interstellar Trade - <AUTHOR> http://fermatslibrary.com/s/the-theory-of-interstellar-trade <comment><USER2> Any civilization that has mastered interstellar travel will almost certainly also have mastered atomic transmutation as well. So as long as all the interesting stuff is made of atoms, and the atoms over there are the same as the ones over here (which AFAWCT they are), there are only two possible "goods" that could be worth transporting between star systems: information, and free (in the physical, not the economic sense) energy. You don't need a space ship to transfer either of those, you just convert them into photons and let Maxwell do the work. The idea that it might be worthwhile to actually _ship_ something (including ourselves) to another star system is based on very quaint notions of identity binding and what it takes to produce things.

<comment><USER3> It's very inexpensive to create nearly exact replicas of artwork, yet people are still willing to pay a lot of money for the original.

So maybe people will be willing to pay lots of money for hand-crafted alien artwork.

<comment><USER4> That is similar to the answer I came up with in high school, about 40 years ago.

Artwork, objects of note, curiosities with provenances, tourists, off the grid information that needs to remain _really_ secure, spies, traitors, patriots, displaced peoples, artefacts bound to a religious, gifts, bodies, deceased bodies, prenatal bodies, slaves, sex objects, objects of devotion, objects of derision, pariahs.

I actually wrote a short story about a trade empire that was built by a race of aliens (they looked like lizards) that had odd religious beliefs that required them to build monasteries all over the galaxy, and staff them with praying monks.

The monk's duties were very simple, each day they had to silently read from a small paper prayer, then burn the strip of paper over a candle. The rest of the day they partied, got drunk, had sex (monks could be of either gender), or wrote non-prayer literature.

Writing prayers was an unforgivable sin, the prayers had to come from the home planet. There was a huge fleet of trade ships created to deliver the paper prayer strips in bulk.

In return for the land for the monasteries, the alien lizards would give rides on their space fleet. They had single use vouchers that went from point to point, and they had travel passes which allowed general travel. Basically a bus pass for the galaxy. And since they had a monopoly on FTL ships, they delivered mail.

One day the prayer ships stopped coming. Everybody goes bananas. Nobody travels. Economies collapse.

Plus somebody has to feed the monks, and keep them entertained or else they go on party binges. Can't let them starve, because the ships might start coming again.

A generation later the ships start showing up again. No explanation given, and it's impolite to ask. The kind of impolite that gets you cut out of the prayer circuit.

That was all backstory, the actual story starts with an undercover agent from Earth getting sent to the lizard homeworld to try and find out WTF. He only has partial passage and a small consignment of trade goods. The backstory got backfilled as the agent wheeled and dealed his way towards the home world. I did have an ending, but I think I'll not spoil it in case I ever want to try and rewrite the story.

My 17 year old prose stank, unsurprisingly; even at that tender age I could smell it. Not sure I can do better now, but who knows.

<comment><USER5> Well I think the idea and world you've described is awesome, so I encourage you to give it another go if you have the time!

<comment><USER6> Indeed, I would love to read a story like that!

</comment></comment></comment></comment></comment><comment><USER7> Vaguely on topic - the novel A Deepness in the Sky by Vernor Vinge touches on this subject a fair bit.

 _potential spoilers follow_

Essentially, no spacefaring civilization is stable over long time scales, a culture (the Qeng Ho) get by through predicting which planetary system will have the economy to support refueling an interstellar craft (in the centuries- later future when they arrive). Trade advanced/secret technology development info for said refueling. The story has way more to it, but I loved it as a known-physics-following scifi story. I expect the audience of this site would also love it (and probably, many have already read it)

<comment> matt-snider Love this book. The prologue is one of my favourite beginnings to a book and hints at how epic/vast the book's universe is:

> The manhunt extended across more than one hundred light-years and eight > centuries. It had always been a secret search, unacknowledged even among > some of the participants. In the early years, it had simply been encrypted > queries hidden in radio broadcasts. Decades and centuries passed. There were > clues, interviews with The Man's fellow-travelers, pointers in a half-dozen > contradictory directions: The Man was alone now and heading still farther > away; The Man had died before the search ever began; The Man had a war fleet > and was coming back upon them. With time, there was some consistency to the > most credible stories. The evidence was solid enough that certain ships > changed schedules and burned decades of time to look for more clues. > Fortunes were lost because of the detours and delays, but the losses were to > a few of the largest trading Families, and went unacknowledged. They were > rich enough, and this search was important enough that it scarcely mattered. > For the search had narrowed: the man was traveling alone, a vague blur of > multiple identities, a chain of one-shot jobs on minor trading vessels, but > always moving back and back into this end of Human Space. The hunt narrowed > from a hundred light-years, to fifty, to twenty - and a half-dozen star > systems. And finally, the manhunt came down to a single world at the > coreward end of Human Space.

<comment><USER8> I am going to read that book.

Thanks for posting that excerpt. It is a near perfect, "and then ehat happened?" Hook!

</comment></comment></comment><comment><USER9> >A solution is derived from economic theory, and two useless but true theorems are proved.

>This paper represents one small step for an economist in the direction of the theory of interstellar trade.

>These complications make the theory of interstellar trade appear at first quite alien to our usual trade models; presumably it seems equally human to alien trade theorists.

This is wonderful and hilarious and full of cheeky fun (so so much more than I've quoted). It's perfect for the sigbovik crowd. Thanks for posting!

>This paper, then, is a serious analysis of a ridiculous subject...

</comment><comment><USER10> Interstellar travel will consist of information travelling at the speed of light. Pretty much nothing else is practical.

The real problem is bootstrapping it. Because weight is so incredibly expensive to send interstellar, the only thing that could work is sending a nanorobot with an ability to self-replicate and build a receiver and a factory once it arrives.

Then information is sent to the factory, which proceeds to bootstrap a civilization.

<comment><USER11> > Interstellar travel will consist of information travelling at the speed of > light. Pretty much nothing else is practical.

What's your reasoning for this? You would only have to accelerate at 1g for 3 years to hit 99.5% of the speed of light. You can use an electromagnetic shield for dust. It seems conceivable that this will be possible eventually, even if warp drives are not possible.

<comment><USER12> Indeed, and the benefit of traveling at 0.995 c is that a container of information doesn't suffer from degradation by the inverse square law as it travels over a large distance. It might actually cost less energy to transport information to far flung destinations that way, interstellar snail mail if you will. Some amount of information has to accompany the robot anyway, at the very least, its initial operating instructions.

Of course whoever can get there at 0.996 c can take advantage of a market arbitrage. ;-)

<comment><USER13> > a container of information doesn't suffer from degradation by the inverse > square law

Neither does a well-focused laser?

EDIT: apparently it does, unless you manage to focus your laser _very_ far away. Not sure how practical that is.

</comment></comment></comment></comment><comment><USER14> I've read this before but this is the first time I noticed that Krugman wrote the paper in 1978 and the references include a paper about faster-than-light travel written by him, published 1987.

<comment><USER15> I read the Wikipedia article on this paper today and turns out Krugman wrote this when he was feeling quite low being embroiled in the rat race.

</comment></comment><comment><USER16> regular PDF, [https://www.princeton.edu/~pkrugman/interstellar.pdf](https://www.princeton.edu/~pkrugman/interstellar.pdf)

</comment><comment><USER17> From the point of political economics, charging interest is not necessarily a given. Economies exist where interest is prohibited.

<comment><USER18> In name perhaps, but the concept of an economic good having potentially different values at different times is universal. An economic system that tries to pretend it doesn't exist may work in the sense that a mathematical system without a 0 works. We can still analyze the system using the concept and develop insights using it as a tool, even if they don't recognize it themselves.

</comment></comment><comment><USER19> > The ship's velocity can then be represented by a rotation of the axes; the > rotation of the time axis is shown in Figure II. (Readers who find Figure II > puzzling should recall that a diagram of an imaginary axis must, of course, > itself be imaginary).

</comment><comment><USER20> So riddle me this -- how did Adam Smith's work (published in 1776) influence the initial settlement of Virginia (1607) and Massachusetts (1620)?

I'm guessing Krugman hadn't actually read Wealth of Nations, since anyone who had couldn't possibly have made this mistake. That's pretty shocking.

<comment><USER21> I'm guessing you parsed it wrong.

"Could this be as influential as Adam Smith's work on the initial settlement of Massachusetts and Virginia" refers to Adam Smith's work on the initial settlement of Massachusetts and Virginia, not to purported Adam Smith's work influence on the initial settlement of Massachusetts and Virginia.

<comment><USER22> Right, "on" here means "about". English can be annoying.

<comment><USER23> So what is that influential work written by Adam Smith and concerning the settlements in Virginia and Massachusetts?

<comment><USER22> _The Wealth of Nations_. He looked at what Spain, England, etc got out discovery and colonizing America.

<comment><USER23> That's a very oblique way of referring to the Wealth of Nations. There are only 4 references to Massachusetts in a 750-page book.

<comment><USER22> OK, "peripherally about".</comment></comment></comment></comment></comment></comment></comment>


Why we're losing $300 per user every month - <AUTHOR> http://kudu.io/blog/why-were-losing-300-per-user-every-month/ <comment><USER2> Kudos to Kudu ! This seems to be a great way to do MVP but I still have a few questions:

Isn't the point of MVP to test the idea that people will pay money for the provided service ? The blog post does not seem to mention if they are charging customers a price for their service.

Also, is it possible that the current users , who are being served manually, are viewing kudu as a "consulting" service rather than a SaaS

<comment><AUTHOR> Great points - these are things I struggled with.

How do I test without building? How do I know they want Kudu or just the Kudu test?

The best I could do was make it VERY clear on the landing page at [http://kudu.io](http://kudu.io) that they were purchasing what is effectively 'early access' to Kudu and what this would involve.

(Note - We've now changed the page content as we've sold out of these early- stage seats.)

..and yes, we're charging just $30 p/m

</comment></comment><comment><USER3> I hope you succeed. AdWords has become more complex over time, and I do think there is a market for a service that cuts through the confusion. I was priced out by high CPC's years ago, but my friends who have stuck with it and had success all say that it takes time to optimize your campaign - at least a few months. If you can shorten that period, your investment should pay off in the long term.

On a related note, I was looking at patio11's charts last week and noticed that he seems to have dropped AdWords in the past year. For 2012, BCC had $64k in sales and $29k in expenses ($13k of which was for advertising) yielding a net of $35k. In 2013, his sales dropped to $46k, but with little overhead it's almost pure profit.

<comment><USER4> It is interesting to see the complexity of strategies needed to play adwords increase over time. Big budget advertisers use predictive models and automated bidding to quickly react to changing conditions. I predict some years in the future we'll have crazy high frequency trading robots battling each other like in the stock market.

<comment><USER5> Isn't this what already happens with Ad Exchange auctions?

<comment><USER4> Yes, I think it is very much happening right now. I think that the sophistication will grow and grow as more ad dollars are converted to the digital world.

</comment></comment></comment></comment><comment><USER6> It's good to see people getting what an MVP should be. In this case it's proving that someone is willing to pay X amount monthly for a specific service. I guess the next thing to prove is that the company can deliver this for less than X monthly.

I assume they've some confidence they can create the technology or they'd have started with that side of things. No doubt there is still risk there but there was probably less there than on the market side of things. Good work.

<comment><AUTHOR> Thanks for the encouragement, Robin.

</comment></comment><comment><USER7> This might seem silly, but on your homepage, you have a girl called Erin. Her 'website' is www.truelovecoffee.com - which is just a domain landing page. It's obviously dummy content, but I hope you will replace that sometime with a real customer.

</comment><comment><USER8> If you have one employee and 4 users, it is easy to lose $300 per user per month. This isn't an issue.

If you have 1000 users and 10 employees This is a bad thing.

If you have 10k users this is a really bad thing.

Most startups in the pre-cashflow positive stage are losing pennies per user, not dollars. Few are losing $3600 per year per user.

It is hard to comeback from those kinds of numbers. It is harder to convince a VC that you will ever be able to turn that around.

Edit: I also don't think that telling a VC that you trained people to do what you think you can build software to do will fly.

If I told you we were going to launch a new search engine, but until we got the formula's worked out we were launching using human edits to the results, you'd laugh me out of the room.

<comment><USER9> Let's say he has ten customers. Do you really think that his company is losing $36,000 a year by finding what adwords are good for ten web resources?

</comment></comment><comment><USER10> My initial reaction was that this does not meet the "viable" keyword.

However, in MVP, "viable" is from the customer perspective, not the business perspective. The MVP is viable for the customer to use, not necessarily viable for the business to continue providing in its minimal state.

</comment><comment><USER11> What differentiates Kudu from any other client-services SEM shop?

<comment><AUTHOR> Kudu will be a self-service SAAS for managing successful ad campaigns.

Our current manual process is for our discovery process only.

We want to create a service for those who can't justify hiring PPC managers or third-party consultants.

<comment><USER12> Just in my opinion, the manual process is a concierge service, which people may be willing to pay $30/m for if they're getting $300 of value (a real person to work with).

When they switch over to the self-service version, they have to put more of their own time in to using your system and lose the expertise of the concierge person, and the value proposition may not be > $30/m anymore.

</comment></comment></comment><comment><USER13> Out of curiosity, what will happen after the two months? What expectations do your 10 customers have when the time period is over?

<comment><AUTHOR> Good question, we're building as we go through this discovery process.

At the end of the test period (which will be at least 2 months) our users will have early access to the Kudu product.

</comment></comment><comment><USER14> WTF is MVP?

<comment><USER9> Most valuable project, I'm guessing. And if his most valuable project is worth -3600/user/year I feel sorry for the company.

<comment><USER14> My first thought was "mobile video platform" though I found that hard to reconcile with the apparent focus on advertising.

Digging through links on the site suggests "minimum viable product". That term _isn 't_ among the top definitions listed in acronym dictionaries, though having had my memory prodded, I've seen it before on HN.

Articles which can't be arsed to define their acronyms draw flags from me.

</comment></comment></comment><comment><USER9> This is a really lousy way of advertising your project. If you're the author of this article, karma-- bro. Picking a few words to associate with a project/product/company/enterprise/whatever SEO buzzword you pick doesn't magically pull $300 or more out of your bank account unless you are paying someone else $300/user/month or more to pick out adwords -- in which case, why the hell are you paying for it yourself?

Does it really cost $300 a month, in any case? I have a hard time imagining that your company is losing ~$3600 on average per customer a year just for assigning keywords to their $SEO_PHRASE. This is not an informative article. It doesn't make anyone's life better. You're just inflating the value of your unnecessary service and trying to make like you're doing a huge service for everyone, when you're not.

<comment><USER15> You're really, really overthinking this. How much does it cost to assign a word to $SEO_PHRASE? Nothing. How much money magically flies out of their bank account whem they pick up the phone to talk to a customer? Nothing.

However, if they have someone on their payroll making $100k/yr and that employee spends a day with a customer gathering feedback about the product and what the customer would like to see going forward, that's going to be an opportunity cost of ~$300. It's just an investment. They aren't making money right now- they are spending money paying the (hopefully) right people to determine what they can do to (hopefully) maximize their viability later in the product's life.

</comment></comment><comment><USER16> The analogy here annoyed me. If I were running a farm (big 'if', etc) I would never buy a service that involved burning a ton of fuel just to give me some analytics. Something low carbon, like a drone, would be a much happier proposition.

I am aware this isn't the point of the post - but the point is lost if the example "quick hack" involves a three-order-of-magnitude increase in CO2 emissions. This shouldn't be a socially acceptable suggestion to make in this day and age.

<comment><USER17> I think you're misunderstanding. The point was that they would test their thesis quickly and with available means to validate their idea.

The actual product wouldn't involve burning a bunch of fossil fuels.

<comment><USER16> I did understand that bit, but the principal still annoyed me.</comment></comment></comment>


Chrome 22 breaks things - <AUTHOR> http://chrisvalleskey.com/chrome-22-breaks-everything/ <comment><USER2> for position: fixed and changed stacking contexts, you're likely running into this:

[http://updates.html5rocks.com/2012/09/Stacking-Changes- Comin...](http://updates.html5rocks.com/2012/09/Stacking-Changes-Coming-to- position-fixed-elements)

Basically, the position: fixed on the parent of the span you're trying to put on top is now making the parent its own stacking context, which means that all children will be stacked relative to each other, not to the first absolutely or relatively positioned ancestor of the parent, as it was before.

The easiest fix is to set the z-index on the parent, since that will correctly stack it relative to its sibling (your other position: fixed element). The other way is to give the sibling that you want to be below the other content a negative z-index, since that will, again, specify it in the stacking context you want to affect. Both of these fixes should render correctly in older browsers (I believe).

This is annoying when it affects existing content, but it is part of the spec now (and it's apparently how mobile browsers have always rendered it).

<comment><USER3> How much content does this break? Was this discussed on one of the public mailing lists? If so, does anyone have a link to some relevant discussion? (I would love to hear the various positions regarding breaking existing content to bring an optimization used by browsers people generally consider to render things weirdly to all browsers.)

<comment><USER4> This was proposed here on the CSS WG public mailing list: [http://lists.w3.org/Archives/Public/www- style/2012May/0473.h...](http://lists.w3.org/Archives/Public/www- style/2012May/0473.html)

<comment><USER5> Yes, and no one other than WebKit folks seemed to feel it was particularly warranted. Which makes this deliberate spec violation all the more interesting to me. Nothing like sabotaging the standards process by deliberately trying to force the issue in the field when you fail to convince people as part of that process.

</comment></comment></comment></comment><comment><USER6> I've been seeing color abberations in text since my PC updated to Chrome 22. Most noticeable has been blue links showing up with a purple tint -- significantly different from the color showing in the Inspector. It's browser- wide, with extensions disabled -- I first noticed the change in link color on a Reddit comment thread, then saw it on Google Plus and my own website as well.

<http://i.imgur.com/Wjay2.png>

Has anyone else noticed this? I've been watching Google's "Past 24 Hours" search result and only one other person has talked about a similar problem; he's seeing the same thing but only on external monitors.

This is the first show-stopping Chrome bug for me... I can't work with a browser that won't display the colors I tell it to display when designing pages. Frustrating that I can't even get confirmation others are experiencing it.

<comment><USER7> I've noticed this as well, for blue links. It's really bugging me. Are you aware of a workaround?

Edit: I'm on a Mac, 10.7.5, FWIW

<comment><USER6> I haven't found one. I tried switching color profiles on my display, removing extensions, upgrading to Chrome Canary -- colors are still off.

<comment><USER8> There's new ICC support in Chrome 22. Perhaps that is interacting poorly with some setting in your system?

<comment><USER6> I _think_ that change is only supposed to apply to rendering of certain images, not text. Regardless, I went down that avenue as much as I could, switching color profiles (as I mentioned) in my display settings and rebooting to see if there'd be any change.

It shouldn't be the issue since ICC was already supported by other browsers, and they're not showing this new text color abnormality, just Chrome.

</comment></comment></comment></comment></comment><comment><USER9> Additionally, Chrome 22 changed the behavior of -webkit-font-smoothing: antialiased so that the weight of fonts looks much different than it used to when this was enabled. It makes icon fonts look especially bad.

<http://code.google.com/p/chromium/issues/detail?id=152304>

<comment><USER10> Well it _is_ experimental for a reason.

As quoted from the bug report

> The webkit-font-smoothing css property is, contrary to the summary, still > working. It is still respected, as no lcd font smoothing is being applied. > However, the bug where it also affected the weight of the text as a side > effect has been fixed.

Though it's worth noting they are looking into whether the purpose (and thus the function) of this particular property should be adjusted.

<comment><USER11> Is this a case where the bug presents a better solution than the intended design?

Your last sentence is reassuring that the developers appreciate this too.

</comment></comment></comment><comment><USER12> Without wishing to piggy back on this thread I feel its a good time to point out that this is exactly why enterprises stick with IE. People are risk averse in businesses.

<comment><USER13> Enterprise apps using IE have 1/100 of the design complexity of sites that are affected by these changes.

<comment><USER12> You'd be surprised. The amount of CSS/HTML that goes into your typical LOB application is quite large and the applications are typically orders of magnitude more complicated than "sites" as you mention. The piece of kit I work with has approximately 900 ASP.Net MVC views...

I just ran CLOC. We have 6.2 million lines of code in 14 different languages!

<comment><USER14> It's orders of magnitude more complicated, and generally for no good reason. There are often conflicting CSS rules, or 100 lines of cruft when 10 lines might work just fine.

And yes, things break all the time, often for unknown or unexpected reasons, and it's sometimes close to impossible to figure out why and fix the bug.

The enterprise software world is scary.

<comment><USER15> Are those problems really specific to enterprise software?

<comment><USER16> This "Enterprise Software" label doesn't make sense at all, anyway.

<comment><USER14> Trust me, it does. It means "business software which sucks to an incomprehensible degree."

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> >Chrome 22 Breaks Everything

Followed by _two things_ that are broken.

<comment><AUTHOR> As I said earlier, I didn't mean that Chrome is completely, literally broken. I meant in the sense of a user having just updated their version of Chrome, going to a site, and not being able to do anything. For me and a few coworkers, this was exactly what happened to us when we started noticing these two issues last night. These two relatively minor CSS bugs have broken the functionality of a site we have been working on to the point where it is unusable.

<comment><USER18> I've been using chrome beta for a while (so i'm at 23 now and was at 22 a while) and never saw those problems. How many sites do you know that are broken, apart from your own project?

</comment></comment></comment><comment><USER19> Funny thing is that, if you use the Chrome Developer tools on the first example "Floats don't push block content down" and select in the source the
, the tools highlight the position where the
 should be, and not the position it actually is. (a picture is better than a long explanation sometime: <http://imgur.com/d5xnj> )

</comment><comment><USER20> Talk about an alarmist title of "breaks everything...". Appreciate the HN Mod changing it.

<comment><AUTHOR> Oh, that's what happened? Apologies for the alarmist title, but depending on your site's CSS this can completely destroy its usability. I meant it in the sense of a user saying everything on a site is broken, not that everything in Chrome 22 is literally broken.

<comment><USER16> I agree. Add too much salt to the food and people will say that you've ruined it. Some people won't notice it because they are less sensitive or for other reasons but the food, for some, is ruined.

This happens a lot with the software development where one simple bug in your application makes the user say that "it doesn't work". We, as developers, tend to get mad when all our work is deemed unfunctional because of a simple error but we usually don't see that it is a "simple error" only from our perspective.

</comment></comment></comment><comment><USER21> I don't know if this is related, but I had an issue with flash yesterday which seems to correspond to the Chrome 22 release.

I was playing a game which had never had a serious issue before, and I noticed that the timing of things was way, way off. At first, I thought that my system was just lagging - I had a server VM running, Firefox (my main) always has a ridiculous number of tabs open, and I was playing the game in Chrome because I don't like logging into Facebook from my 'everyday' browser - but shutting down the most resource intensive applications did nothing for the game.

Eventually I checked the plugins page and noticed that Chrome's built-in Flash plugin had re-enabled itself - I disabled it a couple weeks ago due to some video streaming issues - and it was once again the default plugin for those applications, therefore overriding the (higher version) system wide install.

I'm really hoping I'm not going to have to babysit Flash every few weeks when Chrome updates, especially since there isn't always a visual cue that you're running a new version of Chrome.

<comment><USER22> I've also starting having some awful performance hitches involving Flash, which might be related. Sometimes if I watch a Youtube video, the whole browser window (not just the current tab) locks up for a few seconds. Just started happening a few days ago, on Chrome for Mac.

<comment><USER21> As I said in my last comment, Chrome has its own built-in Flash Player. Even if you have another player installed on your machine, the built-in one overrides it unless you specifically disable it.

If you have another Flash player installed, go to chrome://plugins and disable the one that was installed with Chrome. It's obvious by the 'Location' which one this is, at least on Windows. I don't have a Mac so I can't help you there.

It's possible that this is just a problem with Flash 11.3. When I was having the video issues a few weeks ago, I installed the newer 11.4 version. Chrome's built-in player still calls itself 11.3. I don't know if it's that Flash Player version that's having the issue, or Chrome's built-in version specifically. My only specific complaint was that Chrome 22 re-enabled the built-in player without my consent.

</comment></comment></comment><comment><USER23> I ran into the z-index issue yesterday with an internal application that uses Twitter Bootstrap. It had been working perfectly for months, and then became unusable. After the new Chrome was pushed out, Bootstrap's modal dialogs were hidden behind the backdrop and therefore inaccessible.

It might have been an edge case related to the layout of this application, but ultimately I ended up having to patch bootstrap.js to fix it. I felt bad about editing bootstrap, but should anyone else need a temporary(?) fix, it came down to this code in bootstrap.js

this.$backdrop = $('
')

\- .appendTo(document.body)

\+ .insertAfter(this.$element)

That change had been discussed even before the Chrome changes, here

<https://github.com/twitter/bootstrap/pull/3825>

<https://github.com/twitter/bootstrap/issues/3217>

So, is this a Chrome bug, or a new spec that's being followed?

<comment><USER4> If I understand correctly it's the latter. Make sure the z-index is set on the position:fixed element, not elements inside of it. See [http://updates.html5rocks.com/2012/09/Stacking-Changes- Comin...](http://updates.html5rocks.com/2012/09/Stacking-Changes-Coming-to- position-fixed-elements)

</comment></comment><comment><AUTHOR> While my server deals with the traffic, here are the important bits:

\- Floats don't push block content down (<http://jsfiddle.net/cvalleskey/WD9pB/>)

\- Z-index breaking when element is a child of a fixed parent (<http://jsfiddle.net/cvalleskey/9S3S8/>)

<comment><USER4> For the second issue, please read [http://updates.html5rocks.com/2012/09/Stacking-Changes- Comin...](http://updates.html5rocks.com/2012/09/Stacking-Changes-Coming-to- position-fixed-elements)

</comment></comment><comment><USER24> Interesting bug that I was just running up against which might be related. I was trying to draw some text in a small box, but, while it worked in all other browsers, Chrome 22 was adding what appeared to be extra line height for no reason. The code looked roughly like:

TEST

        div > span {
            line-height: 0;
            margin: 0;
            padding: 0;
            font-size: 12px;
            display: block;
            height: 12px;
        }

Yet the text was being drawn dramatically outside of the box!

Turns out that this only happens in Chrome 22 when it's inside a list with list-style-type: disc.

</comment><comment><USER25> Chris, the position: fixed z-index issue is more widespread than you have there; I'm trying to come up with a case for reliable repro, but I just bumped into it a bit ago and had to redo some things to work around it. (full disclosure, I'm one of Chris's coworkers)

</comment><comment><USER26> We have a fairly sophisticated HTML5 based Cardiology viewer that completely fell apart when Chrome 22 shipped. It dynamically creates video objects and layers canvases on top for measurements. Worked perfect through version 21. In 22, playback is jittery, the browser stops responding, then eventually freezes where you can't even close the browser window. Other tabs are affected as well even though the process is supposed to be isolated (i.e. new tabs go completely black when trying to play video).

The issue isn't fixed in Canary. We are doing our best to isolate it and provide a bug report that demonstrates the issue outside of the production environment.

</comment><comment><USER27> Not directly related, but there was a comment in the original article that got me thinking:

 _> To test if your page is going to change, go to Chrome's about:flagsand turn on/off "fixed position elements create stacking contexts"_

Wouldn't it be cool if webdevs could alter Chrome's rendering settings to simulate IE and Safari? This would be a huge productivity boon. I think it might be an interesting challenge for Chrome devs (to expose a reasonable set of levers) and webdevs (who would probably be responsible for coming up with collections of levers that work.

<comment><USER15> There is this plug-in which is similar: [https://chrome.google.com/webstore/detail/hehijbfgiekmjfkfjp...](https://chrome.google.com/webstore/detail/hehijbfgiekmjfkfjpbkbammjbdenadd)

</comment></comment><comment><USER28> Something else that broke is if you have your home page set to multiple URLS. I don't mean what comes up on startup (set to whatever was open last) but rather what happens when you press the home button which can happen at any time.

Other browsers do allow multiple URLs to be specified, but Chrome doesn't. The workaround from time immemorial has been a chunk of Javascript that calls window.open on a bunch of URLs. In Chrome 22 only the first will open.

</comment><comment> ezequiel-garzon Is it me, or the settings button now looks like Android?

<comment><USER29> Yeah, Google decided the Wrench icon wasn't meaningless enough so they changed to something that means even less.

I presume it's for consistency with Android, since right now Chrome for Android still makes references to 'the wrench icon' in text.

</comment></comment><comment><USER30> I have a problem with videos in Chrome lately, too. I think since version 20 or 21. I think it's related to Flash. Whenever I play 2 videos at once in different tabs, it starts sounding bad, like the hardware can't handle the video or something, but I have a pretty powerful laptop, and I'm sure it's not the hardware's fault. It's very weird. It also didn't happen before.

</comment><comment><USER31> Thanks for posting this. I just had to redo some CSS on my site because of it.

Even worse is that it also breaks the Garmin Communicator Plugin v 4.0.3. No more easy uploads to Strava from my Garmin 800 Edge. I don't know if this is Chrome or Garmin's fault, but the end result is that the end user doesn't have a working system.

</comment><comment><USER32> Something else I personally noticed with Chrome 22 is that Doxygen's menu bar now appears to be totally wonky.

<http://i.imgur.com/zHSYQ.png>

It happens with every 'last' menu item. No idea where that came from, but it's the first time I've noticed a Chrome upgrade in a long while.

<comment><USER4> Could you please file a bug at <http://new.crbug.com/> with a link to an example doxygen-generated page showing the issue? This doesn't look like something I'm familiar with.

</comment></comment><comment><USER33> I ran into a flexbox bug (which turns out to be by design):

<http://code.google.com/p/chromium/issues/detail?id=152386> `display: -webkit- flex` disables `overflow: hidden`

Flexbox in general is still experimental; only Chrome 21+ supports the new spec.

</comment><comment><USER34> Oh goodness, the floats thing isn't good. A lot of sites rely on that, including my own. D:

</comment><comment><USER35> Every issue I've had recently with something breaking has been with Chrome - we see new issues cropping up almost weekly.

As much as I hate developing for IE, I know the issues at hand and know the solution to fix it will be stable - with Chrome, not so much.

</comment><comment><USER11> I appreciate the documentation of this, because it provides a possible reason to some things suddenly breaking despite no relevant change in code.

In a complex code-base, there can be a lot to blame, but it's nice to have some plausible explanation.

</comment><comment><USER36> I've also noticed issues with animations in Chrome 22. Everything is prefixed properly and works well in other Webkit browsers like Safari. Chrome doesn't even run the animation, it just flashes and shows up.

Anybody else have this issue?

<comment><USER37> I'm noticing problem with animating items, especially on sites the are using "parallax" motion.

</comment></comment><comment><USER38> Another big issue is a broken javascript profiler. I've been using this quite a bit to optimize code on a project I've been working on and noticed after I updated that you can no longer expand nodes. Pretty bummed.

</comment><comment><USER16> I'm also having problems with the spell-checker. It just stopped working with the "English (United States)" language. When I switch it to Turkish, it works fine.

</comment><comment><USER39> Did anyone else find that all their extensions disappeared?

<comment><USER40> As an extension developer - I'd definitely be interested in hearing if others are experiencing this and if so, how you resolved.

</comment></comment><comment><USER41> Since the update I've also encountered issues with box-reflect when used in combination with CSS3 transforms or box-shadows.

<comment><AUTHOR> Nice catch. I'm seeing that too. The reflection appears out of position when you have a box-shadow on the element.

</comment></comment><comment><USER42> Ah, the wonders of web development portability across browser versions.

It sure beats the pains out of native development.

</comment><comment><USER43> Not sure if related, but I am noticing a lot of things broken. One example is Brazilian Apple Store link for customizing an MacBook Pro Retina doesn't render in Chrome 22:

<http://store.apple.com/br/configure/MC976BZ/A>?

Whereas renders normally in Firefox and Chrome 21...

</comment><comment><USER44> Can't believe there's no test case in their automated test suite which would've caught this before being released to tens of millions of users.

Not sure how they test, but they can build a library of typical HTML and CSS edge cases and generate renderings from both an older version and the new version, compare the renderings and flag any discrepancies for manual inspection.

<comment><USER45> The WebKit LayoutTests is huge and almost certainly covers this. Maybe a bad rebaselining of rendering results, or maybe this is the correct behavior and other WebKit ports will start exhibiting it...

</comment></comment><comment><USER46> I'm very glad this is HN front page, my site became actually blocked for all users because of a tour we had that used a floating overlay, but I still don't understand, is it a bug? or just following the specs? is there a concensus on this? if so, should we expect it to be fixed? or copied by other browsers?

</comment><comment><USER46> So, Is this according to the spec or a bug?

<comment><USER47> it might be relegated to

"works as _intended_ "

"feature" territory

akin to permission management issues in code.android <http://code.google.com/p/android/issues/detail?id=6266>

</comment></comment><comment><USER47> seems like the behavior ought have a toggle in

about:flags

(chrome is forked from chromium)</comment>


Intellij IDEA And Its Config Files of Pain - <AUTHOR> http://movingfulcrum.tumblr.com/post/69515860793/intellij-idea-and-its-config-files-of-pain

<comment><USER2> I believe you are doing it wrong.

I do not version control my IntelliJ project files, at least with Maven you don't need them in your VCS, if, and only IF I need to checkout a new copy into another computer I just re-create the project from the pom files. and I believe same may be true with Gradle, lets be realistic how often you change computers that you need to keep your project files with you?

</comment><comment><USER3> IDE project files do not belong in the repo. They are a detail of the IDE that you choose to use.</comment>


T. Boone Pickens Farewell Letter - <AUTHOR> https://boonepickens.com/?p=2343 <comment><USER3> "Learn to analyze well. Assess the risks and the prospective rewards, and keep it simple."

"Stay fit. You don't want to get old and feel bad. You'll also get a lot more accomplished and feel better about yourself if you stay fit. I didn't make it to 91 by neglecting my health."

It's a good final letter and has good advice. Complicated guy, complicated legacy, but good advice.

</comment><comment><USER4> I loved this tweet from him a year or so ago: [https://twitter.com/boonepickens/status/953398294172102658](https://twitter.com/boonepickens/status/953398294172102658)

<comment><USER5> He had some real winners on Twitter, his exchange with Drake was pretty funny [https://www.businessinsider.com/oil-tycoon-t-boone- pickens-o...](https://www.businessinsider.com/oil-tycoon-t-boone-pickens- owned-rapper-drake-hard-on-twitter-this-morning-2012-5)

</comment></comment><comment><USER6> > If you are reading this, I have passed on from this world — not as big a > deal for you as it was for me.

Clever. :)

</comment><comment><USER7> "It's your shot now."

That statement and others show me the Pickens was trying to help others, to encourage them. I especially like the list of guidelines at the bottom of the page.

</comment><comment><USER8> > Don't look to government to solve problems — the strength of this country is > in its people.

I've been reading One-Storied America[0], a book from 1935 by two Soviet humorists visiting the United States. The book echos this perspective on every page.

[0] you can find a good 1937 translation online under the title Little Golden America by Charles Malamuth.

<comment><USER9> Thanks for giving me another interesting book to add to my list :)

<comment><USER8> Glad to hear. I'm two thirds of the way through and it's so interesting.

</comment></comment></comment><comment><USER10> The quote from "Indispensable Man" reminds me of this from Charles de Gaulle:

"Indispensable men? The graveyards are full of them."

</comment><comment><USER11> _> Stay fit. You don't want to get old and feel bad. You'll also get a lot more accomplished and feel better about yourself if you stay fit. I didn't make it to 91 by neglecting my health._

This. Many people don't realize that staying fit isn't a quest to live longer but to live physically better in the later ages.

I cringe when someone tells me stuff like "yeah but that dude smoked and never exercised and lived until 80s while the fit guy got cancer and it didn't help him" ... yes but you forgot to mention that living life in his body became a miserable experience since 45 vs. someone else who may have died in 60s of cancer but in fact spent something like 50 fulfilling years feeling great.

Staying fit may not save you from cancer or car accident, but but the life is so much better when you live in a fit body.

</comment><comment><USER12> I find it mesmerizing that people on this thread have a problem with the criticism of a highly influential person upon their death. I mean were people bound to say only positive things when Augusto Pinochet and Robert Mugabe dusted off?

Obviously I don't think T Boone shares the legacy of violent dictators but my point is that those clutching their pearls here trying to categorically separate themselves from those who speak ill of the dead are not separate at all. They either don't believe what Pickens did was all that bad or they don't believe he did bad things. On their spectrum of "posthumous criticism" Pickens lies on the positive side of their personal threshold.

<comment><USER13> The man in the arena will always command a respect the gravedancing haters will never know.

<comment><USER12> I'd hate to live in the authoritarian minded society that applied this maxim universally.

</comment></comment></comment><comment><USER14> The comments on this thread are terrible.

I don't know enough about him to pass moral judgement, but it seems like many others think that they do (after a quick scan of Wikipedia, meh, that's good enough).

It just seems crass to be flippantly judgmental when the guy just died, and in response to his last elegant / humble / insightful "post" to the world.

I'm also confused at the implicit viewpoints that, IMO, are at odds with the HN/YC ethos of "individual hussle/initiative/hack your way to huge growth/etc". I.e. if Pickens wasn't from another generation and another industry, I think he'd fit in very well with the HN/YC types (disclaimer/ha, I'm making an assumption that I just chastised others for doing).

Anyway, makes me wonder if the "real HN" crowd has moved on elsewhere.

<comment><USER15> I think there's been a huge change in HN's tone over the last 1-2 years or thereabouts towards "takedowns" and lots of negative rhetoric against people, companies, technologies etc. I used to think it was mostly just specific things, like anti-Musk sentiment because a lot of people find him grating, but I now think its mostly just a reflection of the general anti-tech that's very much in vogue.

I also think it's a one-way street, because it's very asymmetrical. It's super quick, easy and satisfying to burn someone because they appear to be a hypocrite, but quite hard to make the counter-case, because reality is often messy and grey (such as this guy, who was both an oil man and a wind energy man). So fewer and fewer people will bother to do all that work to reply to negativity, which will naturally lead to more voice/upvotes on one side, which makes it even more onerous to reply etc.

<comment><USER16> I do not think the change in tone/civility and is due to the 'comments' only.

The change is also due to the topics and topics sources constantly pushed into the discussion (often by very high-karma participants).

HN has basically become

NYT/BBC/WallStreetJournal/Vox/Slate/BuzzFeed discussion forum (for anything relating to environment/economy/politics).

Seems that more reasonable technical (although, narrower in scientific scope) discussion is happening on lobste.rs

In there, there is also publicly viewable moderation log, that helps to understand/evaluate how moderation decisions are made.

To me the change started happening in about 2014 where public deplatforming/takedowns became normalized in Software tech sector.

However, I also agree that this type of change at HN, accelerated in more recent years.

<comment><USER17> I've been flagging mainstream news topics hard all year, but I think there's just a few of us actually trying to keep the site to its stated goal.

The level of discourse around those topics is abysmal.

<comment><USER18> The stated goal of Hacker News is "Anything that good hackers would find interesting. That includes more than hacking and startups. If you had to reduce it to a sentence, the answer might be: anything that gratifies one's intellectual curiosity."

Mainstream topics allowed from any source so long as they meet that criteria or presents "evidence of some interesting new phenomenon." This site has never been exclusively for technical topics. Flagging stories merely because you don't find them interesting, because they're mainstream or because they come from a mainstream site is an abuse of flagging privileges. You can just ignore such stories, hide them, upvote the content you would rather see or post more of such content.

<comment><USER17> [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

Off-Topic: Most stories about politics, or crime, or sports, unless they're evidence of some interesting new phenomenon. Videos of pratfalls or disasters, or cute animal pictures. _If they'd cover it on TV news, it's probably off- topic._

Highlighting added for emphasis.

<comment><USER18> Probably, not definitely. Mainstream news covers plenty of stories which would be relevant here.

If you don't believe me, talk to the admin and the guy who made the site[0]. The problem here is not the mainstream nature of articles being posted, but the low effort being put in by commenters. Plenty of tech-related stories have plenty of garbage comments as well. Most of the discussion around RMS has been a dumpster fire.

[0][https://news.ycombinator.com/item?id=17014869](https://news.ycombinator.com/item?id=17014869)

<comment><USER17> Right. I'm not saying definitely no politics, but there's a ton of political content that is not really that interesting (like the two stories that were just on the front page about the US drone strike killing pine nut farmers in Afghanistan that are sliding down the ranking fast). It has been a growing trend. Maybe I spend too much time on the site, but I usually see most of the threads that get flagged/dead.

And I agree with my parent poster -- lobste.rs is a much better curated feed of interesting topics to me -- I'm not on it yet, because I sort of feel that I've made an investment here in the community.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> I wish there was a block user feature on hn. Frankly, with about half the commenters in this thread, I think I would be better off if I didn't run across their inane comments on any subject any more.

<comment><USER20> 100%. Back in the day our offline mail readers (for BBSs, CompuServe, BIX) had "twit filters" (black lists). An essential feature missing from most online forums today.

<comment><USER21> I used to have grease monkey scripts for reddit years ago before mobile, but it just was too clunky. I want a way to quickly apply dom actions on my mobile browser that should do the trick.

I used to worry about creating an echo chamber by black listing people but now I'm just so tired, I'd rather have an echo chamber than a frequent "what the fuck is this garbage, oh it's another comment by prepend"

</comment></comment></comment><comment><USER22> I had no idea who this guy was. Quick excerpt:

> Thomas Boone Pickens Jr. was an American business magnate and financier. > Pickens chaired the hedge fund BP Capital Management. He was a well-known > takeover operator and corporate raider during the 1980s. As of November > 2016, Pickens had a net worth of $500 million.

So, it seems, a "financial" predator, possibly of the worst kind. Not a lot of sympathy for these kind of people.

Edit: to be clear, "late" philanthropists are a nice thing, but as Ricardo Semler [0] once said, "If you need to give away money, you took too much in the first place".

[0]: [https://en.wikipedia.org/wiki/Ricardo_Semler](https://en.wikipedia.org/wiki/Ricardo_Semler)

<comment><USER23> > "If you need to give away money, you took too much in the first place".

This is a strange sentiment to find on a board that is at least partially targeted at aspiring company founders.

For example the money Bill Gates is giving away is mostly in the form of shares of Microsoft. Those didn't exist before he started the company (with others of course). He signed some paperwork, then later 500 million shares (or however many) came into existence and he had them. Who did he take them from?

Later on other people decided they also wanted shares of Microsoft and assigned them a monetary value. Did Bill Gates somehow force them to want the shares he had? To the extent that he "took" money it was in exchange for shares of a company that other people found valuable.

<comment><USER24> He took them from the employees of Microsoft who's work helped make those shares valuable.

Edit: Apparently this statement needs further clarification. What do those shares represent? A share of the profits. And what are the profits? Literally the difference between the company's revenues and expenses. It's literally the difference between the value created by workers and the salary the company paid them in return for that value.

So _of course_ Bill Gates took that wealth from the company's workers. That's what profit is!

\</comment></comment></comment><comment>----

Now to expand on the broader idea, in a Democratic Socialist economy where the stock corporation is replaced by the worker cooperative, he would not have had the right to claim 500 million shares. Those shares would have been distributed to the employees of Microsoft based on some metric of contribution to the company. Or would never have existed in the first place, and each worker would have had a vote in how the company was run and the profits distributed.

In either method, Bill Gates would have gotten some still significant portion of the value the company created, but no where near the amount he walked away with in our current economy. The rest of that value would have been distributed to the company's workers in one way or another - <USER2> distributions, shares, dividends, what have you.

In the minds of many - myself included - that is a much more equitable system. Bill Gates took the money from the people who helped create it in the first place. And he took a share that far out paced his contribution to the creation of that value.

He was able to do that because our economic system is set up around authoritarian companies, where the founders and CEOs have near dictatorial power (or oligarchical power with the board). And dictatorships are rarely equitable.

<comment><USER25> Salary is how companies distribute value to employees and Microsoft paid it's employees. Many people would prefer cold hard cash over stock that may be nothing but fireplace lighting material in five years. Likewise making 30% less this year because the company did badly for reasons in no way related to you doesn't sit well with many people either.

<comment><USER24> And the difference between that salary and the company's revenues (the value the workers created) is the profits. Which the shares represent a right to.

Can we at least agree that - whether voluntary or not - the share literally represent the excess value taken from workers?

Cause that's what I was saying in response to the question. Those shares represent the value taken from workers.

As to it being voluntary, it's not. There's a massive power differential in the negotiations. That's what unions were meant to help solve, but unions can't really solve that power differential (they were never strong enough) and they've got their own problems of corruption and power.

The idea behind a worker cooperative based system isn't that workers take stock as payment instead of cash. They still get a cash salary. They also get ownership of company and a right to decide what happens to the profits.

There are several approaches to how you design that system. In one you do away with the concept of stock (ownership shares) altogether - it's a one person one vote system. In another you keep the concept of ownership shares and workers earn shares in proportion to their time at the company. Maybe you keep an aspect of negotiation and the shares they earn are tied to their negotiated salary.

But you no longer allow outside investors to purchase ownership of the company. Or founders to maintain a controlling share long past the point where their contributions have been matched or outweighed by the rest of the company's employees.

In this system we recognize that companies, like countries, are communities that should be run democratically by the people involved in them for the people involved in them.</comment></comment></comment>


SSH Tunneling through web filters - <AUTHOR> http://www.s-anand.net/blog/ssh-tunneling-through-web-filters/ <comment><USER2> At the end of the article, the author suggests to look at proxytunnel and <http://dag.wieers.com/howto/ssh-http-tunneling> if you want to do this under Linux.

I just want to point out that this last option does a lot more than what the article does: it actually encapsulates the ssh session in HTTPS requests, so it'll work even if your firewall does layer-7 filtering. The article just runs sshd on port 443 and connects to that.

</comment><comment><USER3> >Would anyone on HN work at a company that filters http?

I'm consulting for one now. For the most part, they filter porn and borderline porn. However, they also filter Facebook (but not LinkedIn!), YouTube, and a few other things mainstream sites.

Circumvention certainly isn't that hard, but it also likely violates some company policy. I connected my Droid to their Exchange servers and got a nastygram from IT security (albeit a few weeks later).

Ironically, the risk isn't just that I would get caught - the first time would be a hand slap unless they wanted a reason to get rid of me. The corporate culture is so focused on conformity and compliance that it would be absolutely shocking to others that I would have even considered such a thing. And, this affects perceptions of trustworthiness. [No, I do not like any of this!]

</comment><comment><USER3> Given that Google App Engine gives away the first 5M requests/month for free and allows outgoing HTTP requests, would it be possible to build a proxy with it? Let's say I built a SOCKS client for Windows which delegated requests to a small AppEngine app via HTTPS. The server-side would simply make the request on the client's behalf and return the result. Would this work? I suspect latency would be much worse than the EC2/SSH option, but it would be more convenient. I could use something like FoxyProxy to only use the AppEngine hack for sites which required it.

<comment><USER4> There are quite a few of these. Check out <http://code.google.com/p/downy/source/browse/#hg/proxy>

I know this because the building where my office is has filters setup on the internet (I don't pay the bill, so who am I to complain). Because of the AppEngine proxies, they block all appspot.com domains.

The crappy part is that I have a couple of projects hosted on AppEngine, so in order to access those I have to run a reverse tunnel to get around their filters. (Making this thread circular).

I use this for my proxy (and set a system wide SOCKS proxy on OSX): ssh -CfgN -D 9999 myserver.com

</comment></comment><comment><USER5> The bank I have been working for the last 12 months was also blocking 443 traffic (except to few "safe" ssl sites). Tunnelling on 443 was impossible.

<comment><USER6> What's the reasoning behind that? Do they want to intercept all communications, and encryption would get in the way of that?

<comment><USER7> It's not too hard to MITM HTTPS traffic in a corporate setting -- you run your own internal root CA that approves the same cert for all domains, and add its public key to the browsers on all of the company's computers. Then instead of running a normal socks proxy, you just route all external IPs to a gateway box that proxies on 80 and 443.

I've seen this proxy method used at a company before, but I'm pretty sure they just passed through the https traffic instead of fucking with the certs. I'll have to check the next time I'm on-site...

</comment></comment></comment><comment><USER8> In China I found that using a UDP based OpenVPN to Slicehost was higher performing than the TCP on top of TCP issues that you get with SSH Tunneling when there's packet loss.

There's even some pretty decent desktop clients for OpenVPN, see Viscosity for OSX.

This is assuming you have the ports open (the Great Firewall of China does HTTP inspection but not port blocking).

</comment><comment><USER9> A VPS (Slicehost anyone?) should do the same, and it's way less expensive than EC2. You just have to set up everything from a non-filtered connection (at home! ..hey, you can even build this in a home server!).

Anyway, if you can use a SOCKS proxy, it should work for almost every application supporting any kind of proxy (but not using the 443/SSL port).

</comment><comment><USER10> Good writeup, ssh tunnels are something I can't live without…

Step 9 can be skipped completely if no proxy is needed to be configured.

Also don't forget, doing all of this still sends the DNS requests in the clear to the usual/old dns server and not through EC2. If the DNS server is also meant to filter and redirect, this can be an issue. To go around that, in firefox you can go to about:config and set network.proxy.socks_remote_dns = true

And for linux folks... you don't need any tools or any more special config... just run the ssh command with switch -D <SOCKS_PORT_NUMBER> and configure firefox or your browser to use that.

</comment><comment><USER11> Has anyone on HN actually worked for a company that filters internet traffic? _Would_ anyone on HN work at a company that filters http? I've always thought that if a company could effectively block internet traffic with a filter on a proxy then the problem wasn't that employees were wasting time surfing; the problem was that they were hiring employees incapable of getting around it.

<comment><USER12> Yep.

Financial Services in London filter/block a lot.

They also disable DNS lookups, and so only browser lookups and specially coded wget have resolution capability.

No: Gmail, Yahoo! Mail, Hotmail, Betfair, Twitter, Facebook

<comment><USER13> It's generally done for compliance reasons, banks are covered by fairly strict regulations which require communication audit logs. Similarly most personal brokerage websites and gambling websites are blocked to prevent insider trading, obviously it's not going to stop someone who's determined to break the law, but banks have to be able to show they've taken reasonable measures to prevent it.

</comment></comment></comment><comment><USER14> For $60/mo you can get a Sprint MiFi, and have mobile broadband access anywhere there's coverage. I know, this doesn't work for everyone, but compared to a $57/mo EC2 instance, I think it's a win in many cases.

<comment><USER15> A $20/month VPS would likely do the job well enough.

</comment></comment><comment><USER16> I use my slice for this stuff. On a mac, just add the localhost:<someport> to the 'network preferences > SOCKS proxies' and then do:

        ssh -D <someport> email@example.com

</comment><comment><USER17> Wow! 8 cents an hour! Thats...um....$57 a month. Oh.

Can you schedule EC2 instances for certain times of the day, or is it an all on or nothing thing?

<comment><USER18> You can shut it down and start it up whenever you like. Billing is by the hour so it is perfectly possible to just have it running when you need it and have it shut down for the rest of the time.

</comment></comment><comment><USER19> It works with anything but Google chrome.. I just learned that it doesn't support SOCKS proxy :/

<comment><USER20> Chrome doesn't support DNS query via SOCKS5 (aka network.proxy.socks_remote_dns in firefox), but support SOCKS5

        chrome.exe --proxy-server=socks5://127.0.0.1:8008

credits: <http://code.google.com/p/chromium/issues/detail?id=29914>

</comment></comment><comment><USER21> it's pretty common for vpn providers like witopia or acevpn to provide access via tcp 443 to get through these same firewalls and it's a whole lot simpler, not to mention more cost effective.

</comment><comment><USER22> You Can use Myentunnel</comment>


Cowsay - <AUTHOR> http://en.wikipedia.org/wiki/Cowsay

<comment><USER2>
      [~]$ cowsay
      -bash: cowsay: command not found
      [~]$ sudo port install cowsay
      --->  Fetching cowsay
      --->  Attempting to fetch cowsay-3.03.tar.gz
      --->  Verifying checksum(s) for cowsay
      --->  Extracting cowsay
      --->  Applying patches to cowsay
      --->  Configuring cowsay
      --->  Building cowsay
      --->  Staging cowsay into destroot
      --->  Installing cowsay @3.03_1
      --->  Activating cowsay @3.03_1
      --->  Cleaning cowsay
      [~]$ cowsay moo
       _____
      < moo >
       -----
              \   ^__^
               \  (oo)\_______
                  (__)\       )\/\
                      ||----w |
                      ||     ||</comment>


Responding Rationally to a Tragedy - <AUTHOR> http://stanfordreview.org/article/responding-rationally-to-a-tragedy/

<comment><USER2> Why do we always always have to respond rationally to a gun violence event, ignoring instincts and emotions to arrive at loosening gun controls? We didn't respond rationally to 9/11, or the Shoe Bomber or Mr Fizzypants the Underwear bomber. We're still suffering from result-free universal surveillance, and insulting and authoritarian airport security.

In short, the propagandists are picking and choosing which tragedies to respond to rationally, and which to respond to with jackbooted authoritarianism. Why?

<comment><USER3> The propagandists are demonstrably responding to this tragedy with more propaganda. The people of this nation got sufficiently upset with the jackbooted authoritarianism approach in 1994 that they elected a Republican Congress to stop it, among other things. The lesson that gun control equals lots of politicians spending more time with their families sunk in pretty well after Al Gore's loss in 2000 (it was one of many things, that if any one of which had not been an issue he would have won on Clinton's record).

It wasn't till Obama had "more flexibility" after his last election that the gun grabbers made another major push at the national level, and abjectly failed. How much they'll pay for that we'll find out starting in November (various Senators like Manchin won't come up for election for another 2 or in his case 4 years, I guess he supposed we'll have forgotten by then).

(Note this is largely, but by no means entirely a partisan issue; almost no one in the national Republican party cares about the issue, and at the Federal level we've seen very little relief, the real action is state and local, including elections for Federal offices in them. And it's not a litmus issue like e.g. abortion, there are at least a few very anti-gun national level Republicans like Pete King.)

Anyway, the politicians are most certainly acting rationally. Those in completely safe seats like Diane Feinstein are all for gun control, the national security state, etc. Those that aren't have a much stronger tendency to listen to their constituents. Entirely rational responses.

Also, why shouldn't we respond rationally? Besides the total lack of evidence that gun control works, these atrocities mostly happen in gun free zones (all of the really big ones have, except for the Arizona Congresswoman's shooting), e.g. this happened in Santa Barbara County, where the Sheriff issues very few concealed carry licenses, and the state in its infinite wisdom banned (unloaded) open carry. There's one obvious answer there, one that almost all the nation's states have adopted, and with judicial action, we may see 90% of Americans enjoying a right to carry concealed (Illinois now, California and Hawaii someday, maybe).

Another is to get serious again about mental health. It's also no accident that these atrocities are committed by the seriously mentally ill, but for a bunch of reasons we almost always don't do anything about them until they commit crimes.</comment></comment>


Harvest Moon - <AUTHOR> https://en.wikipedia.org/wiki/Harvest_Moon_(video_game) <comment><USER2> I remember a friend of mine had a later version of this game for the Game Boy. I only tried it a little bit but it seemed like a pretty good game. Years later I played FarmVille quite a bit, which I think is a quite similar game but I don't know exactly _how_ similar since I never really played any of the Harvest Moon games more than just trying them for a little bit.</comment>


BuiltWith, perhaps one of Australia's most profitable companies, has zero staff - <AUTHOR> http://www.startupdaily.net/2015/09/builtwith-is-perhaps-one-of-australias-most-profitable-online-companies-and-has-zero-staff/ <comment><AUTHOR> Must be making about $10m/yr</comment>


Ask HN: Alternatives to Evernote - <AUTHOR> Hello HN,<p>Am a lurker here, and was wondering what people use other than Evernote. I've been using evernote since early 2013 but with the upcoming change to a 2 device limit I am interested in making a switch, seeing as I currently use Evernote on about 8 different devices. Any others planning to change services because of this? <comment><USER2> There is no one to one alternative and it depends a lot on the platforms you use and the features you need. I've imported about 1.800 Evernote notes with attachments, pictures and so on to Apple Notes and Microsoft OneNote as a test:

Apple Notes got really slow and sometimes unresponsive, messages about the number of attachments reached showed up, the layout of the notes was in part messed up. And of course, Apple Notes is only available under iOS and macOS.

Microsoft OneNote was more responsive and the layout of the imported notes was much better, but OneNote has a completely different approach for structuring the information stored. That leads to lots of pages and tabs, tagging like in Evernote isn't really working in OneNote the same way. Moreover, OneNote doesn't store the notebooks locally when using a Mac, but only in the cloud.

I had tried Google Keep some months before and wasn't really blown away, so I've not tried it in the last week again.

If you rely on special Evernote features like easy creating notes from web pages or automated creation of notes from mails, there are much more and robust solutions out there (IFTTT ...) for Evernote than for OneNote or especially Apple Notes. OneNote at least can search text in images, but my tests were less successful than on Evernote. Using 3rd party apps to create notes? Not much available for OneNote. At least, both Apple Notes and OneNote use the Sharing Menu in iOS.

There are even more things to consider before switching if you have some special work flow or need. So don't rush the decision and start by listing the devices and processes that need to be supported by the new solution.

BTW: Evernote leaves one loophole. It seems, access through the web browser doesn't count to the two device sync limit.

</comment><comment><USER3> Google Keep is very good. I'm thinking of switching myself. [https://keep.google.com](https://keep.google.com)

<comment><USER4> Second that. Very simple and convenient - you just use it with your gmail account which pretty much everyone has.

</comment></comment><comment><USER5> Try Microsoft's OneNote. It's amazing good: it's maybe the first desktop product I've seen with fulltext search that actually works.

</comment><comment><USER6> Google Drive works pretty good for me. It supports third party apps/extensions and is accessible on all of my devices.</comment>


Ask HN: China are doing great - <AUTHOR>

Liu Xiaobo has been awarded the Nobel Peace Prize for his work on human rights in China. It has however aggravated the Chinese government, such that all major western media are being censored as we speak by the national firewall. Should we acknowledge this prize? Or should we rather pay respect to the regime that has governed the Chinese people with marvelous economical growth the last two decades? Do China need democracy and freedom of speech? Its been said that; never change a winning team. And China is currently the fastest growing nation on the face of the earth, economically. So why should we, the western society tell them how the game of life and existence is played? Is it envy? <comment><USER2> China has figured out how to successfully embrace capitalism under communistic rule. China needs democracy and freedom of speech when its citizens get pissed off enough to demand it...or there is a revolution.

The vast majority of Chinese citizens are poor and are more concerned with getting their next meal than how the country is governed. I think this will change once the standard of living reaches the levels of other countries.

</comment><comment><USER3> So you basically say that human rights violations are OK, as long as the regime in charge is making economic progress?

<comment><AUTHOR> I'm not saying anything, but rather asking.</comment></comment>


Taxi Dispatch Algorithms: Why Route Optimization Reigns - mck- http://blog.routific.com/taxi-dispatch-algorithms-why-route-optimization-reigns <comment><AUTHOR> This is like a hit piece on the taxi industry, who can't subsidize their businesses with venture-capitalists' money.

> Traditional courier and taxi companies are so inefficient, you're not going > to believe it. They typically employ a roomful of human dispatchers,

Dispatchers actually take customers' information, over the phone, and input it into their old-school GPS-enabled electronic dispatch system.

> 4\. Easy wins > This method might sound familiar, because it's what happens > when old-school cab drivers deny you a ride if you request one that's too > far for their liking. It is more lucrative for a cabbie to make a bunch of > quick trips, because of the minimum fixed fee they earn each time.

In the real world, a bunch of short trips ruin your day. Every cab driver _needs_ long trips, to balance out all the time driving to the short trip, waiting for the passenger to come out, load up their groceries, etc.

This guy has never actually driven anyone anywhere for money.</comment>


Electric cars? Here is the first Variable Compression Engine from Nissan - <AUTHOR> https://www.wired.com/story/infiniti-qx50-variable-compression-engine-nissan/ <comment><USER2> Reading to find what fuel economy this engine achieves... reading... end of article. No mention of fuel economy.

Go home, Wired, that was just an advertorial.</comment>


Have You Lost Your Cryptocurrency Savings? - <AUTHOR> https://www.entrepreneur.com/article/323984 <comment><USER2> As long as you haven't misplaced the private key - if you had 0.01 BTC a year ago, you still have 0.01 BTC today.</comment>


Ask HN: A guide for front end developers beyond online learning. Thoughts? - <AUTHOR> Are there others out there that would benefit from definitive guides in web development processes? Things like Code Compiling, Code and Asset optimisation/site performance, tools like gulp/git/analytics as well as frameworks & preprocessors. All things that aren't available on free codeacademy courses but crucial to optimum results. Just trying to gauge whether there's a demand for such a thing outside of my own personal experiences. If there's a demand I'll build it. Not sure of the medium yet either, video or written. <comment><USER2> I will give you a slightly different take. All resources on the web are geared towards beginners. 90% of CSS tutorials start with basics. I am neither advanced nor very basic. For example, I can make CSS for a text box formatting. I can make first level CSS for hacker news website but I cannot implement nested comments. If I search for for CSS tutorials, codeacademy and all start with most basic stuff like syntax thus wasting lot of my time. Also, many tutorials which claim to teach building uber or Airbnb do not even show screenshots upfront.

My point is make a CSS course targeted at developers like me (10+ yrs Java/C++, Good HTML skills). And I will gladly pay $100 for it.

<comment><AUTHOR> This is incredibly helpful and a great perspective I hadn't considered. Thank you

<comment><USER3> One more thing, please note how much time should be expected be put aside to complete the tutorials. A lot of sites do this, but they're not realistic times. A lot of the estimates I see are how long it would take an experienced person to glance at the tutorial and complete the project which is not realistic for a beginner at all. For instance, when I did the Javascript class on Codacademy I believe it said it should take 9 hours for the full course. It took me probably around 25 hours of actual work(taking time reading, understanding, trying, experimenting to make sure I understand).

</comment></comment></comment><comment><USER4> I do full stack development, and my one weak point has always been CSS that works across all the browsers. Most people will just say use bootstrap, but I wanted something leaner like bourbon.io

this toolbox of sass mixins creates really tight css, but you have to know how to use css to get good results.</comment>


Jeff Bezos goes public with alleged AMI blackmail over nudes - <AUTHOR> https://arstechnica.com/tech-policy/2019/02/bezos-blasts-enquirer-publisher-for-attempting-to-blackmail-him/ <comment><USER2> Much discussion already:

[https://news.ycombinator.com/item?id=19109474](https://news.ycombinator.com/item?id=19109474)

[https://news.ycombinator.com/item?id=19110002](https://news.ycombinator.com/item?id=19110002)

</comment><comment><USER3> I had assumed Sánchez herself revealed the texts to someone who was unscrupulous enough to sell them. But pictures? It seems like really poor judgment on her part. Unless Bezos thinks that they were surveiled/stolen from her or his phone?

In any case, it's great that he stood up to them. Regardless of how they got the pictures, revealing the extortion really undermines this publication and its leadership. It's downright criminal.

Also, let's all take a minute to remember that digital is forever. What's the appeal of a dick pic anyways?</comment>