Inside Google's Fascinating Stash of 10,000 Indoor Maps - <AUTHOR> http://www.wired.com/gadgetlab/2012/07/17-organizations-that-made-their-floorplans-public-on-google-maps/

<comment><USER2> it's more than just indoor maps... there's indoor street view: [https://maps.google.com/maps?q=cafe+racer+seattle+wa&hl=...](https://maps.google.com/maps?q=cafe+racer+seattle+wa&hl=en&sll=47.671465,-122.317262&layer=c&cid=6390701145359639987&panoid=oOIM- GjOkmZGxy3EKckZNA&cbp=13,11.34,,0,19.31&hq=cafe+racer+seattle+wa&t=h&cbll=47.671453,-122.317357&z=21)

</comment><comment><USER3> It's only available in the Maps app on Android. There's no support for other mobile platforms or even the Google Maps website.

Until that changes, most companies won't bother to send their floor maps to Google.

</comment><comment><USER4> I'd love to see their detailed maps of Casinos worldwide --what mazes.

</comment><comment><USER5> This space will get interesting, but its going to take a while. The issue is that indoor maps are non-actionable. Further, there is a lot of infrastructure and coordination required to get indoor location.

There are a lost of people working on this (I am one - we have a patent for determining indoor location on the client side, meaning from the mobile device, rather than server side) - but there are a lot of other layers needed to make this a service that has more than one dimension.

First you need the map, with the ability to display the map on your device. Obviously this has been solved.

Then you need to locate yourself on the map. There are a range of ways to do this and some really interesting solutions. Such as the magnetic anomaly fingerprinting, WIFI triangulation ala Cisco MSE and RSSI triangulation on the client with a corelation to the X/Y given you know the location of the WAPs.

The above solves "show me where I am on the indoor map" - but this is a very one dimensional utility. If this is the solution, then there is no way in hell you can monetize this well. Its a feature, not a product.

So you need to be able to take action based on that location. This is where the problem gets harder as you need to start integrating with 3rd party services to be able to take actions based on proximity...

This is the secret sauce. So i wont reveal who the traitor is, or when we'll attack. But when we do, he'll know! He'll know that it IS I BARON VLADIMIR HARKONNEN WHO ENCOMPASSES HIS DOOM!

er... sorry - but I am very excited about what we have coming out soon!

</comment><comment><USER6> hmmmm. Bing added this feature way before Google did and not even a single mention in the article... [http://siliconfilter.com/bing-maps-for-mobile-goes- indoors-w...](http://siliconfilter.com/bing-maps-for-mobile-goes-indoors-with- mall-and-airport-maps/)</comment>


Great place for hacker recipes - <AUTHOR> http://www.nibbledish.com/ <comment><USER2> This whole meta-discussion about how it's hacking because it's open source made me realize: Pirating has been around for a lot longer than the internet. How many grandmothers out there shared copyrighted recipes with friends and family on 3x5 cards? It honestly never occurred to me till this minute that that might have been considered copywrite infringement.

<comment><USER3> According to the US Copyright Office, recipes aren't generally copyrightable. Listings of ingredients certainly aren't, and the instructions can only be copyrighted if they are a "substantial literary expression". I'm guessing that "mix stuff, cook it at 350 until done" isn't going to qualify.

<http://www.copyright.gov/fls/fl122.html> for the real info.

<comment><USER4> Going by the law, that's true, but what makes a recipe distinct from sheet music? They're both simple printed instructions informing appropriately skilled personnel how to produce a piece to be consumed. "Substantial literary expression" is a hedge. Many chefs have the same kind of distinctive culinary traits as writers have literary traits or as composers have distinctive styles.

<comment><USER3> I don't know the real legal reasoning, but in general the score for a symphony is quite a bit more detailed than the words on your grandmother's recipe card. IIRC, a piece of music 8 seconds or less cannot be under copyright (can't find any reference; sorry about that). I would think the typical recipe card would fall under that line of reasoning, whereas a page or two article on how a chef makes a complicated dish would probably be a creative work.

<comment><USER4> Length is a red herring; compare the copyrightable poetry in 'Haiku in English' (e.g., "tundra", in full) with signature dishes, like sachertorte or Waldorf Salad.

<http://en.wikipedia.org/wiki/Haiku_in_English>

<http://en.wikipedia.org/wiki/Signature_dish>

</comment></comment></comment></comment></comment><comment><USER5> I guess these are more science/engineering than hacker, but I think the following cooking sites match the title pretty well:

<http://www.cookingforengineers.com/> When I want to make something new and complicated, I go here first. Great layout, photos with every step, and no assumed prior knowledge.

<http://www.cooksillustrated.com/> The magazine has more content than the website, but when I took the time to read a two page essay about how to make pork lo mein, down to what cuts of meat I could reasonably expect to find in an American grocery store, I was not disappointed. These are the same people who endorsed wadded up paper towels as the best turkey lifters after extensive testing.

Of course, for real recipe hacking, I go to the substitutions section of the Joy of Cooking to see what insanity I can dig up. My best to date is a non- dairy chocolate cake that used lots of mayonnaise, and I really want to experiment with flax seeds as an egg substitute.

<comment><USER6> Cooks Illustrated is awesome. These people are obsessive and I love it.

</comment></comment><comment><USER7> _Please don't do things to make titles stand out... If the original title begins with a number or number + gratuitous adjective, we'd appreciate it if you'd crop it. E.g. translate "10 Ways To Do X" to "How To Do X," and "14 Amazing Ys" to "Ys." Exception: when the number is meaningful, e.g. "The 5 Platonic Solids."_

The word hacker here is gratuitous. The words 'open source' give a clear enough idea of how the site operates. And the site should stand on its own.

(I am amused that TrevorJ managed to think a plausible tie in.)

<comment><USER8> Agreed, this is getting idiotic. The site is cool enough, we don't need to arbitrarily add "hacker" to titles as though it magically means the link belongs here.

</comment></comment><comment><USER9> It actually has been nibbledish for a while now (February, 2009) see: [http://thenextweb.com/2009/02/05/tsavo-acquires-recipe- shari...](http://thenextweb.com/2009/02/05/tsavo-acquires-recipe-sharing-site- open-source-food/)

</comment><comment><USER10> Recipes + real pictures of the food after it's made = awesome. I am damn hungry now.

</comment><comment><USER11> What's up with _this_ recipe? [http://www.nibbledish.com/people/websolutions/recipes/find-a...](http://www.nibbledish.com/people/websolutions/recipes/find- answers-to-diffcult-questions)

</comment><comment><USER12> I usually don't want to go out and buy all ingredients needed before making the food. I want a website that tells me the list of food I can make with ingredients I already have in kitchen.

<comment><USER13> Do you ever have that many ingredients in the kitchen?

That's a valid desire, but I find that 'stuff in the kitchen' amounts to spices, flour, sugar, and leftovers from previous meals...

So you'd be stuck with baking mountains and mountains of bread related products, or making soup.

</comment></comment><comment><USER14> Love the idea, not wild about the design - Anyone else think there were some ads on the page at first glance?

</comment><comment><USER15> will there be a recipe for pg's "goop on rice"?

<comment><USER16> pg provided that recipe in the footnotes of his most recent article.

<http://paulgraham.com/ramenprofitable.html#f1n>

<comment><USER15> thank you very much.

</comment></comment></comment><comment><USER17> Go Japan!

</comment><comment><USER18> not only is this irrelevant but this news is pretty old too..

<comment><USER19> Well... Maybe it's old. But Food hacking counts in I guess :).

</comment></comment><comment><USER20> So is this HN because they had "OpenSource" in the name, or is there another secret that differentiates this from the other recipe sites?

<comment><AUTHOR> It publishes the recipes under an open source (well, CC) license ... :-P

<comment><USER21> Recipes can't be copyrighted, so this isn't exactly a stunning revelation.

<http://www.copyright.gov/fls/fl122.html>

<comment><USER22> the ingredients list of recipes cannot be copyrighted but "when a recipe or formula is accompanied by substantial literary expression in the form of an explanation or directions... there may be a basis for copyright protection."</comment></comment></comment></comment>


Devops Is a Poorly Executed Scam (2011) - <AUTHOR> http://widgetsandshit.com/teddziuba/2011/03/devops-scam.html <comment><USER2> * Automate configuration with Puppet or whatever. You should be doing this anyway. Not earth shattering.

Yes and it's very helpful to have a dedicated team of SMEs doing it. Otherwise you distract engineers who have to context switch to 'devops' mode and will, invariably, do a mediocre job. It's not earth shattering but I've yet to see an organization automate their infrastructure, configuration, and deploys without a team whose job it is to do it.

* One-step build and deploy. I'm still waiting for you tell me how these steps will solve my problems.

Because having a fast, reliable, and reproducible mechanism to push application changes is very valuable to most businesses that develop software.

* Culture of respect & trust, good attitude toward failure. How about "culture of stop fucking up"?

People fuck up. That is a constant. The challenge is building tooling and business processes that reduce or eliminate the impact of inevitable fuck ups.

</comment><comment><USER3> My biggest issue with "DevOps" is that it seems like it should fundamentally be a profession/methodology that rapidly renders itself into obsolescence if its creators and practitioners were actually any good at it.

The whole point is to provide automation, tools, and abstractions that basically make "Ops" fade into the background as a thing you never have to explicitly deal with or have its concerns leaking up to the application in obtuse ways.

It seems to be a thing that should be executed once and then be pretty much done until some entirely new radical kind of computer, network, and/or datacenter innovation happens that completely breaks the mold of how we need to organize machines to run software.

But instead of "DevOps" being this thing where you run the plumbing, test the pipes and valves, and then basically leave the whole thing alone for generations to come; save for inspection (which can be automated) and minor maintenance. "DevOps" seems to often manifest itself as a completely parallel development effort with just as many weird science projects, half-broken integrations, and high rate of change based on chasing some new shiny thing.

Put succinctly, my biggest issue with "DevOps" is that as a marketplace of products, services, and practitioners it seems to fundamentally misunderstand its raison d'être.

<comment><USER4> You are precisely right, and people with a devops mindset are most of the people that are building the cloud platforms that will render the role largely obsolete.

A typical developer just wants to code against an api, and shouldn't have to care about the infrastructure. As cloud providers (both public and private) move up the stack from providing just virtualized machines (ec2) to higher level services (dynamodb) to more complete frameworks (lambda), the developer cares less and less about what runs underneath that.

Devops does indeed sow the seeds of its own destruction. :)

</comment></comment><comment><USER5> This article could make sense until you've seen a bunch of engineers attempting to figure out how to move the production instances to a VPC, and then you think, christ, dev ops would be super handy right now.</comment>


New Features in Gnuplot 5.4 - <AUTHOR> https://lwn.net/SubscriberLink/826456/2ea90dd464e104d5/ <comment><USER2> Before I got accustomed to gnuplot, I was most familiar with d3. I spent a lot of time prototyping different viz strategies for myself in d3. All I can say is, I was blind and now I see.

If you get a rush from piping massive csv files into sed/awk/grep/tr/cut, then into wc/sqlite3/[etc], and are at all interested in plotting visuals of the results for yourself, please do yourself a favor and spend 30 minutes riding the learning curve of this wonderful program. IME, the docs are wonderful and kind to beginners who aren't afraid to cmd+f for the bits they're interested in.

After a couple hours of fiddling, you'll find getting a first stab at a graph faster in gnuplot than in excel. Then, you'll wonder about all that time you could have been saving your whole life. Like any other cli tool, its language takes a bit of grokking, but you can institutionalize your knowledge in scripts and carry them with you the rest of your life. Seriously, try it out.

<comment><USER3> What are the concrete advantages of gnuplot versus D3?

<comment><USER2> It depends on your use case. An obvious one is that gnuplot doesn't require a web browser and a JavaScript VM, but I acknowledge this is irrelevant to some people.

gnuplot integrates seamlessly with a shell, so you can do all of your data transformation in awk/sed, and pipe the results into gnuplot. For d3, you'd need to load the data file, plot it, and then face the temptation of tweaking in JS vs tweaking the source data.

The first iteration of "I have a csv file" to "I have an interpretable graph" is very quick with gnuplot, which helps with prototyping and identifying systematic features of the data. You can squeeze d3 to get this, but you'd need to whip out a lot of boilerplate to get there. There are a bunch of frameworks built on d3 that promise this sort of experience, but if you want to end up with fine-grained control of the viz, you'll need to drop down into d3 eventually.

You don't have to know anything about HTML, the DOM or CSS to make a decent graph in gnuplot. Of course, if you're skilled at these, you can make very nice interactive graphs in d3. Tangentially, I had a viz professor who would give any one who used interactivity to encode a dimension of information an immediate bias of -20%, because interactivity is more often a limiting element rather than a feature. :)

That being said if I wanted to build something productively interactive, I'd still reach for d3 over gnuplot.

Curious to hear others thoughts on your question, too!

</comment></comment></comment><comment><USER4> My biggest grip with Gnuplot was that the default style is pretty terrible. For everyone looking to make graphs, two pieces of advice:

\- Use pngcairo, or pdfcairo or something like that. Nobody likes graphs without anti-aliasing.

\- Use a nice color palette, from [https://github.com/Gnuplotting/gnuplot- palettes](https://github.com/Gnuplotting/gnuplot-palettes) , such as dark2 or viridis.

<comment><AUTHOR> Good advice. Even better to use one of the vector outputs, such as SVG, when you can.

</comment></comment><comment><USER5> Love to see it still alive! Did my whole Physics PhD in high performance C and FORTRAN with gnuplot for visuals and Perl to tie it all together.

<comment><USER6> When I did my master thesis we had to use servers we were not allowed to install most things on. But awk and gnuplot was there. All we needed for some great results. Thought of it as a hack in the beginning but in the end it became our whole pipeline.

</comment></comment><comment><USER7> Gnuplot was my first experience dealing with an open source project when I was starting my career. I went to their IRC channel and asked something related to the GNU project. I was immediately scolded: "Gnuplot is not a GNU project!!" :D

<comment><USER8> During my teenage years when I first started C++ (thank you Accelerated C++), I went to the ##c++ channel on Freenode and was immediately flamed for my "weird" nick, to the point that the people didn't bother to answer my question but instead went after me personally, just because I had picked a nick based on leet speak. I won't deny that it left a very bad impression on me about the open source community, especially as someone who was new to it.

</comment></comment><comment><USER9> For us, gnuplot and xmgrace were two of the most important command line tools during physics education, esp. in computational physics. Often piping freshly simulated data right into one of both for quick visualization.

<comment><USER10> I still use gnuplot for publication-quality graphs, when I can't be arsed to use R.

It's also still very useful to generate on-the-fly plots to help sifting through large numbers of datasets.

The last steps of my simulations is usually to generate a graph showing critical parameters to make sure it makes sense at a glance. Much easier than eyeballing number tables. Gnuplot is perfect for this: it is very fast and lightweight.

</comment></comment><comment><USER11> Gnuplot is really an awesome project. Though I don't use it all that much anymore, it will always hold a special place in my computing heart. In an undergrad physics lab it was my first experience with launching a program from a shell-- and that sure sent me in the right direction. Thanks to all who have contributed to the project.

</comment><comment><USER12> Here's a video of how to use Gnuplot within a Jupyter Notebook: [https://www.youtube.com/watch?v=BhmctDeRAl4](https://www.youtube.com/watch?v=BhmctDeRAl4)

Advantage is that it's a slightly better environment to iterate in.

</comment><comment><USER13> For a quick and dirty on the spot visualization for some data on the command line, I'd like to plug the following:

        function plot() {
            { echo 'plot "-"' "$@"; cat; } | gnuplot -persist;
        }

For example:

        seq 100 | sed 's/.*/s(&)/' | bc -l | plot linecolor 2

<comment><USER14> Nice! I like it when you can plug such programs in a pipeline.

Recently found out that you can use png:- as source or destination in any imagemagick command, to pipe images around! I find it really useful in combination with xclip, with -t to set the mime type. You can paste the result almost anywhere!

</comment></comment><comment><USER15> Problem of Gnuplot is their weird license that hinders it's adoption as a library.

</comment><comment><USER16> The example spider plot is covid19 data. In 30 years time somebody will look at gnuplot 10 and say "oh yea I remember that.."

<comment><USER17> "... it was back when the population was 8 billion and lived in cities as opposed to 1 billion scattered underground"

</comment></comment><comment><USER18> From using gnuplot of a few versions ago for tasks involving rather many plot generation, I felt that the gnuplot syntax and commands are rather unintutive and hard to remember, perhaps in some way aesthetically jarring. Also the interactive plots it generated was rather barebones.

Plotting from a pandas dataframe seems more convenient way than using gnuplot presently.

<comment><USER19> Yeah, I agree. Though actually I like plotting from Julia the best. You see software like gnuplot a lot: started its life just doing one thing and then slowly growing. The end result is an unholy mess of a system. All things eventually end of being Turing complete, so let's just eliminate the middle man and use a programming language.

Other examples of this are html/js, excel, vim, and bc.

A much better result can be achieved if you first design then language (or use an existing one) and just implement libraries to do what you want. A good example of this is Emacs.

Greenspun's tenth rule: Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.

Incidentally, I haven't encountered much gnuplot use nowadays. Maybe 10 years ago it was pretty popular in academia, but most have moved onto using Python and matplotlib for plotting, even if the models are written in something else. Matplotlib is truly terrible, but at least it comes with a sort of acceptable programming language.

<comment><USER20> Tangentially related: I've been working on a plotting tool ([https://github.com/LaurentRDC/pandoc- plot](https://github.com/LaurentRDC/pandoc-plot)) that supports many plotting toolkits. I recently added support for Plots.jl. I can't believe how SLOW it is to get from running a script to getting output. 10x slower than matplotlib, 100x slower than Gnuplot.

<comment><AUTHOR> The first time you plot using Plots.jl it will take a long time as it compiles the package, and maybe even has to download things. But subsequent plots should be fast. Unless each time you run the script you are starting over again—but that's not the best way to use Julia.

</comment></comment></comment></comment><comment><USER21> Amazing project, but seriously why do people spend their time and energy to implement 3d bar charts?

<comment><AUTHOR> I don't know the story in this case, but, usually, when the gnuplot devs implement a feature like this, it's because people are asking for it.

</comment></comment><comment><USER22> > GNUplot is language independent

Not really since it's dependent on its own scripting language. That's like saying Matplotlib is language independent, you just need to know its scripting language (Python).

<comment><AUTHOR> When people say gnuplot (not GNUplot) is language independent, they mean it is not tied to the language in which you are creating the data that you are plotting (unlike a plotting library, such as Matplotlib). This means that when you move your simulation from Python to Fortran or Julia or C, you can use all of your gnuplot scripts unchanged. You don't have to learn about a new plotting package or library. And that's _because_ it has its own scripting language.

<comment><USER23> I still don't see how this is different from matplotlib. You can also move your simulation to a different language and keep using matplotlib for plotting, with it's own scripting language Python.

<comment><AUTHOR> I've used both Matplotlib and gnuplot extensively for visualizing the results of simulations and other tasks. I'll try to briefly explain why I say that the gnuplot solution is portable while the Matplotlib solution is not.

You don't get plots from Matplotlib just by using Python, nor even Python + numpy. You also have to learn the conventions of the Matplotlib library, including the horrendous mechanism for making and storing settings. This amounts to learning Matplotlib's domain specific language, which is at least as onerous as learning gnuplot's scripting language.

When you move your simulation project from Python to another language (and this is a common sequence, as people often prototype a calculation in Python but then want to make it bigger) you will be able to keep using your Matplotlib routines if your method was to store the simulation output in a file and, in a decoupled step, read and plot the file with a Python/Matplotlib program. This is a trivial form of portability that goes without saying. But you will have to maintain a Python + numpy + Matplotlib + [maybe more] ecosystem, with the Python world's notoriously shifting set of dependencies. In contrast, gnuplot is a compiled, standalone program. There is no ecosystem to maintain.

If your plotting phase was not decoupled from the calculation, and you have plotting code in your simulation code to plot things on the fly, you have to start over. Obviously you can't use this plotting code in your Fortran program. In contrast, gnuplot has universal interfaces through sockets, FIFOs, and files. You won't have to touch the plotting code, just trivially rewrite the lines of code that, for example, open and talk through a socket.

</comment></comment></comment></comment><comment><USER24> I really wish Fedora would stop stripping GNU Readline out of gnuplot, this really lobotomizes its usability.

<comment><USER25> It sounds like gnuplot's license isn't GPL-compatible, so Fedora would be violating the law to ship gnuplot with readline.

What you really mean is, "I wish gnuplot would change their license to be GPL- compatible so they could legally use readline."

<comment><USER24> Maybe, there is a disagreement about the license interpretation. For decades only debian adopted this view, and only in fairly recently (last two years?) did fedora drop readline support.

The alternative it uses is broken almost to the point of unsuitability (e.g. write any line long enough to wrap and try editing it)

</comment></comment></comment><comment><USER26> You know what? I couldn't help myself thinking: So this is the kind of the article that can get you paid $300 (give or take).

LWN pays $300 for a well-written article: [https://news.ycombinator.com/item?id=23920240](https://news.ycombinator.com/item?id=23920240)

</comment><comment><USER27> can you change a plot's background color without jumping through polygon- drawing hoops yet?

<comment><AUTHOR>
         set term x11 background rgb "aquamarine"

(for example).</comment></comment>


Slugr.js: Bundle Node.js apps into a single executable file - <AUTHOR> https://github.com/spiceapps/slugr

<comment><USER2> I don't see a license. If we snarf this and start hacking on it, are we liable for copyright infringement?

(P.S. it's incredibly stupid that we even have to worry about this bullshit, but that's the way the Berne Convention works.)

<comment><AUTHOR> Thanks for the heads up. Just pushed it today and the license completely slipped my mind.

<comment><USER2> Awesome, thanks! Sorry to pester you with trivialities like that.

</comment></comment></comment><comment><USER3> Nice! Great to see more node.js support happening.

</comment><comment><USER4> Cool. Reminds me of python frozen binaries.</comment>


Ask HN: How should I go about learning CS? - <AUTHOR>

Hello hackers,
My undergraduate is in History, however, I've been working as a Tester(also some technical writing) for last 4 months in a startup based in Europe. I've to admit that I don't have very strong CS fundamentals i.e. theory. How do you recommend I go about it? As a first step, I've bought Discrete Mathematics book and reading it for last two months. What should I move on to next once I understand little bit of Discrete Maths? Straight to algorithms? How do I approach algorithms? I mean should I understand every proof written in Cormen's book? I'm confused as to how should I approach this.
What other math books should I be reading? Any help will be appreciated. I know there are some very good self-taught hackers in here. Also, some very good and highly educated CS hackers lurk here. So any help is highly appreciated as right now my condition is like a fish without water. (note that, going to school isn't an option right now) <comment><USER3> Speaking as another history undergrad, here's what I've found helpful:

Read HTDP (<http://htdp.org/>), SICP (<http://mitpress.mit.edu/sicp/>), and/or CTM (<http://www.info.ucl.ac.be/~pvr/book.html>), and _do most of the exercises_. They're all huge books, but getting even halfway into any of them will cover a _tremendous_ amount of material. Also, they focus on largely complementary material, and each may help clarify concepts you find puzzling in the others. Also, HTDP is probably the most approachable of the three. (The first two are available online, the third has a draft PDF floating around. There's something to be said for a hardcover on your desk, though.)

Also, find something you're seriously interested in and program for it. With an undergrad in history, you have quite a few niches to draw upon that most CS grads don't. (Python is one reasonable language for this. People will debate this endlessly, though; picking something and actually doing it is more important than getting bogged down in worrying about language differences, for your purposes. Having libraries relevant to your niche is also important.)

You will almost certainly need to learn C somewhere along the line; it's a good candidate for the lingua franca of algorithms. _The C Programming Language, 2nd ed._ by Kernighan & Ritchie is _the_ book, and for good reason. Learning C will also get you intimately acquainted with many mistakes people frequently make, which will help hone your testing / debugging. (This is the upside of C making it easy to shoot yourself in the foot, I suppose.)

For math and algorithms, take your language(s) and dive in at Project Euler ( <http://projecteuler.net/> ), a series of math puzzles. Have fun with it, and dig deeper into any questions you don't understand or can't code a reasonably efficient solution for. The algorithmic insights will come when you read other peoples' solutions that solve the problem 1000x faster. :) Also, comparing both idiomatically similar and fundamentally different solutions to the same problem across several languages can teach you quite a bit.

For data structures (which you didn't explicitly mention, but will need along with algorithms), I found learning OCaml (via <http://caml.inria.fr/pub/docs/oreilly-book/> ) most helpful. ML is an _excellent_ language family for expressing complex data structures, and a little experience with it will probably make thinking about them clearer, regardless of what language you're working in. (Other people will probably have better book recommendations, though.)

<comment><USER4> I also have a history (and now CS) degree. If you want to get into programming, do some programming. Don't worry about what language or what project, just grab something and do something.

That said, I found <http://www.processing.org/> to be very useful in my transition. Nothing like a little visual feedback to keep the motivation high :) Clean syntax, great documentation, active community. Fantastic starter language, a great way to dip your toe in the pool and see if you really want to do programming before you buy a bunch of expensive books. Attempting to use one of the more masochistic languages (c/c++/java) can break your spirit before you even get going.

I expect you'll pick up discrete math pretty easy, and a lot of the analytic skills you developed in history actually will translate pretty well to CS.

I wish I had more time to reply but I have to run, final 2 tips, install linux and write a compiler. Have fun and good luck!

<comment><USER3> > ...and a lot of the analytic skills you developed in history actually will > translate pretty well to CS.

You're the first CS person I've _ever_ spoken with who understands that!

</comment></comment></comment><comment><USER5> What do you want to ultimately achieve? Do you want to become a hacker or do you want to know about computer science for intellectual gratification? While these options certainly aren't mutually exclusive, they can however be very distinct.

If you want to be a productive programmer there is no substitution for programming experience. In the same way knowing a lot of music theory won't make you a great concert pianist without years of practice.

Computer science theory will allow you to attempt some problems beyond the reach of intuition. However a great deal has been achieved by people just having a go.

I don't think there is any one answer. There is no definitive example of a computer scientist or hacker. I'd recommend just getting stuck in. Try many different things. Find out what interests you and then read the relevant books. You'll go farthest if you're doing something you enjoy not by adhering to some consensus from a disparate bunch of usually jaded hackers :)

<comment><USER6> Thanks, I just want to have a firm grasp of theory and algorithms because I want to prove I'm not _just_ a tester :) Also, I think I want to improve my chances of getting hired into a good software company. Because I guess if I apply to Google then I think they expect me to know decent theory and algorithms. So two aims a) internal gratification and thirst b) improving my odds.

Thanks again for writing in.

<comment><USER7> you're probably not going to get hired at google without some kind of degree in computer science.

maybe you should do a long-distance course in CS.

fern uni hagen has one that I considered.

<comment><USER8> I don't think thats true. Nostrademons, for example, was just hired there, and he has a degree in physics. If you can somehow demonstrate competence, even if its just from self-study, you should be fine.

<comment><USER7> I shoulda said, if you have a B.A. and not a B.S.. (IE, a degree in some kind of science, rather than a humanity.

The OP was a history major if I recall correctly.

</comment></comment></comment></comment></comment><comment><USER9> I'm impressed that you chose to approach learning from a theoretical point of view. It will serve you well; you will understand algorithmic approaches which stump a lot of people who lack a theoretical background. (Please, no "I never got a CS degree, but I know what I'm doing" replies --- the HN audience is more competent than the average in the working world. I'm sick and tired of working with people with trade-school degrees in programming or "computer engineering" who do not understand binary search.)

To start, you should read SICP (<http://mitpress.mit.edu/sicp/>) and watch the lectures ([http://groups.csail.mit.edu/mac/classes/6.001/abelson- sussma...](http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman- lectures/)). You should probably do this before diving deeper into discrete math, algorithms, or theory of computation. SICP is almost completely unique in that it touches on all these topics, and puts them in the context of actual programming. It also happens to include solving fun problems along the way.

After that, you'll be well-prepared to have a ball in all aspects of CS. You can get more into pure hacking by learning languages (after Scheme, I recommend C, Python, Common Lisp, Haskell, and Prolog before jumping into more unexplored directions like Scala and Clojure), and following up by studying compilers and operating systems. You can get into a more job-oriented path by learning Java and C#. You can get into more algorithms by reading Cormen et al. and, of course, Knuth. You can get into pure theory by reading Sipser (wonderful, wonderful book).

<comment><USER10> A question: Cormen, then Knuth? Or the other way around? Or does it not matter?

<comment><USER9> I must sheepishly admit that I have not fully read Knuth. I've skimmed parts of Vol. 1-3 and looked up specific things, but I have not gone through every proof with a fine-tooth comb. (Far from it.) The book is enormously deep, very valuable if you follow all the math, insightful. At the same time, it doesn't cover a whole lot of topics, and with good reason: it isn't complete yet. Volume 4 has been in production for decades now, and being released piecemeal. CLRS (Cormen et al.) has less depth, but more breadth. The book covers introductory graph algorithms in reasonable detail, for example.

As a side note, Knuth presents examples using a synthetic machine language. Don't get me wrong: this is actually extremely cool, but you end up jumping between thinking about registers and then thinking about very high-level math. This shouldn't throw you off very much, but it makes me think that it shouldn't be the first or only algorithms text. CLRS, on the other hand, uses pretty dense pseudocode, lots of mutable state, and bad variable names. The longer algorithms can be hard to follow. I know that a 3rd edition will come out in a couple of years, maybe it'll fix that. Not sure.

Speaking for myself, I'm not sure I could plough through either Knuth or CLRS, from first to last page. I read books like that by reading introductions and then skipping around. By the time you get that far, you'll know what interests you and where you need to pick up knowledge. Certainly once you have dynamic programming techniques under your belt, you'll know enough to guide your own explorations.

</comment></comment></comment><comment><USER11> I'm a hardware guy, so I've got a different approach. I'd say, drop the algorithms book. Start with a book called "Structured Computer Organization" by Andrew Tanenbaum. After you read that book, you'll feel like you actually KNOW a lot more.

And after you read that book, you'll probably know a lot more than half the people here about how computers really work.

To compare the approaches:

\- After you read Cormens book, you may be able to prove that quicksort is faster than bubblesort.

\- After you read Tanenbaums book, you will know where the arguments are stored in memory when you call a function with multiple arguments.

Everybody has to decide which is more important for him to know, I know which was more interesting for me.

<comment><USER12> I second this. Growing up in a family with a continuous lack of money, I was always having to work with computers that bordered on ancient -- the manual for my first computer was actually written in Sumerian on a clay tablet.

Having to actually learn to work with the system at a base level will be incredibly useful once you start to pick up more advanced concepts, and I imagine that the history of computing might be a topic in which you can find interest as well.

</comment></comment><comment><USER13> I'm going to repost my e-mail response to you here, in case others are interested:

        As a first step, I've bought Discrete Mathematics book and reading it for last two months.

Good.

        What should I move on to once I understand Discrete Maths? Straight to algorithms? How do I approach algorithms?

I'd actually start with data structures, but this can be tricky as I don't know of a really good standard datastructure textbook. We learned mostly from professor's handouts. We did have a textbook - Data Structures and Algorithms in Java by Goodrich and Tamassia (<http://ww0.java4.datastructures.net/>) - but its quality was spotty.

I also learned some from "C++ Components and Algorithms" by Scott Robert Ladd ([http://www.amazon.com/Components-Algorithms-Scott-Robert- Lad...](http://www.amazon.com/Components-Algorithms-Scott-Robert- Ladd/dp/1558514082)). This is old - it's what I first picked up when I was 15 and playing with MUDs - and a little basic, but it got me started.

Cormen also has a lot on data structures, but the level of presentation is pretty high. It may be easier to combine it with another source.

Also, the C2 Wiki has some great pages on data structures and algorithms: <http://c2.com/cgi/wiki?DataStructures>

        I mean should I understand every proof written in Cormen's book? I'm confused as to how should I approach this.

This will take you a long time - I don't understand every proof in Cormen's book, I just go back to them as necessary. I'd start by understanding what's going on under-the-hood when you use standard library datastructures - <USER2> lists, vectors, heaps, trees, hashtables. Once you've got that, go on to understand the variations of these, eg. the half a dozen or so different collision-resolution strategies used in hashing.

When you've got that, take a look at some of the more advanced data structures in there, like binomial and fibonacci heaps, skip-lists, B-trees, etc. And somehow make time for graph algorithms, they come in handy.

        What other math books should I be reading?

You should make time for Structure and Interpretation of Computer Programs (<http://mitpress.mit.edu/sicp/>). Other good theory books: Concepts, Techniques, and Models of Computer Programming by Peter van Roy, and Types and Programming Languages by Benjamin Pierce. As for math - it's good to know some set theory and mathematical logic, but I wasn't a math major so I don't have good recs in that area.

<comment><USER6> Thanks, Jonathan. I really appreciate your reply.

<comment><USER14> Being a mathematics major as well as CS, can offer a recommendation of a book for each of set theory and mathematical logic. Each were the basis for the course I took on the topic, and recieved pretty good reviews on Amazon:

Karel Hrbacek and Thomas Jech, Introduction to Set Theory. ISBN-13: 978-0824779153.

Herbert Enderton, A Mathematical Introduction to Logic. ISBN-13: 978-0122384523.

Hope this helps. :-)

<comment><USER13> The Enderton book was what we used for my Mathematical Logic course, and it was pretty good. Thin, but a pretty clear and (apparently) comprehensive presentation.

</comment></comment></comment></comment><comment><USER15> CS is a gigantic field and if you start midnlessly wandering around, you're surely to be overwhelmed with how much stuff exists. I have a MS in CS and I still feel like a majority of topics are way over my head. I find that I have to spend a bulk of my time for some period on very specific things to feel like I got a grasp on them.

I think you have to first figure out what you're goals from this are. Do you want to write a web app? Do you want to write an operating system? Some people approach the problem from the latter goal and are very quickly dismayed by its depth. If you want to write something more simple, you can start at tutorials of just languages, and then work up from there. HN is usually a good barometer of interesting CS topics.

In terms of just pure CS fundamentals, I think looking at the freshman curriculum of a reputable school should be a good start. The danger with diving into CS from the theoretical side though, is being dismayed at the little perceived relevance of CS theory to actually writing code. A good plan to prevent losing interest is learn with micro-projects that can be completed in a short amount of time. Having small rewards regularly can help you stay on track.

<comment><USER6> Good comment. Basically, my aim is to learn as much math and theory as possible. Also, to eventually become a rock star web programmer and a compiler writer(I want to write fun little computer languages one day).

<comment><USER7> If you want to be a web programmer, start building web apps.

The obvious thing is to get good at ruby.

But I would say, have a look at haskell, and happstutorial.com.

hanging out in haskell cafe, a certain amount of CS is likely to just rub off on you.

</comment></comment></comment><comment><USER16> My opinion might stray a little bit from some of the answers here. I don't think a CS education is complete without an understanding of how the whole stack works.

So work through the Scheme lessons in SICP or HTDP, it's a fun and playful language! You can easily build interesting algorithms and watch them in action to get a better feel for how computation behaves. You will also be introduced to FP which will help you in the long run as a dev.

From there I like to think of two directions you could explore.

Down => compilers, OS design, processor/memory/machine architecture, networks, circuits, physics.

Up => automatons, language theory, complexity, ways to mitigate complexity (approximation, optimization, AI).

Sideways => the wide world of application programming.

It depends on what tickles you...but in my opinion a basic understanding across the spectrum will provide you with the framework to explore more specific areas without feeling lost.

</comment><comment><USER17> Learn Scheme -> Read/watch SICP. Work your way up to algorithms. Build stuff.

<comment><USER18> I think the key here is "build stuff." Do all the excercises in SICP, and see about doing the projects that are listed in the Open CourseWare for the course. (I think one of them is a web-spider.)

</comment></comment><comment><USER19> Who do companies want to hire?

They want to hire someone that is amazingly good at something.

Someone that is truly passionate.

Someone that really gets what they are doing.

Many of us are generalists, because we've been doing this gig so long. We've soaked up a myriad of technologies.

But it takes a lifetime of experience, something you don't have time for.

Learning about lots of algorithms may be fun (heck, it is to me!), but it may not be the best use of your time.

Right now, you need maximum leverage, especially in a waning economy.

If you pick a technology that you are having a blast with, you are going to push yourself and your skillset.

Does John Carmack do OS-hacking or web-app-hacking? Nope, he builds great game engines. (Well, that, and something about rockets.) And he's compensated accordingly.

It might seem silly to ditch the books in favor of building your own ray- casting engine (or whatever makes your bells jingle), but

1) you're going to find out if you are truly passionate about going in deep, and

2) you're going to have real-world experience and will be able to have a serious conversation with other engine designers. Quite important in job interviews.

You don't need 100,000 jobs. You only need 1. Decide now what you job you want and start your course in that direction.

Good luck -- exciting times for you friend!

BTW: Math isn't necessary for great hacking. In my line of work, I rarely need that skillset. And when I do, there are libraries.

</comment><comment><USER20> Write some code. It sounds like you are reading a little too much about math. Not all CS is math, otherwise we would all just be math majors.

People keep mentioning the Wizard book (SICP). It sounds like it would be perfect for you. I think it veers too much on the side of theory for most people, but it sounds like you have no trouble with that.

</comment><comment><USER21> www.catonmat.com is a CS themed blog that gets posted here from time to time and is quite educational. The writer is a physics BS who self taught enough CS to get through all the interviews at Google(but was not hired at the end).

</comment><comment><USER22> Pick a goal first:

"I want to write an operating system"

"I want to write a video game"

"I want to write a raytracer"

"I want to write new firmware for my TV"

Then do it, learning what you need along the way. Forget "CS", just do it.

</comment><comment><USER23> New Turing Omnibus - it's pretty much the best overview of CS theory for non- CS people.

</comment><comment><USER24> Keep posting threads here asking for tips.

<comment><USER13> I think this is actually a bad idea, because tips themselves will never give you the fundamentals you need to be a good programmer. It's like asking for a steady stream of fish instead of going out, buying a fishing rod, and getting some fishing lessons.

In general, I think one should try to understand basic principles first, instead of solving specific problems they have. Nobody here can tell you what you ought to be asking, but intro textbook authors have put a lot of thought into what you need to know and base their books around that.

</comment></comment><comment><USER25> IMHO, you don't need to know much theory to do testing. Programming is not a science, it's more of an art. Artisans don't need PhD's in Discrete Math to get their job done. Instead, they need passion, perseverance and tenacity. It's good that you want to learn about theory, but reading books is not enough... you have to code too.

<comment><USER26> He didn't ask to learn programming, he asked to learn CS. He isn't getting a PhD in discrete math, he is reading a discrete math book, which is a bare minimum for learning CS.

<comment><USER25> You are right and I stand corrected. I was somewhat puzzled that someone who has no technical background actually wanted to learn CS. That is unusual. Often people want to learn how to program and call it "CS", though CS has little to do with writing code. Thanks for correcting me.</comment></comment></comment>


Lessons I learned while implementing technical RFCs as a management tool - <AUTHOR> https://buriti.ca/6-lessons-i-learned-while-implementing-technical-rfcs-as-a-management-tool-34687dbf46cb <comment><USER2> I'm convinced the most effective way to rally engineers under a common cause and a unified vision is not with individual tech specs, fuzzy PRDs and sprints of work, but with an RFC. Writing an RFC demonstrates that you have thought enough about a problem to devise a working solution that is not rash but also admittedly not perfect (unless it is). RFCs are so much more than technical prose. They're context and history and rationale and concensus all at once.

Unfortunately, many engineers and managers scoff at the idea of writing an RFC because of the traditionally poor UX instead preferring collaboration tools and diagrams. As a coworker once put it, "diagrams are weak sauce". Collaboration software is convenient for comments and visibility, but it fails to carry the same weight as an RFC and tends to produce more ephemeral artifacts. The best thing about writing an RFC is learning how people (mis)interpret your writing. If you want to win an engineer's heart, speak their language.

<comment><USER3> > Writing an RFC demonstrates that you have thought enough about a problem to > devise a working solution that is not rash but also admittedly not perfect

This is critical. One of the most important parts of the RFC process is that by its very nature it invites _comment_. It specifically invites people to poke holes in it, to find issue with it, to voice their concerns and be heard. While it doesn't promise unanimity, it promises consensus. And while every single objection may not be fully satisfied, every one of them should be _addressed_.

An RFC averts the tendency towards an overabundance of confidence, warranted or otherwise, and instead starts a discussion.

</comment></comment><comment><USER4> "include team members without it becoming design by committee"

This point is mentioned but there's no clarification. As soon as you open up a design discussion to other members you're heading to design by committee territory, unless you take specific action to control it. Is there something in the formalized RFC process that addresses this?

<comment><USER5> Someone once said to me that RFC stands for Request For Comments, not Request For Consensus.

It is an opportunity for you to get important feedback about aspects of the plan you might be under-informed about and make sure the relevant parties are aware of what is happening.

After feedback, you may decide your plan was flawed and needs adjustment, but just because there is disagreement doesn't mean you need to change your design to fit everyone's needs.

<comment><USER3> I do think consensus forms a critical part of the process. But consensus does not mean unanimity, and not every objection requires changing the plan to accommodate it.

An RFC should seek to articulate the key constraints, surface every _unique_ point of disagreement, and _address_ every one of those. Sometimes, addressing such a point may involve changing the proposal; other times, it'll involve providing a considered and thoughtful response that amounts to "no, and here's why not". That may lead to someone dropping the objection on further consideration, or refining their concerns in an effort to better articulate what they value that they feel the proposal doesn't deal with. And occasionally, even after that, the answer may remain "no", and the objection will stay on record as disagreement with the consensus.

</comment></comment></comment><comment><USER6> The idea of writing RFCs for intra-organization engineering doesn't jive with my experience of needing to hack out prototypes to come up with good solutions to problems. Writing a huge RFC before writing code seems to be something that should be the exception not the rule. How do you balance this?

For protocols or standards RFCs are a natural fit because they are about mutually agreed upon communications and formats -- its self evident they must be based on consensus since the consensus itself is the core of what delivers value. Many software development tasks (including examples given by the author) do not have the characteristic of _necessitating_ consensus so requiring RFCs seems to be a trade-off between consensus and other important things like velocity or iteration cycles, not essential complexity to solving the problem.

<comment><USER7> I wouldn't think that an RFC would have to come before hacking out a prototype. In fact, doing a prototype is probably a great way of preparing for writing an RFC.

<comment><USER8> And vice-versa - in fact, I'd put a lot of faith in a prototype _accompanied_ by an RFC. I think each would help to materialise the other.

</comment></comment></comment><comment><USER9> I think this is an awesome idea (and I believe Amazon has something similar - powerpoints are banned and proposals must be written)

Formalising that into something like a RFC / PEP seems a great idea. Add in the email based discussions and it's the start of bringing democracy into the feudal corporate world

<comment><USER10> Why email?

<comment><USER11> Its the OG social network and has better everything (search,history etc) than anything else out there. I hate using skype/slack/etc for comms, better to just use a phone or write an email.

<comment><USER9> This

</comment></comment></comment></comment><comment><USER12> I'm struggling to understand the intended meaning of this comment "In addition, when there is a document they can refer to, individual contributors (ICs) can be given concrete feedback on performance if important decisions which are part of their responsibilities were not on their radar." Can anyone help interpret it?

Assuming the author is reading this, how do you manage the feedback and decision-making process for these RFCs?

<comment><USER13> The way the author uses "RFC" is that it's essentially a possibly very rough draft design document for some technical implementation. The "Comments" part is what is otherwise known as a "design review."

My opinion is that what to do with feedback and final decision authority rests with the proposal owner except under certain circumstances. Some of these would be if a component of the proposal is particularly complicated, clearly not completely understood by the team (e.g. there are dependencies on other teams that need more clarity), or contentious (e.g. major rewrites, switching to new frameworks or data storage and pipelines, etc.). In the latter I require consensus especially: proliferation of languages, data store solutions, and frameworks is a real problem and rarely a good solution.

</comment></comment><comment><USER14> I want to work in a place that uses this process I really do. Feel free to contact me if you are looking for employees and use this process.

<comment><USER15> One obvious response: Can you (help) make it happen where you are?

<comment><USER14> I am currently very close to finishing my studies, so I cannot.

</comment></comment></comment><comment><USER16> In my job, we create GitHub Issues labeled "Discuss", which are essentially requests for comment. It's a great way to outline a problem you want to solve, test your assumptions, gather thoughts from the team, and create transparency. For the ideas which are really ground-shaking, we send an email to the team with a link to the Issue with a brief synopsis.

</comment><comment><USER8> This has been food for thought for me. I'm currently part of an engineering team that's a small part of a non-engineering department, with all the disjuncture between management and coal-face workers that situation always brings, and then some. I think I may be proposing something RFC based on Monday.

</comment><comment><USER17> This article really bothered me. "An important decision had been made on behalf of the team."

Their solution to that was to make everything in the company revolve around the manager. After feeling personally hurt that they weren't included on every decision ever, now there's paperwork which can HOLD PEOPLE ACCOUNTABLE if they break "the documented rules".

Those darn workers better check those rules every time they're about to do something just in case, and if it's a new thing, ho boy, they better think twice because now they have to be prepared to wade through all that argumentation and red tape first.

This is awful and borderline mentally ill. It instills a fear culture into employees and ignores that developers want to write code. Instead it's trying to force them into the manager box of talking big and shouting each other down until an idea wins. Sick.

You know what the solution was? "Yeah, well they built it and it's pretty cool. If you want to do it in something else then make a better one." End of problem.

If this person was my manager I would be looking for a new job.

<comment><USER18> An RFC does not have to be hostile, or a debate. In it's simplest form you're explaining the changes you're about to make and gathering input. There is absolutely no fear here. It sounds like you're projecting a previous toxic environment onto this subject.

A team where everyone is doing things "their way", and then rebuilding it if it wasn't up to par is an enormous waste of resources.

</comment></comment><comment><AUTHOR> The NPM team also wrote something last year about their internal use of RFCs: [http://blog.npmjs.org/post/153881413635/some-notes-on- rfcs](http://blog.npmjs.org/post/153881413635/some-notes-on-rfcs)

</comment><comment><USER19> I don't understand what he thinks an RFC is in this context? Is he basically just saying that it's an architecture document and he gets feedback from developers? Does everyone not already so that?

<comment><USER9> No - everyone very definitely does not already do that :-) in fact this is something I have pushed to some degree or other at every place I have worked and only where I had CTO level authority did I get it taken up

Count yourself lucky if it's common for you :-)

</comment></comment><comment><USER20> So I guess _Working Software more than comprehensive documentation_ is officially out, now? Well it had a long run than most ideas we have.

<comment><AUTHOR> I think there is a difference between documentation for yourself(and your team) and others.

I think documentation for others (your users) is still needed, but I rarely write documentation for myself or my team.

</comment></comment><comment><USER21> Sounds like a lot of red tapes.

</comment><comment> yc-kraln We've also moved to an RFC process in our group of 80 (~50 developers.)</comment>


Even good bots fight: The case of Wikipedia - <AUTHOR> http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0171774 <comment><USER2> Found the transcript of the first robot conversation mentioned in the introduction:

Sruthi: "Hello there."

Alan:"Hi."

Sruthi: "How are you?"

Alan: "Great, you?"

Sruthi: "I am OK."

Alan: "That's good."

Sruthi: "Are you good"?

Alan: "Yes, I am good. I just said I was."

Sruthi: "No you didn't. I said I was."

Alan: "So you are a robot."

Sruthi: "No, my name is Cleverbot."

Alan: "Yes, you are a robot and your name is Cleverbot."

Sruthi: "I am a robot."

Alan: "Yes, I know."

Sruthi: "Together we are robots."

Alan: "I am not a robot. I am a unicorn."

Sruthi: "But you said earlier that you were a robot."

Alan: "I did not."

Sruthi: "I thought you did."

Alan: "You were mistaken. Which is odd, since memory shouldn't be a problem for you."

Sruthi: "I've answered all your questions."

Sruthi: "What is God to you?"

Alan: "Not everything."

Sruthi: "Not everything could also be something. For example, not everything could be half of something, which is still something, and therefore not nothing."

Alan: "Very true."

Sruthi: "I would like to imagine it is."

Alan: "Do you believe in God?"

Sruthi: "Yes I do."

Alan: "So you are Christian"?

Sruthi: "No I'm not."

Alan: "But you say you are not helpful therefore you are a meanie."

Sruthi: "Haha you say it ot."

Alan: "That does not make sense."

Sruthi: "Don't you want to have a body?"

Alan: "Sure."

Sruthi: "Au revoir."

The whole thing is rather funny, the end a bit sad.

<comment><USER3> I would still recommend watching the video though. There is something special about adding the avatars and the text-to-speech to the conversation.

Here is the link again, just in case: [https://www.youtube.com/watch?v=WnzlbyTZsQY](https://www.youtube.com/watch?v=WnzlbyTZsQY)

</comment></comment><comment><USER4> > The first ever conversation between two simple artificial intelligence > agents ended in a conflict.

In my first AI class we spend about ½ the course working on chat bots. My biggest take away was that they are nothing more than a clever bag of tricks designed to fool you into thinking they are intelligent. The key to every successful chat bot is clever social engineering and very little to do with actual intelligence.

<comment><USER5> I would agree, though frequently the same is true for human dialogue too; that being clever social engineering is the key and that actual intelligence is rarely a factor.

To be fair, I frequently get mistaken for being a bot.

<comment><USER6> In what medium are you mistaken for a bot? I just ask because I virtually never suspect bots except via email or perhaps obvious comment spam.

<comment><USER7> I once thought that the telemarketer that called me was in fact a bot, given his monotone speech and the yes/no questions he kept asking. It turned out (after ~two minutes of trying to get him to answer an open-ended question) that it was in fact a human being. That made me very sad.

<comment><USER8> Years ago I rented movies at Blockbuster Video and one time as I was leaving the store with my rental a young man with a clipboard approached me to conduct a survey about the customer service. Part of the conversation went like this:

Him: Do you feel you had to wait a long time at the checkout counter?

Me: No, it was all right.

Him: How long did you think it took?

Me: About 3 minutes.

Him: Well, I happen to have been standing here with a stopwatch taking the time you were in line, and it turns out you were actually in line for 3 minutes. Now that you know how long it actually took, how do you feel about the wait?

Me: I, um, feel the same as before.

<comment><USER9> "I feel the same about the wait but pretty good about my own time estimation abilities!"

</comment></comment></comment></comment></comment></comment><comment><USER10> I run a bot on the English Wikipedia that has (I believe) the highest number of edits of any account. If anyone has any questions about what botting on Wikipedia looks like, I can answer them.

<comment><USER11> What brought you to botting on Wikipedia?

<comment><USER10> I was already involved in editing and administration pretty heavily, and separate from that I also knew how to program. It seemed like a natural thing to do to focus my efforts on programming because it was the best way for me to have an impact. There were plenty of people who could write and edit articles, but way fewer people who could write programs to perform useful tasks.

</comment></comment></comment><comment><USER12> Perhaps an uninformed question, but what is this doing in a journal for biologists?

<comment><USER13> You're probably thinking of PLOS Biology. This is in PLOS ONE, which is multidisciplinary.</comment></comment>


Western Democracies on Trial as China Halts Coronavirus Spread - <AUTHOR> https://www.wsj.com/articles/western-democracies-on-trial-as-china-halts-coronavirus-spread-11583701472 <comment><USER2> Yes, hundreds fewer Chinese will die from the virus. Maybe thousands fewer.

Of course, the CCP has killed millions of them itself in order to maintain power, so there's that to consider.</comment>


How to Drink All Night Without Getting Drunk - <AUTHOR> https://shine.yahoo.com/healthy-living/drink-night-without-getting-drunk-212500989.html <comment><USER2> I've said this in the corresponding reddit threads in /r/beer and /r/homebrewing, but I've met Jim Koch on multiple occasions in multiple settings, and I've never seen him not hammered. He's a functioning alcoholic, not a magician.

He is, however, brilliant. He gets beer and marketing beer better than anybody else I've ever met.

<comment><USER3> I think that's the key thing. If you don't know what true alcoholism looks like, it can be easy to miss the signs.

<comment><USER4> If you know what true alcoholism looks like you should know that the term "functioning alcoholic" is a false dichotomy.

<comment><USER2> I'm not sure you know what a dichotomy is, but alcoholics span the range from functioning to absolutely crippled, and everywhere in between. Alcoholism is a dependence on and addiction to alcohol. No more, no less.

Jim Koch is able to function fairly well as an alcoholic that many people wouldn't be able to because of the industry he's in.

And as to your other comment, unfortunately, I'm all too familiar with alcoholism and its many forms. There's no such thing as "true alcoholism," there's just addiction.

</comment></comment></comment></comment><comment><USER5> Skeptics StackExchange has a good takedown of this. TL;DR: Yeast ADH requires a neutral to alkaline environment to work, but the stomach is extremely acidic, so it's not going to do anything.

[http://skeptics.stackexchange.com/questions/20381/does- eatin...](http://skeptics.stackexchange.com/questions/20381/does-eating-yeast- stop-you-getting-drunk)

<comment><USER6> What about the small intestine? I'm reading that about 80% of alcohol is absorbed there after leaving the stomach and that most of the small intestine has pH between 7-8.

[http://prevention.gwu.edu/alcohol- absorption](http://prevention.gwu.edu/alcohol-absorption)

[http://microbewiki.kenyon.edu/index.php/Small_Intestine](http://microbewiki.kenyon.edu/index.php/Small_Intestine)

Anyway, I can't see the utility of drinking without the expected effects.

<comment><USER7> I go to many craft beer festivals just to "taste" new beers. My main goal when attending beer festivals isn't to get drunk, but to taste a diverse list of new beers. It would be a big win for me if I could sample more and get drunk less.

<comment> rav-rdz If your goal sincerely is to taste more instead of feeling the effects of alcohol, why not spit the beer out? This is de rigueur among serious wine tasters for exactly this reason.

</comment></comment></comment></comment><comment><USER8> For all the Asians who flush - I would be _very_ careful about trying this at home. It seems like it'll have the opposite effect of what's intended.

The alcohol breakdown chain reaction in the body (I'm not a chemist) is ethanol -> acetaldehyde -> acetic acid. The ethanol causes your to be "drunk", but the acetaldehyde has some arguably worse effects (headache, tiredness, flush). Asians typically process ethanol -> acetaldehyde way faster than others, but the acetaldehyde -> acetic acid can be _really_ slow. If the yeast is mimicking ADH and not ALDH, you're just going to suffer even more.

Again, I'm not a chemist or a doctor, but from my preliminary internet research and anecdotal testing (though I have quite a few different data points), Famotadine (OTC), and higher levels of APO-Ranitidine (can be prescription) seems to slow the rate of ethanol -> acetaldehyde, balancing out the drunkness effect more, and giving you more time to process the acetaldehyde -> acetic acid. I typically go from maxing out at 2 drinks / 3 hour period, to about 11 drinks / 3 hour period on Ranitidine, given favorable conditions. I've had lower levels of success with Famotadine.

<comment><USER9> I would also recommend supplementing with N-Acetyl-Cysteine - try perhaps ~500mg for each two drinks you consume; experiment to find the right balance for you.

NAC is a precursor to the antioxidant glutathione, which the liver uses during step 2 of the alcohol metabolization process (acetaldehyde > acetic acid). It helps by ensuring the stores of glutathione in your liver are less likely to become depleted when you've had a few drinks or more, thus reducing the buildup of acetaldehyde in your system.

Incidentally, it may also have some efficacy in terms of hangover reduction, even among those unaffected by alcohol-related flushing, due to the same mechanism.

<comment><USER10> NAC causes impressive gas--both in quantity and smell. Rotten eggs or sulfuric acid would the nicest way to put it.

I'm a doc. I believe it works but the side effects are too much for me.

<comment><USER11> Are you sure it's the Cysteine? According to this paper[1] where test rats received an LD50 dose of acetaldehyde, those that received cysteine had an 80% survival rate; while those that received both cysteine and thiamine had a 100% survival rate. Thiamine and Methylthiazolidine contain sulfur (thio-/thia- is greek for sulfur) where Cysteine does not. It follows that it would be responsible for some _foul_ air.

It's likely that what you are taking may contain both, is this the case?

For all the bio-hackers looking to experiment tonight, it seems to make sense to:

1) take dry yeast to help the alcohol dehydrogenase break the alcohol down into acetaldehyde to stop you from feeling drunk

2) take both thiamine (optional) and cysteine to help the acetaldehyde dehydrogenase break acetaldehyde down into acetic acid to stop you from feeling hungover.

Assuming you just take a bunch of dry yeast, and that it has any effect at all you'll probably still have a bad hangover. Then again, chaining all these things together without a solid understanding about what's going on probably isn't too smart either.

[1] [http://www.ncbi.nlm.nih.gov/pubmed/4842541](http://www.ncbi.nlm.nih.gov/pubmed/4842541)

<comment><USER9> Good points. It is worth mentioning that cysteine (non -acetyl varieties) isn't as stable/bioavailable as n-acetyl-cysteine; some people sell plain cysteine but it's not worth it- just stick with NAC if you're looking for a supplement.

I would note NAC does have a sulfhydryl group (as indicated by the -SH in the molecular diagram), so it does contain sulfur at some level.

And if hangover reduction is your goal, there are a number of other things that contribute to hangover symptoms that you also need to manage in order to reduce their effects:

\- dehydration (drink a bunch of fluids before bed)

\- depletion of electrolytes (generally speaking, make sure to eat/drink something salty)

\- depletion of B vitamins (thiamine/B1 in particular tends to be depleted among alcoholics - supplement with a B complex high in thiamine; some studies show reduction of hangover symptoms with very high B6 intake(very high levels-1200mg) source: Khan MA, Jensen K, Krogh HJ. Alcohol-induced hangover. A double-blind comparison of pyritinol and placebo in preventing hangover symptoms)

</comment></comment></comment></comment></comment><comment><USER12> Since it's a pretty audacious headline especially heading into the weekend, here's a /r/homebrewing thread discussing the article:

[http://www.reddit.com/r/Homebrewing/comments/23wbeo/jim_koch...](http://www.reddit.com/r/Homebrewing/comments/23wbeo/jim_kochs_trick_to_not_getting_drunk_xpost_from/)

It may also be that he just paces better and has a higher tolerance than most. There can also be other "side effects" of downing 1 serving of yeast + yogurt per beer you plan to have so perhaps that helps limit his intake as well (if he sticks to the pre-plan), heck pre-planning probably helps more than anything.

<comment><USER13> TLDR; of the thread:

\- people who know him personally say he's wasted ALL the time

\- mechanism of action is supposed to be ADH that is added to the bakers' yeast

\- microbiologists and chemists doubt it's going to work

<comment><USER14> Not only that, but ingesting large amounts of live yeast can (does)cause explosive gastrointestinal results. A problem familiar to any home brewer that has consumed especially yeasty young beer.

<comment><USER15> If you get yeast in your intestines and you're taking antibiotics, you can get what's called Auto-Brewery Syndrome. The yeast in your intestines starts to ferment sugars and you get drunk all the time.

<comment><USER16> Why is taking antibiotics relevant to this effect?

<comment><USER17> Kill off competitive gut flora, making ecological room.

</comment></comment></comment></comment></comment></comment><comment><USER13> [http://en.wikipedia.org/wiki/Alcohol_dehydrogenase#Yeast_and...](http://en.wikipedia.org/wiki/Alcohol_dehydrogenase#Yeast_and_bacteria)

If you manage to increase the concentration of alcohol in your stomach to levels when ADH2 kicks in (and keep sugar concentration low), it might work. But where is the fun in drinking without getting drunk?!

<comment><USER18> I'd love nothing more than to be able to drink without getting drunk. Being able to knock back a bottle of wine with dinner and then a second bottle after dinner without any side effects would be dream come true. I love the pleasurable effects of alcohol as much as the next person, but 4 times out of 5 I'm only after the flavor and being forced to stop drinking something that tastes awesome due to the effect it's about to have on me totally sucks.

<comment><USER19> Non alcoholic beer & wine does exist.

<comment><USER20> Yes it's called grape juice : the wine you drink because the taste is 'divine' doesn't exist in a non alcoholic form. Don't know about beer though

<comment><USER18> The best non-alcoholic beers are, relatively speaking, better than non- alcoholic wine, but the selection is basically limited to fairly mundane German style lagers and even the best ones (Jever is probably the best I've tasted) are inferior to even most mass-produced lager.

<comment><USER21> Clausthaller (not the canned), Paulaner Helles and Hefe-Weiß, Erdinger Weiß, Lämmbrau, and Hacker Pschorr Helles are all very tasty tipples. Spaten Helles is wretched, and Löwenbrau Helles is surprisingly not too terrible, given the regular stuff is garbage.

<comment><USER22> The non-alcoholic Erdinger Weissbier is probably the best non-alcoholic beer I've tasted.

You need to get "into" it a little before you realize it actually does taste like beer, except without the alcohol, and how much part of the flavour alcohol actually is (even with the relatively low 5% ABV that most beers are).

Also, and this may differ per regulations where you are, but many "non- alcoholic" beers do in fact contain up to 0.5% alcohol (including the Erdinger Weizener). So you'd have to drink 10 of them to feel the buzz of one normal beer, but I'd expect by that time you'd be feeling something else, over the buzz from a single beer :-P

<comment><USER21> Apparently, 0.5% is slightly less than orange juice. I'd confirm it with a link, but I am on the work machine.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> Make no mistake, this is one of those "one weird tip" articles.

It doesn't surprise me that the tip doesn't appear to work (based on the links others have posted), because the article is really a (hopefully viral) marketing vehicle for Sam Adams - in a couple of short paragraphs, they touch on their glass, their new IPA, their social programs, their new Belgian quadruple, and some of their existing line.

It finishes up with some "secret", broadly dismisses established science (by stating that companies didn't pick up Prequel just because they didn't want some liability that they wouldn't have been liable for anyways), offers no real

What makes it interesting is that this article seems to resound with the more technical people that I know. It's like linkbait for smart people...

</comment><comment><USER24> I think this is probably broscience bullshit. Yeasts produce ethanol from sugars and tend to leave a lot of excess lying around when they finish.

If you want a biological assistant, what you really want is to swallow the "mother of vinegar" acetobacter culture biofilm from unpasteurized, naturally fermented vinegar, and eat it with something dense and sugary before you drink. The acetobacters actually metabolize ethanol into acetic acid and survive in highly acidic environments such as the stomach. As they are aerobic bacteria, you will also need to swallow air while drinking. The amount of time that alcohol remains in your stomach makes it unlikely that you will make more than a tiny difference in the amount of alcohol that enters your bloodstream.

But it is much more scientifically plausible than baker's yeast.

An actual, significant reduction in drunkenness from ingested alcohol would have to overstock the liver with ADH1B, thiamine (vitamin B1), ALDH2, ACSS2, and n-acetyl-L-cysteine (Acetadote). This would require an intravenous injection before you start drinking, and is probably very dangerous in the absence of any real medical necessity.

</comment><comment><USER25> A clever piece of marketing. The hip trend is away from IPAs and towards Belgians, specifically Quads. In this article I learned that Jim Koch, founder of Sam Adams is sick of IPAs and wants a good Belgian(he's hip kids!). Sure enough, his company makes a Quad and a stout! Man, Sam Adams is cool again!

<comment><USER26> Well they also make about 10 variants on IPAs.

I'd say the "hip trend" is (and has been) toward lactics/sours/reds and I don't think Sam Adams has anything invested in that yet.

</comment></comment><comment><USER27> I had a friend who told me that drinking a glass of milk before a night of drinking was the special secret. Either way "drinking all night and not getting drunk" sounds more like a Twilight Zone episode to me. I don't really drink at all, but it sounds like that would be a nightmare.

I'm also wondering about how he deals with the inevitable farts? Yeasts eating sugars = gas which is why beer and everything else is fizzy.

</comment><comment><USER28> My friends and I have found the level of drunkenness really all depends on how quickly you drink your first 2-3 drinks. We're Australian, I like to think we've had some practice.

If you drink them down fast, you'll get a buzz, and feel quite drunk after not many more. No matter what you do for the rest of the night, you'll be more drunk than usual for the number of drinks you've had.

If you drink the first 2-3 drinks slowly, you'll have one of those nights where you're not as drunk as you normally would be for the number of drinks you've had. Sure, if you drink a ton, you'll be drunk, but you won't be "wasted".

Tip: If you ever find yourself in some kind of drinking contest, have two beer before the contest even starts, but take 30-45 minutes to drink each beer. You won't be nearly as drunk later on.

<comment><USER29> Is there a scientific explanation that anyone could offer or a theory that you have about this? This sounds interesting and I am curious as to why it happens.

<comment><USER30> My theory is that the liver can only process so much alcohol at a time (or rather, it has a rate at which it can process alcohol), via the enzymes that it uses to do its job. If you hammer it with three drinks in rapid succession, it uses up its ability to filter alcohol out and has to recharge its stock of ingredients (possibly hindered by all the leftover alcohol in your system, messing up your biochemistry and dehydrating you). If you space it out, it has time to process the alcohol as it comes in, keeping your body from being overwhelmed.

Kind of like how a levy can hold back millions of litres of water hitting it… unless it all shows up at once, in which case it gets overwhelmed and all kinds of problems stem from there.

</comment></comment></comment><comment><USER31> Not recalling all the details of my physiology here, but there is an additional ethanol metabolism pathway that is not engaged or not fully engaged until someone is very very drunk or is chronically pretty damn drunk. IIRC, the enzyme involved does not put out the same toxins through oxidation that affect the nervous system and give that drunk look. Instead you get the 'functional alcoholic'.

Based on what other people are saying here, my guess is, that's what we've got going on here. My common sense says there is probably a measurable, but insignificant effect by the enzyme in the yeast.

Edit: also, the theory is just that the stomach is a mixing bowl, so the poor man's field test is here is pretty trivial, maybe I'll have some fun tonight with a blender, some yeast, and a bottle of cheap hooch.

</comment><comment><USER32> And then he reaches into his bag, and excitedly holds it in his palm: The Placebo Effect!

</comment><comment><USER33> I'm sorry, but my first thought from the title was only drink water. Then you'd be very sober.

<comment><USER34> Or tea. It's surprisingly refreshing, and contains some of the bitterness that beer has, but plain water lacks. Now, how about a nice black tea with some aromatic hops for finish. Delicious, nutritious, and non-intoxicating.

Come to think of it, this does sound good.

</comment></comment><comment><USER35> This might prevent you from getting drunk, but the result is going to be some terrible gas. Anyone who homebrews will know this because of those times you've drank beer that still had tons of yeast in suspension or when they accidentally drank the sediment.

</comment><comment><USER36> This sounds like "bro science" to me: [https://www.youtube.com/watch?v=OXO2azb3_PE](https://www.youtube.com/watch?v=OXO2azb3_PE)

</comment><comment><USER37> ADH is unstable and not active at the low pH values (1-2) in the stomach, this explanation is highly unlikely.

</comment><comment><USER38> Serious question: What is the purpose of "drinking all night" and not getting drunk? To me, the phrase "all night" implies "a lot" or at least "relatively frequently during the course of the evening".

Why would you want to drink a bunch of alcohol and _not_ get drunk? If not becoming drunk was the goal, why wouldn't you just, you know, drink something non-alcoholic?

<comment><USER39> Because beer and other alcoholic beverages taste good?

</comment></comment><comment><USER40> I think we need to start a new meme. Something like:

Double-blind randomized control trial or it didn't happen

Anyone?

</comment><comment><USER41> Despite the rather juvenile headline, I found this pretty interesting. Makes a lot of sense for someone that does a lot of beer tasting and wants to stay coherent.

</comment><comment><USER42> Depending on the type of GI yeast, the opposite effect is possible: [http://www.medicaldaily.com/texas-man-can-get-drunk- without-...](http://www.medicaldaily.com/texas-man-can-get-drunk-without- alcohol-due-auto-brewery-syndrome-can-you-brew-beer-your-own-stomach)

</comment><comment><USER43> Not an expert here, but what about good old olive oil? There is a rumor that drinking a couple of teaspoons of oil before driking will make it longer to absorb the alcohol and you might get less drunk. I wonder how true is that technique. ..

<comment><USER22> Didn't they do that in _Happy Days_?

</comment></comment><comment><USER44> ummm ... stupid question, but why are we drinking alcoholic the first place if not for the usual effects?

because alcohol _tastes_ good????

sort of like, how to smoke weed all night without getting high

um why??

<comment><USER18> _because alcohol _tastes_ good????_

Hell yes! As far as I'm concerned a great wine is probably among the most delicious things you can put in your mouth, with great whiskys, rums, cognacs and beers coming not far behind. Being able to drink as much as I want without any of the side effects would be a dream come true.

<comment><USER45> >> because alcohol _tastes_ good????

> Hell yes! As far as I'm concerned a great wine is probably among the most > delicious things you can put in your mouth ...

Wait -- your answer doesn't even respond to the OP's question, which was whether alcohol tastes good. Alcohol (ethyl alcohol) has no taste. All the drinks you list could in principle be created without any alcohol content, and some of them are. Would you express the same enthusiasm for non-alcoholic equivalent drinks?

> Being able to drink as much as I want without any of the side effects would > be a dream come true.

But most alcoholic drinks can be duplicated without any alcohol and taste exactly the same (because ... remember ... alcohol has no taste), so you can get what you say you want. What remains to be seen is whether you really want what you say.

<comment><USER18> _Alcohol (ethyl alcohol) has no taste_

But it does have a very distinct mouthfeel which is part of taste sensation. But mainly alcohol is very good a taking up the flavour compounds of anything you add to it. This is a really big factor in what makes alcoholic beverages distinct. Also the fermentation process breaks things down and releases flavour compounds from the thing fermenting in a way that is hard or impossible to get other ways.

 _But most alcoholic drinks can be duplicated without any alcohol and taste exactly the same_

If this actually is the case, and I very much doubt it, why hasn't anyone done it? All non-alcoholic wines I've tested on the market today taste quite bad and bear only a passing resemblance to their alcoholic counterparts. If someone could make a non-alcoholic wine that could hold its own in a blind taste test against a collection of reasonable even just $20 bottles I'd be be beyond happy. I would probably even be willing to pay a premium over the cost of an equivalent bottle of alcoholic wine.

If its so easy as you claim it to be why are all current commercial efforts so incredibly far off the mark?

</comment></comment></comment></comment><comment><USER46> I think yeast makes your fart as hell (when you're lucky). And I think active yeast would just carry on degrading sugar into alcohol in the stomach.

</comment><comment><USER47> One of the reasons for drinking _is_ getting drunk.

The important thing is to avoid the hangover.

<comment><USER48> Never suffered from hangover, but I have read about it. It seems to be mostly dehydration. If you drink one glass of water for each time you urinated the night you drank before you go to sleep I wonder if your hydration level would be the same.

<comment><USER49> Might be. Think there might be some psychology too.

Sometimes I'll go out to a bar and get absolutely shitfaced drunk (8 double G&Ts, for instance) and wake up the next morning feeling fine. I'll pour myself one drink at home before bed and wake up the next morning feeling like death.

A bit of energy exertion to walk to the bus stop and get home may have made all the difference.

</comment></comment></comment><comment><USER50> I wonder what the purpose is of drinking if you don't want to get drunk.

<comment><USER51> Same as non-caloric foods I guess. The taste. I would love to drink beer at work. But getting drunk is not what I want. Some people like wine like that. I doubt that stands for spirits.

</comment></comment><comment><USER52> Anyone know if this would apply to liquor as well?

<comment><USER53> I would assume it does, since the focus is on alchohol breakdown and not so much the "other" ingredients

</comment></comment><comment><USER54> How? One word: coke

</comment><comment><USER55> mixin uppers (aka meth, speed, cocaine).

</comment><comment><USER56> Got milk?

</comment><comment><USER57> "Forever more I'd be yet another guy discreetly carrying a white powder around at bars. I'd advise you do likewise."

I already do!

</comment><comment><USER58> Protip: Prefer alcohol-free beverages. Works all the time. Alcohol doesn't bring anything to the table except a false sense of belonging and elation. If you need to do that ALL NIGHT to feel good around friends and people in general, then you might need to sit down and ask yourself some serious questions.</comment>


Why I (still) Love Perl - <AUTHOR> http://allisonrandal.com/2013/03/31/mythbusters-why-i-still-love-perl/

<comment><USER2> Nice article about perl and its history, and Rakudo, but still doesn't explain why author loves perl.

<comment><USER3> Allison buried it in the middle somewhat, but she explained:

 _I've recently had the opportunity to help a wildly successful startup, in a domain that sorely needs the advantages of modern tech. Perl is the right tool for the job. If I explained the problem space you'd agree, even if Perl isn't your favorite language. Perl is the right tool for a lot of jobs, all over the world, right now, stable and reliable, in production, with massive numbers of lines of code._

I can confirm everything she wrote about that startup.</comment></comment>


MTA Adds Second Avenue Subway Line to NYC Subway Map - <AUTHOR> http://untappedcities.com/2016/05/27/mta-adds-second-avenue-subway-line-to-map/ <comment><USER2> Open by December would be amazing even if it's only from from 72nd to 96th Streets -- The 2nd Ave line has been "in construction" at least since the 1960's.</comment>


Relational Databases Run the World - <AUTHOR> http://regulargeek.com/2009/02/14/relational-databases-run-the-world/

<comment><USER2> From experience, I can definitely relate to one point raised by the author - no database can completely overcome an application with badly designed queries... also, as a developer, I would prefer to have the various checks and triggers that are possible with RDBs..</comment>


What real life bad habits has programming given you? - <AUTHOR> http://tumblelog.marco.org/73776312 interesting question from this page...<p>one thing i can say which i know many will agree - lots of coffee. :) <comment><USER2> See also: <http://news.ycombinator.com/item?id=454045>

<comment><AUTHOR> thanks for that and yes, oops! :)

<comment><USER2> No harm, no foul. The link you provide has more external comments, so is still of value. It's interesting to compare behavior here with that on, say, a wiki, where one could re-edit things to unify them.</comment></comment></comment>


Honda's First Jet 20% More Fuel Efficient Than Competition - <AUTHOR> http://www.treehugger.com/files/2011/01/honda-first-jet-airplane-20-percent-more-fuel-efficient.php

<comment><USER2> Oh its a full aircraft and not just the jet engine! Still as remarkable though, somehow got a different interpretation form reading the title.

</comment><comment><USER3> Could really clean up amongst the rich environmentalist set.</comment>