Gitlet: Git implemented in JavaScript - <AUTHOR> http://gitlet.maryrosecook.com/ <comment><USER2> I wrote a short post about how and why I made Gitlet: [http://maryrosecook.com/blog/post/introducing- gitlet](http://maryrosecook.com/blog/post/introducing-gitlet)

<comment><USER3> I can't seem to find the rebase code? I've always wondered how that part works. Great work otherwise! I've already taken a look at the three way merger code.

<comment><USER4> In a nutshell, it checks out the target and cherry-picks what had been HEAD onto it, beginning at the merge-base.

[https://github.com/libgit2/libgit2/blob/master/src/rebase.c](https://github.com/libgit2/libgit2/blob/master/src/rebase.c) may be helpful and (hopefully) readable.

</comment></comment></comment><comment><USER5> I really liked your "Git in 600 words.[1]" I think it will help clear up some confusion for some of my VCS wary colleagues.

1\. [http://maryrosecook.com/blog/post/git-in-six-hundred- words](http://maryrosecook.com/blog/post/git-in-six-hundred-words)

<comment><USER6> Not to be rude, but I'm baffled why a professional programmer could be "wary" of using a VCS. Or is it just git in particular? (More understandable, there's a learning curve, but nearly every major project is using it. Git's proven itself.)

<comment><USER7> git checkout <branch>

where did my changes go?

<comment><USER8> They're still right where they were before you switched branches unless you've committed them before you switched branches, of course!

<comment><USER7> mkdir commadir

cd commadir

git init

echo "dog" >> dog.txt

git add .

git commit -m one

echo "dog" >> dog.txt

git add .

git commit -m two

echo "dog" >> dog.txt

git log

git checkout dog.txt

cat dog.txt

how many dogs in dog.txt?

<comment><USER9> That isn't "git checkout <branch>", it is "git checkout <file>" If you try checking out another branch while you have uncommitted changes, git will tell you to commit or stash your changes before changing branch.

I can certainly understand the danger/confusion there, though. Using checkout on a file reverts the file to a committed state. But the grandparent was referring to checking out a branch, not a file, which is safe.

<comment><USER7> git checkout <branch> *

has the same behaviour. does it not? I left out the asterisk as I was working from memory.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> See also: [https://github.com/creationix/js- git](https://github.com/creationix/js-git)

Kickstarter: [https://www.kickstarter.com/projects/creationix/js- git](https://www.kickstarter.com/projects/creationix/js-git)

</comment><comment><USER11> I've asked GitHub to enable CORS for their https git endpoints, and I'm not the first. Email them at firstname.lastname@example.com if you can think of some cool stuff to do with that enabled.

</comment><comment><USER12> It would be interesting to see this baked into a browser-based text editor. Make it fully client side and you can potentially save the git history in localstorage and use it as an offline web app. I wonder if there are any git servers that support websockets...

<comment><USER13> You don't need git for that, simply save every keystroke made by the user.

<comment><USER14> Can't tell if you mean overwriting after every keystroke (if so, no history); or saving a "fresh copy" after each keystroke (history, but terribly inefficient - localStorage has space limitations); or saving a series of diffs (how far do you have to go down that path before you realise you should have just used git?)

</comment></comment></comment><comment><USER15> This is a collossal effort and a huge community service. Thank you for being so thorough in documenting your work. Even if others don't directly use your code, you have given the world a great template to understand and implement git!

</comment><comment><USER16> Some might also find js-git interesting: [https://github.com/creationix/js- git](https://github.com/creationix/js-git)

<comment><USER17> Thanks for posting this. I remembered seeing a similar project before, but I couldn't remember the name.

</comment></comment><comment><USER18> OT: I love the typography on your site, especially the little touches like the decenders overlapping link underlines.

edit: after some research turns out the link underline styling is a Safari thing. My point stands, though, the typography is wonderful.

</comment><comment><USER19> > Sometimes, I can only understand something by implementing it. So, I wrote > Gitlet, my own version of Git. I pored over tutorials. I read articles about > internals. I tried to understand how API commands work by reading the docs, > then gave up and ran hundreds of experiments on repositories and rummaged > throught the .git directory to figure out the results.

When the source itself is available, why not just read the code? I understand using articles and documentation to get the high to mid level view, but why not go to the real source of truth if it's available?

<comment><USER20> I find reading the source of things can be incredibly helpful in some cases, but when I want to really grok something, I need to write code myself. When I'm just reading code it's easy to trick myself into thinking I understand something, but it's much harder to do that if I have to make a piece of code work correctly.

Peter Seibel wrote a great post on code reading, which hits on a similar point: [http://www.gigamonkeys.com/code- reading/](http://www.gigamonkeys.com/code-reading/)

<comment><USER19> I was referring more to the "ran hundreds of experiments" than the "understanding by implementing." I agree wholeheartedly that actually making something reveals far more about a problem/solution than would simply reading about it.

</comment></comment></comment><comment><USER21> A related way to learn is from git's initial source, which was quite small. [https://news.ycombinator.com/item?id=8650483](https://news.ycombinator.com/item?id=8650483)

Warning: the file format has changed slightly.

</comment><comment> phatak-dev Superb effort.

</comment><comment><USER22> What are the expected use cases?

<comment><USER23> From TFA:

 _I wrote Gitlet to explain how Git works. I didn 't write it to be used. It would be unwise to use Gitlet to version control your projects._

</comment></comment><comment><USER24> how are files handled ?

</comment><comment><USER25> Why JavaScript?

<comment><USER26> Atwood's law?

</comment></comment><comment><USER27> This is the most extreme example of Atwood's law that I've seen so far of.

Any volunteers for making an operating system kernel? Or has that been done already?

<comment><USER28> Well, the NetBSD kernel has been ported to JS: [http://blog.netbsd.org/tnf/entry/kernel_drivers_compiled_to_...](http://blog.netbsd.org/tnf/entry/kernel_drivers_compiled_to_javascript)

It's using emscripten, not handwritten JS, though.

<comment><USER29> My favorite emscripten demo was [https://blog.mozilla.org/blog/2014/03/12/mozilla-and-epic- pr...](https://blog.mozilla.org/blog/2014/03/12/mozilla-and-epic-preview- unreal-engine-4-running-in-firefox/)

It was really impressive to see UE4 running at ~7 fps on an old ThinkPad (without discrete GPU) in pure software.

<comment><USER30> Do you happen to have a link to the demo? I looked around but haven't been able to find it.

It looks like the demo lived at the time at [https://www.unrealengine.com/html5](https://www.unrealengine.com/html5) \- and the site doesn't seem to work through Wayback Machine.

<comment><USER29> I randomly clicked on an URL Brendan Eich gave on twitter. Maybe this [http://kripken.github.io/misc-js- benchmarks/banana/benchmark...](http://kripken.github.io/misc-js- benchmarks/banana/benchmark.html)

bbl

</comment></comment></comment></comment></comment><comment><USER31> git is a tool that have to be introduced to as many as possible, even non- developers. In essence git is a fundamental part of the future global world collaboration. One can't overestimate the gits value.

<comment><USER32> > One can't overestimate the gits value

I think you just did that.

<comment><USER31> In my world I haven't</comment></comment></comment>


Sneak into tech through the back door: a hopelessly limited how-to - <AUTHOR> http://danilocampos.com/2014/01/sneak-into-tech-through-the-back-door-a-hopelessly-limited-how-to/ <comment><USER2> Alternate route, especially to machine learning / data science:

\- Become a "business analyst", AKA spreadsheet jockey, at some gigantic & relatively faceless corporation.

\- Learn Python, or some other scripting language that runs on Windows and has hooks into spreadsheets / backend data stores / email systems and makes data manipulation easy.

\- Automate your job away. Use the time to learn the basics of "real" statistics and machine learning. Gradually feed these into your work product, for instance by putting confidence intervals on your reports or generating trend lines via simple ARIMA.

\- Write some public demo projects that implement these techniques. Do some public evaluations of different techniques or implementations of techniques.

You now have a super plausible "in" to do basically the same thing at a technology company or someplace that sees analytics as a key part of their value proposition, and bootstrap yourself from there.

<comment><USER3> Thanks for this comment. If you have the time, could I ask for your advice about this route? I'm a Windows sysadmin who's been working to transition into programming. I've made a few webapps, which I somewhat enjoy making, but lately I've become interested in data science.

I have a stable position now where I have a lot of time to learn new things not directly related to my job. I've been trying to figure out if I should simply take advantage of that while not working in a related field or to look into a business analyst position. In fact I was just contacted a few days ago by a recruiter for just such a job!

Would creating public demo projects alone be enough? Or should I get some experience -- even just as a spreadsheet jockey -- while potentially having much less time to devote to learning? To give you a better idea of my situation, I oftentimes have days where I can spend half of it learning whatever... and my boss is even fine with that (and has encouraged me to move on to better things, since I can't really go any further here). Any insight that you can offer would be very much appreciated.

<comment><USER4> I'd also be happy to talk more about this if you email me.

Here's some similar advice I've given in the past: \- [http://pchristensen.com/blog/articles/teach-yourself- program...](http://pchristensen.com/blog/articles/teach-yourself-programming/) \- [http://pchristensen.com/blog/articles/advice-to-a-college- so...](http://pchristensen.com/blog/articles/advice-to-a-college-sophomore- programmer/)

<comment><USER3> Thank you! I'll send you an email after checking out those articles. I actually ran across your website the other day looking for info on Pedestal.

</comment></comment></comment></comment><comment><USER5> For every story like this, there are 20-30 unwritten stories by folks who leapt and fell. Hard.

I can't imagine, as a community, we could support promoting this without giving a stern warning to anyone trying to duplicate this success - this won't usually happen.

Life is not a story, and you are not always the protagonist - things won't just "work out" because you set goals, and worked hard. Just be careful.

<comment><USER6> Indeed. One might wonder how such a warning would be worded.

 _Sometimes people ask me how I managed to make this happen. Shared below is what worked for me. This is not comprehensive or universal advice. Nor is it the only way to get a job in this industry. It may not even be relevant any longer, given how much time has passed since I began. Timing may have been critical to some of what I tried. Standard warnings of survivorship bias apply._

<comment><USER5> Not like that, is my point.

</comment></comment></comment><comment><USER7> As someone who has done a good deal of hiring, I think this guy has nailed it. You want "social proof" for _yourself_. This comes from shipping good-quality code that people use. If you have that and can prove it, actual resume-line experience and education become nearly irrelevant.

<comment><USER8> > This comes from shipping good-quality code that people use.

Whoa! Easy there, tiger. Let's not get too far ahead of ourselves. Shipping code that people use is enough. It takes many years to learn how to program well, and the perfect will quickly become the enemy of the good if you obsess over quality first.

</comment></comment><comment><USER9> Recurring theme of HN success stories: setting a goal, and hustling to meet it by sheer determination and creativity.

I think I have the hustle down, Just not so sure I've been great at setting lofty enough goals for myself lately. I think I did well setting goals early on in my career, but after achieving all of those, I am not sure which direction is "up". I am happy at the level I reached, just adding skills tech as it interests me.. But can't help feel a little guilty for not setting goals as high as I used to? Is that just societal pressure from watching others grow, or recognition of complacency? Is there anything wrong with complacency?

<comment><USER10> _> Recurring theme of HN success stories: setting a goal, and hustling to meet it by sheer determination and creativity._

don't forget to succeed first and then blog a retroactive confabulation of how strategic you were.

<comment><USER11> This is exactly what the posted article _doesn 't_ do though, and I really appreciate that. In fact it's absurdly rare to see someone share their success story while owning up to the fact that it 1) may not be universal 2) was not planned out in advance 3) may not even be repeatable. Major credit to Danilo for not falling into that trap.

</comment></comment></comment><comment><USER12> I did a write up o how I snuck into tech a while back:

[http://jisaacstone.blogspot.com/2012/12/how-to-get-job- in-2-...](http://jisaacstone.blogspot.com/2012/12/how-to-get-job- in-2-years.html)

Some points of differentiation:

I did not finish any projects in any sort of demoable state

I did not build a network

I didn't really have a plan

The most important bit is this:

> Learn relentlessly and without excuses

There are enough people hiring that you really only need to demonstrate basic competency and apply for every jr or entry level position you find. Eventually you'll find a place where someone is actually looking for ability.

Tech is as close to merit-based hiring as you'll find outside of actual trades.

</comment><comment><USER13> Some important blog posts by Danilo Campos that seem to have been eaten by Hipmunk's blog history

> I have a confession: At first, I didn't get Hipmunk. I mean, I understood > the merits of the interface, I respected the user focus of the site, all of > that was awesome and drew me to the iPhone project...

From a UX perspective, I'm really pleased with how the pinchable, stretchable, draggable time bars came out in the application. They feel really good to use. But from a development perspective, this is some of the stupidest, craziest code I've ever written in my life. Don't ask me how I did it because it did it entirely the wrong way. Maybe I'll share once I figure out the non-stupid approach.

[https://web.archive.org/web/20110305185856/http://blog.hipmu...](https://web.archive.org/web/20110305185856/http://blog.hipmunk.com/hipmunk- for-iphone-post-mortem)

> I published the post, submitted it to Hacker News and moved on with my > night.

I got some traffic, but that wasn't the interesting bit. The interesting bit was an email the next morning from Hipmunk co-founder Adam Goldstein, thanking me for the mention and wondering if I would want to be considered to work on a future iPhone app.

Uh, yes? But "considered" my ass – I was going to build it. Awesome side project. I'm incomplete without a side project.

A couple of weeks later, I turned up at Hipmunk HQ, during their Startup School open house. I hung out for an hour, got to know everyone, then cornered Adam at the end.

"What do I have to say to get you commit, right now, to putting me on your iPhone project?"

An old sales tactic: ask for the sale. I spent my teen years in a Best Buy, selling Dyson vacuum cleaners.

Adam was cagey, claiming he had a couple of other developers to talk to, so I decided to build some wireframes on spec that night to sway his decision.

A couple of nights later he called me. They didn't want this to be a side project for me. Adam made me a full-time offer and with minimal haggling, I accepted.

[https://web.archive.org/web/20110224183811/http://blog.hipmu...](https://web.archive.org/web/20110224183811/http://blog.hipmunk.com/hipmunk- for-iphoneipod-touch)

<comment><USER6> Damn, what a time capsule. Thanks for digging that up.

</comment></comment><comment><USER14> Interesting post. Right now I am where he was when he started. I want to learn Android programming. Every night I spend 1-2 hours working through a Java book or an Android book, or one of the Coursera Android courses. Progress is slow, but steady.</comment>


Dolphins caught chewing on puffer fish to get high - <AUTHOR> http://www.theverge.com/2013/12/31/5259898/dolphins-caught-chewing-on-fish-to-get-high

<comment><USER2> Notice the use of the word 'caught', as if we can judge dolphins by human standards. Naughty dolphins.</comment>


HDR image to LDR using edge-preserving multiscale decompositions - <AUTHOR> https://www.mathworks.com/help/images/ref/tonemapfarbman.html <comment><USER2> The source paper: [http://www.cs.huji.ac.il/~danix/epd/](http://www.cs.huji.ac.il/~danix/epd/)

</comment><comment><USER3> As with so many mediocre tone mapping functions, `tonemapfarbman` overemphasizes the red channel. I have seen better (without parameter tweaking).

<comment><USER4> The 2018 solution would be to just train a neural network to do the color mapping and call it a day without ever _really_ trying to solve the problem.

Hell, it would probably work insanely well.

<comment><USER5> What would you train it on, without already having an algorithm you consider 'good'?

</comment></comment></comment><comment><USER6> Pretty cool. I was a huge Mathworks fan for years, (still am, though I think Julia has a brighter future), and they always have great documentation.

The OS spotter in me is having a hard time identifying what's on the monitor in the image - is that some stripped-back Windows 7 verison or XFCE?

<comment><USER7> I'd say Win 7 without Aero.

</comment></comment><comment><USER8> Confession: I have yet to buy my first HDR capable camera...

<comment><USER9> Aren't really all cameras HDR capable with bracketing, i.e. shooting say 3 images or more with different settings.

<comment><USER10> They need some method for keeping the camera in the same spot, and (roughly) pointing in the same direction.

A smartphone without a dedicated funcion probably has too much delay between shots for HDR. Same for point-and-shoots without a tripod mount.

<comment><USER11> A 'poor persons' HDR can be done with ONE good photo. Load it into a decent photo editor, and adjust the exposure down two stops and save it, then repeat again but up 2 stops. Now with the 3 copies, run it through a HDR generator. Not as good as bracketing directly in the camera, but can yield acceptable results.

<comment><USER12> No. This will give the visual effect of HDR (which many think is something to be avoided - HDR should be a tool, not a style), but does not increase the actual dynamic range.

<comment><USER13> It does.

My RAW Images has a higher dynamic range than the final image shows without any HDR feature.

You only put back what was already there and 'lost'.

<comment><USER12> That only works if you're shooting RAW. And even then all you've accomplished was a convoluted process to achieve the _exact_ same thing you'd get in Lightroom by adjusting the Blacks and Whites sliders, and dragging the ranges horizontally in the histogram.

<comment><USER13> That does not invalidate my original statement.

I would argue that the end result should look slightly different.

But you do use more of your dynamic range</comment></comment></comment></comment></comment></comment></comment></comment>


Unavoidable patterns in strings - <AUTHOR> https://plus.google.com/app/basic/stream/z12pfvhxqvqhdd4h004cfhdxklvyydaikgk

<comment><USER2> Not to nit pick, but in the picture at the bottom the first set of 4 numbers where it says 0000, shouldn't the first two numbers be highlighted blue and the other two red?

<comment><USER3> That would be valid, but '0' is a shorter substring that appears consecutively</comment></comment>


Apple Releases 16-Inch MacBook Pro - <AUTHOR> https://www.engadget.com/2019/11/13/apple-16-inch-macbook-pro-specs-pricing-hands-on-video/ <comment><USER2> Still no LTE modem?</comment>


World Oil Capacity to Peak in 2010 Says Petrobras CEO - <AUTHOR> http://www.theoildrum.com/node/6169 <comment><USER2> This is actually a rather big deal. He's not the first oil CEO to say it, but probably the most important one at least for US imports, etc.</comment>


Reactions to "Has modern Linux lost its way?" and the value of simplicity - <AUTHOR> http://changelog.complete.org/archives/9304-reactions-to-has-modern-linux-lost-its-way-and-the-value-of-simplicity

<comment><USER2> Fantastic post.</comment>


Air pollution in London passes levels in Beijing (2017) - <AUTHOR> http://www.telegraph.co.uk/science/2017/01/24/air-pollution-london-passes-levels-beijingand-wood-burners-making/ <comment><USER3> The picture halfway down with the jogger is extremely misleading. That's not smog, that's a foggy morning in a comparatively rural area over 60 miles north of London.

</comment><comment><USER4> Wood burning stoves should be banned outright in the capital.

It's mostly hipsters and posh people using them anyway, they will survive.

<comment><USER5> That would be simple to do. When I bought my wood burning stove (I'm a posh hipster) I bought one that was specifically certified by the Department for the Environment to be used in smokeless zones (of which London is one).

Either the certification/regulation isn't stringent enough (although I can't see smoke emerging from my chimney from the adjacent lost room when it is running) or people are fitting non-DfE approved stoves, in which case enforcement needs to be improved.

Of course, I originally got the wood burner to minimise my CO2 footprint - <USER2> same reason I bought a diesel rather than petrol car.

<comment><USER6> Why burn wood for heating if you care about CO2 footprint? Even electric heating is more efficient the reason why no fireplace is allowed to be classified as heating in a flat anymore (they are all decorative) is that 90% of the energy is wasted down the chimney.

<comment><USER7> > Why burn wood for heating if you care about CO2 footprint?

Presumably because (assuming sustainable forestry) burning wood is carbon neutral.

> Even electric heating is more efficient

It's not more _net carbon emissions_ efficient. Energy efficiency and carbon impact are not always aligned.

<comment><USER6> Sustainable forestry is a myth it can take centuries to sequester the carbon back into wood that you would burn in one winter.

Electric is by far more net carbon emission efficient than wood burning stoves (wood boilers are a bit better but not by much) especially considering the percentage of nuclear and renewable energy in the UK.

<comment><USER5> A sitka spruce grows to full size in about 35 years. With the amount we burn, a single large tree lasts around 5 winters.

</comment></comment></comment></comment></comment></comment><comment><USER8> I would love to see a summary of what's been happening in Beijing. What are their policies? Because Beijing air has apparently been awesome these days for the entire winter. My friends who live in Beijing confirm this for me. In the dead of winter, this would have been unheard of even one year ago.

[http://aqicn.org/city/beijing/](http://aqicn.org/city/beijing/) [http://www.stateair.net/web/historical/1/1.html](http://www.stateair.net/web/historical/1/1.html)

<comment><USER9> Beijing uses very heavy handed policies, that would be harder to implement in London. For example: cars with numberplates starting with A-M are banned on certain days of the week and the rest are banned on other days of the week. They also confiscated wood burning (or was it kerosene?) stoves and although it lessens the pollution, lots of poor people are living in freezing homes because of that.

<comment><USER10> I know that Paris had similar restrictions on cars a few times recently. If your car had an even number it could be used on one day, odd on another. If I remember correctly they also made all public transport in the city free for them days too.

</comment></comment></comment><comment><USER11> Alarmist article. It's more like "best day in Beijing / worst day in London" conditions comparison. See the data, last year average air quality is 3 times worse in Beijing[0] than London[1].

0\. [https://air.plumelabs.com/en/year/beijing](https://air.plumelabs.com/en/year/beijing) 1\. [https://air.plumelabs.com/en/year/london](https://air.plumelabs.com/en/year/london)

<comment><USER12> My thoughts exactly. When I read the headline I thought, how did London suddenly get to 500 AQI? Then I read the actual article and it's "just" 200.

</comment></comment><comment><USER13> Beijing gets much higher than 190, though... many times over 500 (some from Jan 2017, the month of this publication, even).

See historical data from the US embassy in BJ: [http://www.stateair.net/web/historical/1/1.html](http://www.stateair.net/web/historical/1/1.html)

<comment><USER14> January and February 2017 were particularly bad for Beijing last year. This year they have definitely been trying harder with getting coal out of the near capital zone in rural Beijing and surrounding Hebei. Still gets polluted a lot, it's the orange and red zone regularly, but much much better than last year (doesn't get into the purple and dark red zones as much as it used to).

</comment></comment><comment><USER15> That's because the Beijing authorities simply ban burning coal and limit the gas supplement in nearby areas.

check this out [http://www.xinhuanet.com/local/2018-02/05/c_1122367331.htm](http://www.xinhuanet.com/local/2018-02/05/c_1122367331.htm)

</comment><comment><USER16> > Demand for the [wood-burning] stoves, which cost between £400 and £7,000, > has tripled in the last five years – partly down to the savings they can > make to energy bills.

This raises lots of moral questions. Should London ban wood stoves, effectively increasing costs for some of its poorest inhabitants?

Burning wood might produce pollutants, but how does the net effect compare to the production of the oil/gas/electricity required to produce the alternative? Of course that production is done off-site, not in urban centers, but it wouldn't surprise me if wood-burning is better for the environment than manufacturing the necessary amount of coal/oil/gas/electricity required to heat the same house.

<comment><USER17> Burning wood is also CO2 neutral as the forest has captured this CO2 in the last few decades compared to fossil fuel that is accumulated over many millions of years.

In Norway you actually get a higher (greener) energy rating for your house if you have a wood stove, and our electrical power almost entirely hydroelectric.

The article doesn't say, but the wood pollution is relatively minor compared to diesel etc. This Greenpeace article[1] doesn't even mention wood.

[1] [https://unearthed.greenpeace.org/2016/11/03/causes- londons-a...](https://unearthed.greenpeace.org/2016/11/03/causes-londons-air- pollution/)

<comment><USER18> > In Norway you actually get a higher (greener) energy rating for your house > if you have a wood stove, and our electrical power almost entirely > hydroelectric.

You can possibly get a higher rating when you replace an old stove or an oil stove (parafinbrenner/oljekamin) with "clean-burning" stove, or do I miss something? Otherwise the rating depends on how tight the house is insulated, does it have balanced ventilation and so on.

And CO2-neutral sounds a bit hand-wavy tbh. Sure forest captured it only recently, but there's no advantage releasing it back to atmosphere.

<comment><USER17> Yes, but if you have electric only and install a "peis" your rating is increased. There are better options regarding particular pollution like the pellet burning oven, but you do get higher rating from wood alone.

The CO2 part is not hand-wavy, unless you clear-cut the forest and do not let it grow back. Unfortunately that is what is happening in the rain forests of the Americas.

</comment></comment></comment></comment><comment><USER19> How come they need to introduce 'no idling' zones? Where I live (Norway) idling is banned all over. As far as I know idling for more than one minute is banned all over Scandinavia. Doesn't stop inconsiderate drivers doing it of course.

In fact it is already illegal in the UK. Here is a quote from Confused.com:

"Stationary idling is an offence under section 42 of the Road Traffic Act 1988," ... The Act enforces rule 123 of the Highway Code which states: "You must not leave a vehicle engine running unnecessarily while that vehicle is stationary on a public road."

And doing this can incur a £20 fixed-penalty fine under the Road Traffic (Vehicle Emissions) Regulations 2002.

</comment><comment><USER20> My house has a stove. Perhaps I am simply a poseur for having one, but it does get the most-used room in the house up to a comfortable temperature whilst the rest of the house can be left cooler to save on central heating bills. The house was built without central heating, electricity or indoor plumbing and so had fireplaces and had a stove when I moved in.

If, like me, you can wander around the woods near your house (it's not in London, or any other city) and gather fallen branches to cut up and put in a wood store to season, then fuel only costs the time taken to gather and cut it. There are other sources of free wood as well but I still have to pay for it from time to time.

Any savings from free fuel are offset by the fact that the chimney has to be swept at least once a year, ideally twice or more. Getting a sweep in gets the job done a lot more cleanly and quickly but costs about £50-60 a time.

<comment><USER21> Please don't burn wood, or if you do, use a gasifier/pyrolysis stove. They are also called "smokeless" stoves. Smoke from a normal wood fire is a really awful pollutant.

<comment><USER20> Perhaps when such stoves are readily available for home use, and the time comes to replace the old one I've got, that might be worth doing.

<comment><USER22> Apparently, Angostura found one: [https://news.ycombinator.com/item?id=16324367](https://news.ycombinator.com/item?id=16324367)

<comment><USER20> I suspect that's one of the ones that runs on certain sorts of solid fuel, such as this:

[https://smokecontrol.defra.gov.uk/appliances.php?country=s](https://smokecontrol.defra.gov.uk/appliances.php?country=s)

AFAICT these still require chimneys but presumably the smoke they produce contains fewer particulates than that produced by wood in a standard stove, hence allowing them in these zones.

Presumably Asooka was thinking more along these lines:

[http://brightstove.com/](http://brightstove.com/)

This looks very interesting, but appears not to be available.

</comment></comment></comment></comment></comment><comment><USER23> Diesel cars shut down their emission cleaning when its gets cold. In Germany BMW, Volkswagen had todo a "upgrade" fix but in other countries there wont be a cold weather update.

[https://arstechnica.com/cars/2016/06/europes-diesel-cars- may...](https://arstechnica.com/cars/2016/06/europes-diesel-cars-may-be- spewing-nox-more-flagrantly-than-previously-thought/)

[https://dieselnet.com/news/2017/08vda.php](https://dieselnet.com/news/2017/08vda.php)

</comment><comment><USER24> Those stoves are "responsible for 10 per cent of winter pollution", the article mentions. What makes up the other 90%?

</comment><comment><USER25> Air purification at environmental scale is actually an excellent space for new startups ;)

In NYC, there are initiatives for electric vehicle adoption. But we would still require an array of "scrubbers" to remove existing containments.

</comment><comment><USER26> OK finally we are not the worst

</comment><comment><USER27> I've spent time in both these places, and based on my experience, London is nowhere near as bad as Beijing.

<comment><USER28> experience is subjective, numbers is objective, so what maybe one kind of experience is different for someone else

</comment></comment><comment><USER29> This is from Jan 2017, please add that to the title. I thought this was about today.

<comment><USER30> Thanks, updated.</comment></comment>


I Am Not Allowed to Post My Content on Reddit - <AUTHOR> http://techblog.bozho.net/i-am-not-allowed-to-post-on-reddit/

<comment><USER2> There was at least one statement I disagreed with. It's a fallacy to argue that just because there are no ads and the posts are meant to be informative means it's not spam. Just because there is no direct monetization attached to something does not mean there aren't other reasons why people try to draw attention to their own posts/products/services/whatever. And most would probably argue there is value in the thing they are pushing as well. At the end of the day, your reasoning for why you think something is or isn't spam doesn't change whether it is spam or not nor the notion that in most online communities, constant self promotion (in some cases none are allowed at all depending on the community) is in fact spam, regardless of whether you think it provides value or not.

As a side note, the frequency of offenses does not dissolve whether spam is spam. You can say it doesn't do harm as a whole but that shifts the argument away from the fact that spam is an ongoing effort most people try to avoid from happening at all.

<comment><AUTHOR> my reasoning of whether something is spam or not does not change other people's reasonong whether something is spam or not, but to claim something is objectively spam is a bit too much. Apparently the notion of "spam" differs.

Twitter is constant self-promotion - you constantly share your thoughts and views. And somehow that's fine and you get followers. Is tweeting spamming? Besides, see the other comment with the chart attached.

<comment><USER2> You're right that everyone defines spam differently and that you can't give spam a singular objective definition across the board nor was that my intention with what I wrote above. What I did try to say was that every community has a policy of what they define as spam and it's not uncommon for most to share the common view (at least communities I've been apart of) that self promotion is and can be viewed as spam.

Using Twitter as a counter example doesn't fit here because as a company they don't share that view but apparently the subreddit you reference in your original post does

</comment></comment></comment><comment><USER3> Fun fact: original content (that's clearly identified as such) gets twice as many upvotes on Reddit in average than non-original content: [http://i.imgur.com/3iudvZ8.png](http://i.imgur.com/3iudvZ8.png)

Methodology behind the chart: [http://www.reddit.com/r/dataisbeautiful/comments/2rv76z/oc_r...](http://www.reddit.com/r/dataisbeautiful/comments/2rv76z/oc_reddit_submissions_receive_almost_double_the/cnjjmth)

The 10% rule is archaic, from a time where undisclosed self-promotion was rampant. Now that it's hitting false positives, it needs to be revamped.

<comment><AUTHOR> when in doubt, consult the data :) Thanks for sharing.</comment></comment>


Tech-Genius Needed to Complete Growth Hacker Team in Paradise - <AUTHOR> http://www.getmailbird.com/wp-content/uploads/Tech-Genius-Growth-Hacker-at-Contenga.pdf

<comment><USER2> This seems like a job in which you get little in return. There are no details here. Would I even get a place to stay or would I have to pay for that? It also seems strange that you throw in terms like "entrepreneurs" and "lifestyle designers" when this sounds a lot like a job. I have to apply, I need to pick up a list of specific skills and I work on projects which aren't my own. Why wouldn't I just work at a real job and make real money?

Personally, I think that anyone looking for this sort of life would be better off freelancing. I can live for under USD $500 in the Philippines (rent as low as USD $100 for a new two bedroom apartment) which means that I'm choosing where I live and what I work on. I can get by with just an hour of work per day and I can work on my own project for the rest of the day (or more realistically, work on one decent project for a month or two and live off the payment for the rest of the year.)

I'm sure you guys mean well, but it doesn't seem like a great deal.

<comment><AUTHOR> Hey Gexla, thanks or asking.

You get to stay at Startup Getaway (startupgetaway.org). Living costs, food, and room cleaning are all covered by Contenga.

Take a look at that website, and you'll see the advantages. If your inn it just for the paycheck, this definitely is not the gig for you. But if you wanna live and learn from successful entrepreneurs, live in a paradise, and work entrepreneurially (you choose hours, projects, etc.), then that's who we're looking for.

I'm sure you've heard of the "5 people you spend the most time with" quote. That the biggest advantage here over working on your own.

And, of course, you can build you own businesses while here, and get help from the entrepreneurs living here with you.</comment></comment>


How to Start a Startup – Lecture 14: How to Operate - <AUTHOR> http://startupclass.samaltman.com/courses/lec14/ <comment><USER2> +1 Track complementary KPIs, so as you go up on one, you don't go down too far on the other

+1 Grade/compensate based on ratio of output divided by resources, so that managers don't have incentive to create empires.

+1 Calendar audit vs stated priorities

+1 Company must have one voice and a simple message

</comment><comment><USER3> > The second counterintuitive point, this might come as a little bit of a > disappointment, but what you need to succeed in a startup is not expertise > in startups. That makes this class different from most other classes you > take. You take a French class, at the end of it you've learned how to speech > French. You do the work, you may not sound exactly like a French person, but > pretty close, right? This class can teach you about startups, but that is > not what you need to know. What you need to know to succeed in a startup is > not expertise in startups, what you need is expertise in your own users.

Mark Zuckerberg did not succeed at Facebook because he was an expert in startups, he succeeded despite being a complete noob at startups; I mean Facebook was first incorporated as a Florida LLC. Even you guys know better than that. He succeeded despite being a complete noob at startups because he understood his users very well. Most of you don't know the mechanics of raising an angel round, right? If you feel bad about that, don't, because I can tell you Mark Zuckerberg probably doesn't know the mechanics of raising an angel round either; if he was even paying attention when Ron Conway wrote him the big check, he probably has forgotten about it by now.

I agree that this talk is useless, even dangerous, unless you are post A series.

<comment><USER4> Mark Zuckerberg is probably the worst possible example to use about anything startup related other than how to use one's wealthy parents' money and connections (and the connections' money) to start a company.

Edit for further explanation: Zuckerberg's initial capital for Facebook came from his father and his father's friends. He had been tutored privately from a young age, much like Bill Gates was, and he'd already had extensive experience working in founder-like roles by the time he made Facebook. His life is best used an example to demonstrate the immense advantage being born into a life of wealth and privilege confers, not as an example for what (or what not) to do when starting up a company for the typical person. His life is so removed from that that using it as an example is tantamount to uttering gibberish.

<comment><USER5> Zuckerberg's bio on Wikipedia says that he is the son of a dentist and a psychiatrist. I'm sure there are plenty of Americans with wealthier or more connected families, and none of them have succeeded with their startup the way he has.

<comment><USER6> _I 'm sure there are plenty of Americans with wealthier or more connected families_

Sure, but only about 5%. The median salary for a dentist and a psychiatrist adds up to $333,000 which is the 95% percentile for household income today. A verrry long way from average.

<comment><USER7> 333k is well above most people in the top 5%. Just $166,200 = top 5%. 250K = Top 1.5%

So, really we are talking about the top 1%.

[http://en.wikipedia.org/wiki/Affluence_in_the_United_States](http://en.wikipedia.org/wiki/Affluence_in_the_United_States)

</comment></comment></comment></comment></comment><comment><USER8> The lectures are from a good sampling of the most successful _start-up_ people in Silicon Valley.

So, for any of the lectures, if not all the content seems earth shaking, Nobel prize level stuff, then just accept the good news: It's possible to be one of the most successful at the level of content often in the lectures! Comforting!

<comment><USER9> They definitely send a signal that success is possible, and even though the advice is (has to be, probably!) quite generic, it's still good to get a distilled overview of what the people who made this journey before us found important in hindsight.

Of course the best overall statement I ever heard from a successful person comes from Notch, who, when asked what advice he would give to someone who wanted to become as successful as him, replied: _first of all, don 't listen to advice_. The deeper wisdom behind this that really hit a chord with me is there is no big secret which successful people can hand down to others so they may reliably replicate that success.

You might learn something, or even a lot, about procedures and attitudes that were essential, but at a fundamental level I don't think a successful person can meaningfully grasp all the factors that were instrumental to their story. A lot of what they think is essential may in fact be superstition, as they lack enough data points.

I found it's still valuable information, but as with anything, you have to weigh it critically. All things being equal, I'd put a lot more weight on advice coming from VCs or people running incubators as compared to the observations of super successful billionaire founders, simply because they have access to more data.

</comment></comment><comment><USER10> The two big takeaways for me were: 1) The editor analogy for founders and 2) The Ammunition and Barrels metaphor. Looking at yourself as an editor that has to apply 'red ink' to your startup (especially as it grows) makes sense to me intuitively. As for the Ammunition and Barrels, I think this is counter intuitive but true. More manpower doesn't mean more results, unless you have the right type of manpower and process in place.

I'd probably distill most of his lecture down to these two core ideas...as a method of operating you're startup. As a result, I've summarized most of the useful quotes from the lecture here: [https://medium.com/how-to-start-a- startup/56-quotes-from-kei...](https://medium.com/how-to-start-a- startup/56-quotes-from-keith-rabois-how-to-operate-6cd16052ec08)

</comment><comment><USER11> I don't know if the last page of the presentation is inspiring... Nowadays, I imagine the CEOs of successful companies more relaxed than the people below them.

<comment><USER12> quite the opposite..!

<comment><USER11> We don't have real data about this to compare but I imagine that if your company is doing well you can make it work without stress. That's why you have thousands of employees and billions of dollars to spend. I don't think you are a good CEO if you can't see the stuff at a higher level and not rest well.

<comment><USER13> I think you might be conflating owner and CEO. Owners often don't have to work every day after the business is running smoothly and they have hired good people to manage it. CEOs have to work every day just like all other employees and they have different types of stress than the typical employee. Sure the CEO probably doesn't have to worry about money or about getting fired (mostly), they still have plenty of stress because their job is to always deal with the worst problem. The problem no one else can handle or wants to handle. Plus they have to worry about the business as a whole and they understand that if they screw up, 10s or 100s or 1000s of people are hurt.

<comment><USER11> No, I am not saying that the CEO doesn't work and he/she is in the beach all week. Also, it is impossible to generalize but if you build a good team you can focus in very specific issues, the major part are solved by your team.

I am not talking about startups, just about established and successful companies.

In this context you can read about Zuckerberg speaking Mandarin... [http://fusion.net/story/23532/facebook-ceo-mark- zuckerberg-s...](http://fusion.net/story/23532/facebook-ceo-mark-zuckerberg- speaks-chinese-looks-unusually-relaxed/)

</comment></comment></comment></comment></comment><comment><USER8> He wants to keep some things really simple. Good.

I'm reminded of the description of the order during WWII for the US landing at Leyte Gulf: "Land and establish a base" or some such. Just that short. For some hundreds of thousands of soldiers.

So, for, say, the CTO, maybe "Implement the server farm."

In other ways he liked some things to be complicated, e.g., the story of the three page memo on how the receptionist should answer the phone.

</comment><comment><USER14> Notes: [http://jonalmeida.com/posts/2014/11/06/htsas- lec14/](http://jonalmeida.com/posts/2014/11/06/htsas-lec14/)

This is my (new) most interesting lecture. There's a psychological side to employee startup culture which is covered in some management classes that I haven't heard about being covered here.

Great stuff!

</comment><comment><USER15> "I hate watching this at lunch time during work hours" This is a complement on how great I think the series is.

I absolutely love this series of videos. Its supremely comprehensive and makes me just want to quit my job, drive home, and build an amazing company.

Unfortunately bills gets in the way so I have to work these 8 hours. That said, every time I do watch these videos I'm coding and planning on my off hours. Startup school in NYC was an amazing experience as well.

</comment><comment><USER16> This was fantastic. Does anyone know good resources for building internal dashboards? (I can't help but think of the Business Model Canvas as a proxy example of the style of resource I mean)

</comment><comment><USER17> The lecture is valuable, the presenter is engaging.

I guess this sums up the lecture :

"How to manage efficiently >irrational< people to get an output"

However I believe my previous comment is on topic & valuable too.

</comment><comment><USER18> While we're on the topic, recommendations for books that cover these topics in more depth?

</comment><comment><USER19> Very valuable lecture, basics of management explained very well

</comment><comment><USER12> really good practical advice! Thank you KR!

</comment><comment><USER20> today i will continue to find these work.

</comment><comment><USER20> you just need to browse and download all the things you need

</comment><comment><USER20> eventhough today is friday,i think i will continue my work as yesterday.

</comment><comment><USER21> Are these lectures actually any good? I really don't want to watch them if they aren't any good.

Are there lessons to be learned?

[link][https://www.facebook.com/pages/Hacker- News/1558365107716690](https://www.facebook.com/pages/Hacker- News/1558365107716690)

<comment><USER9> In this series there have been a lot of lectures that really resonated with me, while others didn't for various reasons. I don't think you can find out without at least partially watching them.

</comment></comment><comment><USER17> "Lectures"/"Talk" these do not compute in the real world.

If you know your field then you do not need this.

If you don't it won't make you succeed.

You need a capital, & that's the bottom line!

Without any kind of money which is time you simply can not do a startup.

Now, why people give up money to others? That's the real question.

I confidently can say at least 80% of the time it has nothing to do with the venture itself!

Connections, how you look/sound etc.

If you watch Shark tank you can see this clearly where Sharks bend the "rules" when they like someone.

Money is never an issue for them here, it's why would I give this person my money.

People tend to revert to these things because no one knows the future & unfortunately instead of making decisions rationally they end up going to the other end which is almost like consulting an oracle.

I am doing a Startup & have launched a fundraiser www.9mim.com & will share the process

Please check it out & give me your honest feedback to me this is more important than the $ itself as I'll do it regardless but with the $ it'll happen faster & have a better chance of succeeding.

Please do your feedback here

[https://news.ycombinator.com/item?id=8567801](https://news.ycombinator.com/item?id=8567801)</comment>


This AI Learns Your Fashion Sense and Invents Your Next Outfit - <AUTHOR> https://www.technologyreview.com/s/609469/this-ai-learns-your-fashion-sense-and-invents-your-next-outfit/?utm_source=twitter.com&utm_medium=social&utm_content=2018-02-07&utm_campaign=Technology+Review <comment><USER2> I so badly hope someone invents the perfect cargo pants for me. Cool, sassy with multiple pockets.

<comment><USER3> I have the same issue. I am running out of pants. I am looking for pants with 6 front pockets. Do you know if any places that sell them and even better, ones that can be ordered online?

<comment><USER2> In India, there's this brand called Beevee that makes some decent cargo pants, that lasts for around 6 months.

My relatives from USA got me cargos that was made by a brand called "Blue Rag", which I liked so much that I've been using for more than a year now. Next to perfect!

When I was 14, I'd bought a cargo from UCB, which was my 1st cargo pants, & I'd liked it a lot. I doubt if they make it anymore.

From which country are you?

<comment><USER3> I am from Israel but I get my pants from engelbert straus. They are good quality but I am looking for variety.

<comment><USER2> You may like Beevee. Google - "Beevee cargos"</comment></comment></comment></comment></comment>


What's wrong with Internet Protocol? - <AUTHOR> http://isogrid.org/blog/2016/05/18/what-is-wrong-with-internet-protocol/ <comment><AUTHOR> Hi there! I'm Travis Martin, the creator of IsoGrid. Let me know if you have any questions!

<comment><USER2> I remember reading about micropayments as the future of the internet in the days before Google. It made sense when I was paying a penny a minute for internet access at 9600 baud [and using it mostly for gophering and email and usenet].

It appears that the protocol uses routing determined by the sender. If so, how big will my "hosts" file have to be. It also appears that each hop requires a tool. If so how do I route around "highway robbers".

More importantly, is there an implementation?

<comment><AUTHOR> Great questions! Happy to answer them :)

Is there an implementation: Not yet. I have a prototype implementation of a link layer and I've prototyped parts of the network layer and transport layer. But only enough to convince me that the general isochronous design is workable.

Yes it uses Source Routing: I've spent the last few months working on the (extremely important) scalability question. Section 13 of the spec deals with this in detail, essentially specifying the 'BGP' of IsoGrid (HashMatchLogMap) so that nodes don't have to specify their own 'hosts' file. I think I've come up with a protocol that scales O(log(N)), where N is the number of nodes on the network. It will definitely have a large constant: The base algorithm starts with just always tracking the 10k or more nodes that are cheapest to access. The algorithm scales because the addresses of nodes contain a Geolocation component, which means it's easy to ask for directions from nodes that you already know about that are both physically and logically (HashMatch) closer to a desired node. My next step is to start implementing this protocol such that I can test it on a simulated large network (I'm thinking I'll build the simulated network dataset from OpenStreetMap).

Not sure what you mean by 'tool', but micropayments are sent along with the data. If a node only has one link to the IsoGrid (Comcast), then they are doing it wrong: The node should use the cheapest routes that meet the desired latency/bandwidth requirements. Competition means that "highway robbery" should cease to become a viable business model. If a node along a route decides to just steal the entire micropayment (rather than just their part) then data stops flowing on that route: The source uses other routes and the robber ended up stealing from it's own neighbors.

<comment><USER2> I meant "toll" not "tool". I'm assuming nodes can set their own rates.

<comment><AUTHOR> Yes, absolutely, nodes set their own rates. I've tried my best to keep economic decisions local. Nodes that steal the credit payment can be detected: And an algorithm can and will be built that detects it, and subsequently sends it's business elsewhere.</comment></comment></comment></comment></comment>


The Red Queen's Race - <AUTHOR> http://raganwald.posterous.com/the-red-queens-race <comment><USER2> Unless I'm mistaken, data goes from web server -> Amazon -> Kindle Fire, not server->Fire->cloud->Fire. The whole point of rendering in the cloud is to reduce latency by having fewer requests over the cell network.

<comment><USER3> Absolutely. And I'm sure raganwald knows that. By "pushes it back up to the server", he didn't mean that the Fire pushes it to the server on a request-by- request basis; he meant that conceptually Amazon has moved the locus of rendering (again).</comment></comment>


Hosting, Commodities, and "The Cloud" - <AUTHOR> http://journal.dedasys.com/2009/01/14/hosting-commodities-and-the-cloud <comment><USER2> Economies of scale?

The thing is, hosting takes commodity parts (where most of the 'economies of scale' are available almost at the retail level) and uses those parts to provide service. The barriers to entry are small: one really good SysAdmin and enough money to rent a full rack with power and servers.

see, I think that if you buy less than a full rack, sure, you get eaten alive. But if you can fill a full rack and 1 30A 208V circuit, the savings as you buy more space diminish. Again, hosting is a commodity, and most of the economies of scale are available almost at the retail level. (in this case, from what I've seen the full rack with 1 208V 30A circuit is about the minimum you need to buy to get a reasonable price, but buying 10 racks like that doesn't get you much of a discount.)

SysAdmin time... well, really you need at least 2 SysAdmins, for reasonable coverage, but one can be less experienced (but still very, very careful!) Now, two sysadmins can handle more than one rack, so you do gain benefits if you scale out the capacity to what your two guys can handle.

Look at amazon EC2, they are still charging $70/month for 1.7GB ram. That was a pretty good price, in 2006. Think about how many of those you can fit on a $4000 dual quad-core system with 32GB ram. that's a lot of money.

From what I have seen consulting for large companies, they don't get a discount on hardware or people, either. Sure, they might give dell millions of dollars, but I pay $1.5K per 32G box less just 'cause I buy motherboards with 16 ram slots and use 2gb modules, while the dells use motherboards with 8 ram slots, requiring expensive 4GB modules.

And SysAdmins, well, from what I have seen good people are much cheaper for small companies (at least in part because small companies can hire people and then easily fire them if they aren't that great.)

<comment><USER3> What is your opinion of Rackable, iDataplex, and the secret Dell cloud servers? Supposedly these are really cheap but can only be ordered in large volume (like 10 racks).

<comment><USER2> I don't know, I haven't used them. It's possible that they really are cheap, but I kindof doubt it. From what I have seen at large companies, purchasing decisions are first filtered based on what companies are willing and able to jump through the 'preferred vendor' hoops, and then largely decided on whoever gives the best kickbacks (or whoever has the best 'relationship' with the otherwise powerless middle manager making the decision) rather than on price or other objective concerns. Maybe I am wrong, and there really is information being exchanged that I am not seeing. I'm just saying how it looks from the point of view of a consultant brought in to advise on the technical suitability of the servers.

I worked at a company that bought large volumes of servers from rackable a while back, (as a SysAdmin, not a consultant) and I don't know about the price, but the support was pretty good,</comment></comment></comment>


The era of installed PC/MAC applications will end soon - <AUTHOR> http://blog.filepicker.io/post/25401394395/the-era-of-installed-pc-mac-applications-will-end

<comment><USER2> The power of HTML5 and javascript for creating applications is vastly over- hyped. I get that people are excited by the possibilities, but it still sort of sucks in terms of allowing you to actually take advantage of even a fraction of the power of the machine. (But we can have gradients and bouncy animations now! Weeeeeeeeeeeeee!)

Here's what you can't do in a web app yet: anything that requires serious CPU horsepower or memory efficiency. That's a lot of things! And the people that think that clever interpreters for javascript are the solution to this are nuts -- everything comes at a cost. Even the most clever JIT is probably going to double your memory usage, which sucks for cache coherency, and, well, for memory usage in general.

I see all these news items here that can be paraphrased as "check out this thing we did that was cutting edge on desktops in 1996! Now it's on the web!"

And on one hand: yeah, cool hack; but I mean, you're running the equivalent of what people would have thought of as a super computer 15 years ago, but web standards are essentially confining you to making toy apps.

<comment><USER3> But thats what this shift to cloud computing is about. Web applications simply shift all difficult computation to the server and deliver the results straight to the client. As for client-side JS code, your point about the increased resource usage is correct, but moot for the next 5-10 years IMO. Hardware is going to follow Moore's law for a few years at the least, and as long as that happens, the efficiency simply isn't an important factor for most applications. History has shown that (at least as long as Moore's law holds) the tradeoff between developer time vs. running time is constantly shifted to favor developers.

<comment><USER2> Well the only place where moore's law is still working is in doubling the amount of transistors, not doubling the speed. So you can get multiprocessing, but that's very hard to take advantage of, and as far as I know there's basically no concurrency in javascript regardless.

</comment></comment></comment><comment><USER4> I can see several obsticles that will hamper the development of a fully web native environment. This is no way an exhaustive list, nor is it necessarily complete or correct within each item, so take it with a grain of salt...

1) Security. By default, the web is untrustworthy. This means we have to treat any incoming web page or application as if it were filled with digital anthrax. The browser quarantines the javascript and HTML. Likewise, the server providing the service has to treat the input from the client in the same way to protect against SQL attacks and other hacks. This limits the user to a whitelisted set of features that were deemed safe by the application's programmers. Apps have less restrictions, but the parent platform still imposes significant sandboxing to prevent malicious attack.

2) Platform. While the ecosystem for Apps and web applications is indeed varied, they depend on the complex abstraction of the underlying platform. In the case of the web and app platforms, this is the web browser and tablet/phone OSs. In the case of the latter, that means the developer is beholden to "The Powers That Be" in order to get their app accepted. This works better on the web, but to get that freedom we sacrifice access to the underlying OS because of the security problems.

3) Persistent Connection. There is no such thincluding contenting as an offline web app. While tablets/phones can enjoy a disconnected existence, most rely on the assumption of constant connectivity, which is no way guaranteed. I ran across this issue driving across Texas, where there are HOURS of no signal on the interstate 10.

4) Data ownership, persistence, and portability. This is a nebulous area that is very important for anybody dealing with intellectual property. Most websites TOS claim they own your pictures and content, and many apps either don't save or have a proprietary format that can't be accessed outside of itself. Portability and persistence are linked because we are dependent on these services to be always up. What happens when something crashes or the company goes under?

5) Money. Ultimately, servers and developers cost money. A service is a recurring cost. The user pays for this, one way or another, through subscriptions or advertisements. Apps can be immune to this if they are entirely independent of the internet to function, but there still would be a cost if only to support the developer.

</comment><comment><USER5> 2004: [http://www.processor.com/articles//P2651/07p51/07p51chart.pd...](http://www.processor.com/articles//P2651/07p51/07p51chart.pdf?guid=)

2005: [http://www.wired.com/science/discoveries/news/2005/08/68403?...](http://www.wired.com/science/discoveries/news/2005/08/68403?currentPage=all)

2007: [http://www.cogniview.com/convert-pdf-to-excel/post/the- end-o...](http://www.cogniview.com/convert-pdf-to-excel/post/the-end-of-the- desktop-application/)

2007: <http://nick.typepad.com/blog/2007/04/brent_simmons_t.html>

2007: [http://www.codinghorror.com/blog/2007/06/who-killed-the- desk...](http://www.codinghorror.com/blog/2007/06/who-killed-the-desktop- application.html)

2008: [http://www.cogniview.com/convert-pdf-to-excel/post/do- these-...](http://www.cogniview.com/convert-pdf-to-excel/post/do-these-three- web-apps-signal-the-end-of-desktop-applications/)

2009: [http://allthingsd.com/20091119/chrome-the-end-of-desktop- app...](http://allthingsd.com/20091119/chrome-the-end-of-desktop-apps/)

...Just a few examples. I'm just saying we've had this conversation quite a few times. Maybe this is the final nail, maybe it isn't.

</comment><comment><USER6> I'm not sure if this article has any merit without actual survey data. Most of us at HN live in this bubble of web-apps, stay-connected, iPhone/iPad/Android world while there are probably many (literally) Mom&Pop shops that still rely on old technology because "it works" (and switching won't increase my revenue [developer tools are the exception]).

<comment><USER3> Very true. My contention though, is that the bubble we live in is most likely indicative of the future of technology. Especially given the fact that we've been seeing this trend of web-only apps EXPLODING and growing rapidly for a long time now, it looks like its just a matter of time before the average consumer is forced into the same ecosystem.

For example, note that the iPhone and Android ecosystems are very much prevalent amongst the average consumer, and they have already accepted the ecosystem that forces them to pay for digital content that they don't really own, or use Google and Facebook when the information they have at their disposal coupled with their privacy policies are making them increasingly scary.

It's strange, but I think the tech market is indifferent to violation of privacy or ownership rights. The success or failure is determined by functionality, UI etc. but not legal concerns. We have never before witnessed the creation of online ecosystems of this scope, so its understandable, but ultimately a mistake IMO.

</comment></comment><comment><USER7> Security. Portability. Privacy. Reliability. All of these are issues that present problems (non-insurmountable in the long run, but problematic in the short to mid-term).

Fundamentally, I'd argue that many users prefer to have their apps and data locally, at the moment.

In many cases, this is due to government or industry regulation – millions of HIPAA covered users/researchers will likely not move their data/apps into the cloud.

With the growing trade of industrial espionage and intellectual property theft, I fully expect that many companies will continue to be reluctant to put their data anywhere that will make it less secure.

Similarly, there will continue to be users who want to work in places where they do not have continuous or fast network connectivity (planes, trains, automobiles, boats, etc.)

Unless browser-based apps can offer local data storage and offline functionality, I'd argue that we're at least a decade away from such a mass migration to online services.

</comment><comment><USER8> Blah blah blah. Everything in this universe is cyclic. First we had huge servers and dumb terminals because CPU time was expensive. Then we had powerful desktops and lean servers because connectivity was expensive.

Now we have powerful desktops and extremely powerful servers because we want to be more connected to each other and don't have the resources to replicate the full set of data on every desktop (i.e. space and processing power (performing operations on that set of data) limitations). Give it some more time and the whole internet will become a peer-to-peer network (Diaspora, who the fuck knows what else). Give it even more time and we'll have huge servers again for unforseen reasons (oh how I wish I was a prophet).

Or maybe we'll realise that we're repeating the same pattern and come up with a completely novel concept upon one of the iterations terminating. It's not really a cyclic universe, it's more like a spiral. I guess that this is where the singularity occurs.

</comment><comment><USER9> Games you have to install are better than browser games. As long as that's true, computer users will be comfortable with the idea of installing applications, because they did it all the time when they were kids.

Of course, the same thing is true of word processors, CAD applications, IDEs, photo editors, and ... basically everything but e-mail. Why do I want to use web apps again?

</comment><comment><USER10> I hope this fad of moving everything into the web browser ends soon.

<comment><USER11> What is your reasoning? I personally think it's silly that we still carry around all our files on a disk drive in our hands. If we lose that, we lose everything. If I don't have my laptop with me, I can't do my work.

<comment><USER9> You can back up your files and applications to the cloud without relegating all of your computation to sandboxed Javascript.

</comment></comment></comment><comment><USER11> I do most of my work in the terminal and the browser. If I could somehow use a remote terminal with the convenience of being able to open files with image viewers/etc on my local machine, I have no need for a local disk.

<comment><USER12> what about ssh with X11 forwarding?

<comment><USER11> X forwarding is just too slow I don't want to wait >300ms or so for my input to generate a response. HTML + JS serves the same purpose as X forwarding with your application hosted on a remote box displaying in your local browser with the exception of javascript allowing small amounts of local computation to be performed when it makes sense.

</comment></comment></comment><comment><USER13> You know what I like about thick apps? They scale like a _boss_. Add a user, add (at least) one CPU and a whole lotta RAM to the cluster, for free. I spend a lot of time looking at New Relic graphs thinking "why didn't we build this as a thick app"?

Then I remember the recurring web revenue model.

(My bet is on a convergence of web apps and thick apps, but I think it will be thick apps adding cloud-like functionality rather than HTML5+javascript.)

</comment><comment><USER14> I remember when this debate was raging a couple years ago.

</comment><comment><USER15> Cool story, bro.</comment>


What's the canonical retort to "it's open source, submit a patch"? - <AUTHOR> http://programmers.stackexchange.com/questions/68740/whats-the-canonical-retort-to-its-open-source-submit-a-patch <comment><USER2> Contrary to the top answer, I don't think submit a patch means "we don't care if you like our product or not." It means "we are busy improving the product in many other ways."

Apparently, some people think "I have added your request to the end of our infinite backlog of requests" is a more productive response. "Submit a patch" not only conveys the same info, it also provides concrete advice on how you can jump the queue.

<comment><USER3> I think saying, "we think it's a good idea because.." or "it's not a good idea because.." or "hmm, that's interesting, we'll need to think about it." are all better responses than any of your quotes.

If somebody cluelessly expresses urgency and wants it fixed _now_ , it's perfectly ok to say "if you need it soon you should consider paying someone for it". But I find "submit a patch" often used when people disagree with your suggestion but can't articulate why.

<comment><USER2> In at least some of these discussions, I think "submit a patch" stands for more than just the literal phrase, it's a whole category of response, in contrast to the "I will do your bidding, master" category. I will sometimes use the phrase literally, but haven't found the shock and outrage of asking somebody to fix their own problem is diminished much by flowery phrasing.

For the record, I will not say "submit a patch" for a bad idea, I will say "that's a bad idea". Not that people like hearing that, either.

</comment></comment></comment><comment><USER4> It's kind of weird reading that.

Many people think it's rude to ask someone who wants work done to do the work themselves.

I think it's rude to expect other people who've got you 90% of what you want to just drop what they're doing and give you the remaining 10%.

The answer is likely somewhere between, but (and I'm biased), I'd tend to think that those who brought a body of work forward should have a little more leeway in responding to the demands of those taking advantage of it.

<comment><USER5> I think it depends a lot on the situation. A non-programmer who reports a blatant bug in a "mainstream" app like Firefox or VLC, if they press too much or one of the devs is insecure, may eventually get a cold "you could always submit a patch" that borders on sarcastic, or at best only sounds that way because the dev doesn't realize the reporter is not a programmer.

<comment><USER3> You don't even have to be a non-programmer to get it. "Submit a patch" is the classic passive-aggressive non-sequitur response when someone's feeling defensive.

<comment><USER4> "I demand you give me apples from the tree you have growing in your back yard."

"Here's a ladder. Take as many as you like."

"How rude."

<comment><USER6> ...it is if the requestor is paraplegic, as would befit the analogy to a non- programmer reporting a bug.

<comment><USER4> A paraplegic can't learn to walk, and usually presents as such.

A non-programmer can usually shed this condition with effort, or at the very least exchange laziness for money.

</comment></comment></comment></comment></comment></comment><comment><USER7> "I'm not a programmer. How much would you charge to write the patch and then submit it for me?

"If you don't have the time or inclination to do so... do you have any friends with talent who need money?"

<comment><USER8> That's a great reply, but I'd change "need money" to "would be willing to do it for a fee".

</comment></comment><comment><USER9> Wow! It's fun to see what people that don't participate in the open source community think about open source.

Keep in mind that as a user of an open source project, you are already getting the whole thing for free. Asking for more is what's rude; being told, "sure, we'll add that when you write it" is a very polite invitation to invest in the software that you apparently rely on. Remember, everything that already works was once a patch.

If you don't know how to program, sure, submit a bug, but don't hold your breath. Pay someone to fix the bug or implement the feature you want: there are plenty of contracting companies that do this, and like anything in the world, you get what you pay for.

Finally, what is a retort going to get you, even if you come up with a good one? You got some software for free, and now you want people that don't care about you in any way (you aren't their friend, you aren't giving them money, etc.) to give you some more stuff. They say no. You respond with a witty retort. Where are you now? The same place you were a few hours ago.

</comment><comment><USER10> I see a lot of "but I'm not a programmer" complaints. I'm concerned how many end users seem to overlook the solution of hiring programmers to make desired changes, since enabling that is a big part of what open source is _for_. How do we fix this? If third parties followed up by offering estimates to do the work, would that be well received?

<comment><USER2> Hiring programmers would be contrary to the goal of getting something for nothing.

<comment><USER11> The goal of OSS is not 'getting something for nothing'.

<comment><USER12> He's saying it's those people's motive.

</comment></comment></comment></comment><comment><USER13> Somebody has given you a gift, their time and talent, and your response was 'give me more'. They replied with 'I've given you all of my time that I want to', and now you are looking for ways to argue that point with them, which at _best_ will take more of their time. No. Remember your manners and thank them for the gift. You asked, they answered, the most important thing at this point is to respect the author's time by not arguing with them about how they choose to spend their time.

I can readily see the concept of "I wrote this code, somebody else might find it useful, so I'll make it available, but I don't want to bother with doing anything else with it." If an author wants to write my feature, cool, but I just don't see any problem in 'submit a patch' answers. To me it's a the distilled essence of "I already spent all the time I want to on this thing, I gave you a gift, I don't owe you anything, if you value this feature you're welcome to do it but I don't value this feature and am not interested in working for free." - but it saves all the arguments that would come up if you actually gave that answer, as people with time on their hands would take every point and try to pick it apart and take up more time arguing. By explaining reasons, you're just handing out ammo to fire back at you. Saying no without leaving the no open to argument is the only way to limit demands on time.

</comment><comment><USER14> I agree that it's a rude response, but hinting at them submitting a patch would never work. Those who lean towards that would just do so without asking. It's the rest of the people that need the pointer.

For many of my projects, my answer would be worse in their eyes: Fork it and do what you like. I have no intention of adding bloat to this project.

That's far more rude, but totally truthful. I created that project for a purpose, and I was nice enough to BSD license it so others could do -anything- they want with it. Asking me to change it to your liking is going too far.

Of course, that assumes I don't want the feature. If I do like it, then I'll happily add it to my backlog and then ignore it until I feel like working on it.

</comment><comment><USER15> I am thinking the best retort would be to submit a patch.

</comment><comment><USER16> I've found that even the tiniest of donations rockets your request right to the top of the queue. Especially for hardware.

Want that strange little T1 card to work in asterisk? Give them one and watch the magic. Its way cheaper than hiring someone to code it for you.

</comment><comment><USER17> If you can't do it yourself now, a) partner with someone who can b) learn how to do it so you can do it yourself c) hire someone to do it

I'd like to imagine that the community surrounding the open source project is a perfect place to start looking for someone to hire to build it out from 90% of what you need to 100%.

</comment><comment><USER18> One of the big reasons to open source is that you can get others to fix bugs and add features, progressing the project quicker and putting it into more use than it would have been closed source. People that use the software without contributing are more of a side effect, the more widely used the project the more users, the more smaller amount of contributors.

So I can see why there is this attitude when those getting a free ride on the software also want it developed to their needs for free. Especially when the feature is very specific and isn't something any of the contributors to the project need.

As an aside: I hate it when people say they can't program out of hand without actually really giving it a go, we all started somewhere.

</comment><comment><USER19> Hmm,

You've created something you think is worthwhile and given it to the world. Hopefully, one factor involved is that you would enjoy even a little appreciation.

If you say "these are my resources and this is my plan for further development, I would certain appreciate any resources that one might contribute to extend this", you might, just get a nicer response back than if say to the user " don't like it? There's nothing I'm going to do to change that".

</comment><comment><USER3> It's interesting to me how people's rephrasings of "submit a patch" in this thread almost universally seem less objectionable. Perhaps it's all about how you say it. Perhaps the biggest issue with the statement "it's open source, submit a patch" is its curtness. Just changing it to "perhaps you should consider" takes the edge off.

I imagine people saying this are usually at the end of their tether fending off suggestions and feature requests. The best response in those situations is to say nothing, and to take a break. If the guy that finally did it for you just submitted an innocent suggestion, there's no sense in snapping at him.

</comment><comment><USER20> Very simple: Don't act as if you're entitled to having any feature you desire implemented for nothing. Offer money or other compensation to the developer(s) to have it implemented.

Either that, or do it yourself (and submit a patch).

</comment><comment><USER3> Everybody here should read this comment by Steve Yegge: <http://groups.google.com/group/seajure/msg/145c06c54847c048> (original thread: <http://news.ycombinator.com/item?id=2466731>)

</comment><comment><USER3> I like my most recent retort: <http://news.ycombinator.com/item?id=2407414> (just the first 2 paragaphs)

</comment><comment><USER21> "Unfortunately, I don't have time to learn this system and work my way through your review process. I think I'll have to buy [insert (possibly proprietary) alternative] for now. Best of luck with the project."

For the record, I have written a couple patches and released open source code before. I say this after years of trying to convince all my friends to switch to Linux, and finally coming to terms with the fact that even I still have to keep a Windows boot for certain occasions.

<comment><USER22> As long as you are happy with the [insert (possibly proprietary) alternative] solution, I'm happy too.

Would you consider paying up to what [insert (possibly proprietary) alternative] costs for someone to write the patch for you? Would you consider gathering more people so you can fund your patch?

<comment><USER21> For paying a bounty, yes, assuming it can be arranged in a timely fashion.

For the latter, probably not. Assuming that for whatever reason I cannot write the patch myself, I do not have the time to start a new organization every time I encounter a new bug in some project. And I would guess that most ordinary consumers don't either.

This is not supposed to be a necessarily snarky response. Sometimes, an open source project exists, and it's not for everyone. The people behind the project should realize that every feature they choose not to include cause the software's value proposition to cease to exist for some users. It is up to them what to prioritize, and up to me whether using their software is worth the time of getting a patch committed.

Of course, my operating assumption here is that they want to hear about bugs/feature requests, and so it is worth something to them that I would bring it up in the 1st place. But I rarely ever make new feature requests. Usually this is in response to an evangelist telling me that I should switch to their platform, and my responding that it does not replace a current proprietary solution.

</comment></comment></comment><comment><USER23> Maybe stop complaining 'cause you aren't getting something for nothing and ask about consulting rates? It's a fast and easy way to jump to the front of the priority queue.</comment>