The economics of the Internet backbone (2004) [pdf] - <AUTHOR> https://ideas.repec.org/p/net/wpaper/0423.html <comment><USER2> Anything written about this in 2004 is going to be woefully out of date, with huge growth in traffic from CDNs and things like Netflix, YouTube and major companies like google establishing pops near large IXes to peer.

Mid sized ASN here, traffic patterns and ratio of paid transit to peering is very different these days. Also transport and transit costs are dramatically different.

Don't rely on anything this PDF says to get an idea of how ISPs handle peering, transit and layer 2 exchanges in 2016/2017.

This article is so old it talks about MAEs... Jeez.

<comment><USER3> Agreed. If there was an up-to-date version of this document I'd be really interested in reading it. I am continuously fascinated with the infrastructure etc. of the internet.

<comment><USER2> To a certain extent the people who have a really firm grasp on the layer 1 through 3 topologies of the Internet, as it relates to business, contractual, transit, peering, IX, CDN, L2 inter-city transport relationships between ISPs don't want to write a comprehensive guide to this...

If you have a mid sized ISP and the persons who make the final contractual/purchasing decisions on transport circuits, colo space, router equipment purchases have comprehensive knowldge of this, and detailed knowledge/GIS data for the OSI layer 1 network topology of the geographical area in which they operate, it provides a huge competitive advantage over other competing ISPs in the same area.

If you look at CAIDA's ASRank tool, some of those top-100 ranked ASNs in North America leveraged their senior neteng and management's knowledge to make shrewd business decisions regarding how/where to build their network. Conversely the less successful ISPs waste capex and network engineering time and resources extending their network in ways that don't have the same ROI.

</comment></comment></comment><comment><USER4> > The Economics of the Internet Backbone

> [by] Nicholas Economides

What a singularly great name for an economist.

<comment><USER5> Nominative determinism in action? See [https://en.wikipedia.org/wiki/Nominative_determinism](https://en.wikipedia.org/wiki/Nominative_determinism) ;)</comment></comment>


Amazon rumored to be prepping a subscription video service - <AUTHOR> http://arstechnica.com/media/news/2010/08/amazon-rumored-to-be-prepping-a-subscription-video-service.ars

<comment><USER2> No doubt this is true.

Amazon has been quietly building a decent movie rental streaming service.

It's player app is now built into major brand devices (Sony, Samsung, Tivo, Roku, etc) and expanding fast.

Instead of aquiring NFLX per rumors they're positioned to make a real go at it themselves by subsidizing rather than dropping the $5 - 6B for Netflix.

Bottom line it's going to be an epic Apple, Amazon, Netflix battle.

Although if neither Amazon or Apple picks up Netflix seems like a pretty spot- on aquisiton for Google to boost their new Google TV .

</comment><comment><USER3> They already have a video on demand service. It is an abysmal failure so hopefully they are replacing it. A "video subscription service" sounds more like Netflix.

Here's the old VOD service:

[http://www.amazon.com/gp/help/customer/display.html/ref=hp_l...](http://www.amazon.com/gp/help/customer/display.html/ref=hp_lnav_dyn?ie=UTF8&nodeId=3757)

<comment><USER4> What makes you think it's a failure? I know tons of people that use it with Roku boxes and IP connected TVs for catching up on old seasons of shows. Most people have combined it with Netflix to get a pretty ro bust movie service it makes a ton of sense for them to try to grab some of the Netflix share.

<comment><USER3> Well much like you I relied on empirical information. I don't know anybody who uses it or who is likely to even knows that it exists.</comment></comment></comment>


Ask HN: What would an ideal online learning platform look like?  - <AUTHOR>

Imagine you have limitless money and can create an ideal online learning site. What would it look like? How would it work? What features/tools (e.g., grade book, discussion posts, wiki).) would it include? How might it disrupt our current educational model?
Think about any online learning experiences that you have had. Common experiences may include: reading comments on HN, editing posts on Wikipedia, watching educational videos, or taking online classes using a learning management system like Blackboard. What features have stood out to you as particularly helpful? Why?
We at www.nixty.com are working on building our own ideal learning platform. I'm reading Jarvis' What Would Google Do? And figured I'd post the question to HN. As always, thanks for making this a great community and for helping us think through things. <comment><USER3> My high school had amazing math textbooks. The books had been written by the faculty over the course of many years. Each page consisted of 10-12 word problems and nothing else. There would be no explanation, no section introductions, nothing but problems.

The problems were designed to be just hard enough that you could solve them by making a little bit of a leap from your previous knowledge. After solving a series of leading questions, you would make one last leap, solve a problem, and the book would tell you: "Congratulations, you have just derived the Law of Cosines!"

Because the difficulty was set just right - not too hard, not too easy - <USER2> math homework was like playing a game of Sudoku. ( well, the difficulty was right for me, students who had less aptitude for math tended to hate the books). Also, because you learned by figuring out things as you went, the knowledge stuck the first time. No tedious drills or memorization were ever required.

If I was to design the perfect online education system, it would be like those books. No reading and memorization, just problems designed to be in the sweet spot between boring and frustrating. Online you have the big advantage that you can dynamically adjust the difficult level of the problems. This would actually solve the major problem with the textbooks.

The textbooks are all online here: <http://www.exeter.edu/academics/84_9408.aspx>

If I was creating an online learning site, I would try and license the material from them. Then I would put the problems online, make the difficulty dynamic, add hints and helpers for tough problems, etc.

<comment><USER4> Wow, looking at the website, this looks like an amazing school.

<comment><USER5> Yes, it's one of the best private schools in the nation.

</comment></comment></comment><comment><USER6> Books. Even in the USA, classrooms are starved of just _books_. Not to mention the third world.

Okay, if it has to be some gee-whiz techno-thingy, then a Kindle which is about as cheap as an iPod shuffle. Which reads aloud and can automatically adjust to your reading level, suggesting new books as you go.

I think we need to look at some new economic models for teaching. Maybe a school could simply garnish 5% of every dollar a student makes above, say, 75% of the median wage, for 10 years. That gives the school some guaranteed income and the incentive to teach students economically useful skills, quickly.

Also, new reasons to learn and new ways to learn.

The main problem with educational software today is that the administration buys it and it serves their purposes, not the students'. This is an exactly analogous situation with corporate IT software buying. Except it's even worse because the administration is a quasi-branch of the government.

Out with the state curriculum and the bureaucrats. In with selling education to the people being educated. Education _for its own sake_. If that means we develop a course in rap lyrics, we'll give you rap lyrics. But we'll also discuss the history of martial poetry too, from the Greeks onwards. We're also going to discuss rhetoric, the mathematics of periodicity, rhythm, and the Nyquist theorem of sampling. If you want to learn how to read the Bible better, we'll do that too, and that way we can bring in practically everything in English literature after the King James Version.

Graduating from a grade should be like getting a belt in martial arts. Something you do at your own pace and a test you take at your own initiative (with parental prompting too). The difference between slow students and fast students is usually something like 33-50%. So if someone needs two years to master algebra, let them TAKE two years. It's not a race for fuck's sake.

Education should be interwoven with doing actually useful things. I think pg is right on the money that kids are mainly disconnected from society because we go to great lengths to disconnect them. Drug dealers know that at least some 14-year-olds can be trusted with limited responsibilities; so would it really be so terrible to have kids doing some jobs in a more positive working environment?

Let's put education in unusual places, with the people who need it and are motivated to learn. Undocumented workers are where I would start. We already know these people are ambitious, hardworking, and habituated to risk.

<comment><USER7> Your approach to teaching a curriculum that is custom tailored to an individual's goals is one of those things that makes so much sense in retrospect, but at the same time an approach I have never seen discussed.

Here we have this vast repository of most the world's knowledge, all indexable and cross-referencable, and for the first time in history we have the chance to deliver content in a highly personalized way. All we're missing is that last 10% - a way to aggregate and properly present that data.

<comment><USER6> I suspect that last 10% will be as easy as writing the last 10% of a software project.

Personally, I don't see any software solution here. It's going to have to be teaching by teachers, just organized differently. I'd be happy to be wrong.

</comment></comment></comment><comment><USER8> Perhaps you should contact me off-forum for the long answer. As president of a statewide parent organization for the families of gifted children, I've had occasion to read reviews of, write reviews of, and recommend a great variety of online learning experiences for parents who want to go beyond what is offered by their local school system. My oldest son is an alumnus of distance learning courses from the Center for Talent Development (affiliated with Northwestern University, and I think a Blackboard client), Johns Hopkins University Center for Talented Youth, and Stanford's Education Program for Gifted Youth (EPGY). He is now enrolled in the EPGY Online High School

<http://epgy.stanford.edu/ohs/>

which has been rolling out implementation of eCollege and PowerSchool for various aspects of school communication to students and parents.

Two very crucial things that the part of the market I know still has to get right is

a) building student online communities in a way that encourages emotional and social growth of the students,

and

b) adaptive placement in courses so that able learners can reach a high challenge level and master lots of new materials. Most online courses are too easy and too dumbed-down for the learners I know best.

See my profile for how to reach me for follow-up.

</comment><comment><USER9> It needs to be free. An online "college" is a joke in the eyes of the world, so you shouldn't even try to compete in that segment by trying to charge money.

You should instead focus on teaching people the subjects. Think of it as a secondary tool that students could use to learn the material on their own. I'd focus mainly on problems, I think thats the only way you actually learn anything but doing examples.

You also should make it competitive, have different rankings and achievements etc that the students can strive for. i.e. Algebra Level I, Level II, etc. Each level would have a different set of questions, that get harder and harder.

Then let users challenge each other i.e glen vs mike - Algebra III. The users would compete to finish the 10 questions, and the winner would be either the person who got the most answers right, or if its a tie, the person with the fastest answers. Give different point values for tests based on how hard they are.

Then help users further, by letting users offer tutoring services. And to compare, the users would be able to see profiles, and see what type of achievements the "tutor" achieved.

But this is mostly just brain storming off the top of my head

<comment><AUTHOR> Vaksel, I like what you are saying here. So, for example, let's say I've got a course in Algebra Level I. I can then create a test in which they pass at 80% and gain proficiency at 90%.80% = basic knowledge; 90% = proficiency; 98% = mastery. Their level could then show up on their profile. Is that accurate? If not through a test, then how would you assess the knowledge level?

Also, would you embed these tests/levels in courses or would you make them separate? I guess you could do both. One person could work through the course if they wanted a more comprehensive understanding and another person could simply test-out of it by passing the test.

<comment><USER9> Yeah, pretty much I think a course should be doing a set number of problems, working through each step, and explaining what each step does.

I'd probably let them start out with the final, and use that as an evaluation. If they achieve the 80% give them the option to move on to Algebra II or to go through the walkthrough to brush up on their skills and retake the test.

Use that first final to find what the user will have problems with, and adjust the walkthrough based on where the user has problems.

This way the person can blaze through the easy stuff like Algebra and Geometry

</comment></comment></comment><comment><USER10> Since as long as I can remember, my work and fun has been programming languages and learning foreign languages. Recently, I am building my ideal language learning site. So its pretty focused on tools for learning foreign languages which I think is fairly different from being a general learning platform. I think that really the fastest way to learn a language is live in the area that speaks that language, but everyone can't do that, so I'm trying to build a community where people can practice reading,writing,speaking, and listening in the langauge they are targeting. It is a work in progress and still not where I want it to be in terms of features. You can check it out at <http://sanbit.com> . I used Blackboard a bit during college, but I don't even really know what it does. Whatever you build, I think to create value, it should help both teachers and students save time, when I used blackboard a few years ago, it seemed for of a hassle rather than actually help me, but maybe we weren't using it to its fullest potential.

<comment><AUTHOR> Toisanji, nice work! I like the layout of the home site. Tells you what it is and how to use it. You are using a lot of different techniques to promote language learning. Have you found any that are more effective than others?

</comment></comment><comment><USER11> Blackboard is awful I have one class that is based almost entirely in it and that class is one of the most annoying because of the website. First it is separated into 20 sections on the side, most of which I do not even use. Another issue if I'm using linux with all the prerequesites I fail the browser check and it tells me to try Firefox3... which I'm using because of the lack of support for other operating systems I almost missed an assignment as it did not attach my document.

Another Issue that really bothers me is the grades, you cannot sort them in any way there is no relative dating just however the teacher enters it in and most don't really care how they enter it, at the very least I'd like to be able to see my total points or perhaps even a comparison between my grade and the average grade, something all my other classes give is averages of large assignments/tests.

The main thing I would like would be something like a simple editor as default and a html editor that actually accepts html code such as bold and paragraphs.

An interface that didn't use massive amounts of javascript to fetch each page would be awesome too but that might be asking a lot.

Id like sections that aren't in use such as calendar or announcements or data kind of things to be unavailable if the teacher has not posted anything in them.

Another good thing would be a way for teachers to change .doc into pages too many times have I seen bullets and numbered lists just copy pasted into a document to lose all formatting.

Thats a lot of what I hate but probably hard to do and not feasable.

<comment><AUTHOR> Buugs, thanks for the review of BB. Yeah, it definitely has some major limitations. I'm with you on the ability to convert documents into Web pages. I think that'd be a great addition.

</comment></comment><comment><USER12> I've had online classes that were (essentially) normal classes, just online. Classes were set for a specific time, Lectures, notes, files were broadcast and shared via Adobe's Breeze software (its name changed.. can't remember what to). Classes were still held on campus, but I was unable to make most of the classes. It was one of my better online learning experiences.

I guess this example is better thought of as a web-enhanced course rather than fully online,though.

</comment><comment><USER13> <http://www.google.com/></comment>


Ask HN: I'm a junior C++ programmer looking for part-time remote job - <AUTHOR>

I'm looking for C++ experience and am willing to program your app cheaply. I'm somewhat familiar with Qt, Boost and some *SQL libraries.
I have nothing to show at the moment on my github page C++-wise but have written a poker client (Texas Hold'em only) and a simple chat client/server.
Maybe it's completely unrealistic to find jobs that fits my profile but I really want to move into the C++ space in a few years time. <comment><USER2> You sound like you might still in college or recently graduated. I would give you my suggestion for whatever it's worth.

People use C++ mostly for two reasons: 1. Performance 2. Legacy code. If you want to be in C++ space in a few years, you really want to know how to write code that's fast. To make a program fast, you have to at least have a basic understanding of hardware and parallelism. Look at Martin Thompson's blog "Mechanical Sympathy" and listen to his talk "It's all a numbers game " at last year's GOTO conference and see if these materials interests you.If not, you might be better off not solely focusing on C++.

</comment><comment><USER3> I find it surprising that a junior programmer would want to master C++ and I can only encourage you to do it.

Mastering modern C++ will make it easy to learn other languages and idioms and it will give you a tool to produce efficient code that can run in a vast range of platforms and architectures.

Personally I have more fun with visual projects such as games ( check out SDL or SFML for 2D game libraries, or Unreal and others for 3D ), interactive installations ( take a peek at Ogre 3D, Cinder or openframeworks ) and audio and video processing, but you might have different interests.

Good luck!

<comment><AUTHOR> Thank you!

</comment></comment><comment><USER4> C++ jobs are quite rare in REMOTE space. If you're in USA, you might have bit more chances (all those US-only remote jobs...).

I'm constantly seeking good C++ remote gigs (from Europe). Also, due to pragmatic reasons, besides other things, you might consider Golang/back-end development - there is quite a lot of remote Go jobs out there, and I personally prefer using it over java/ruby/python/etc...

<comment><AUTHOR> I'm in Europe in fact. Just out of curiosity, where do you find all those US- only remote jobs? I haven't found any. (I realize I won't get them because I'm in Europe, but anyway... :-) ) Currently doing backend work in Python. Where do you find these Go jobs?

Thanks

<comment><USER4> Go jobs: [http://www.golangprojects.com/](http://www.golangprojects.com/)

As for US-only remotes - Actually, a vast majority of remote jobs from US companies are US-only, from my experience. This trend is as well becoming popular in UK (UK-only remotes). As for the places - HN job postings, SO, WFH.io, WeWorkRemotely.

Oh, and stay away from oDesk, Freelancer, Elance, etc race-to-the-bottom places.

</comment></comment></comment><comment><USER5> Other languages are more in demand than C++. You'll have an easier time with something else.

I have a lot of C++ experience, but I've been taking jobs in other languages because the demand for C++ isn't there.

<comment><USER6> I've seen a lot of c++ jobs in the finance sector in NYC

<comment><USER7> > I've seen a lot of c++ jobs in the finance sector in NYC

Fast + Legacy = Finance

But based on complaints I hear here in Zurich, the OP would never become qualified learning C++ part time to be the local expert directing offshore junior engineers.

If you want to compete with people who will have more hours of experience then choose a playing field with a reduced instruction set so you will also have had adequate hours with everything and you will only lose out against the minority who continue mastering the subject instead of just getting good enough.

C++ is the wrong direction for someone with a life because it rewards almost every hour of learning equally (or equally poorly depending on your opinions and futures predictions.)

<comment><AUTHOR> Are you working at a bank as a developer in Zurich?

<comment><USER7> No, I just live in Zurich. The past products I worked on were mostly for banks so I still pay a little more attention to what developers from banks and finance groups say when I run into them.

Personally, I am a long time C developer but I simply ignore any postings with "C/C++" and no longer use C very much when I have an option to use a language that is easier to find alone in job listings.

If you are serious about C++ part time then I would suggest something rather write-only in a small group. For example, I did consider learning some OpenMP and working with research scientists. That is a nicer situation since most groups end up using a reasonably small dialect to stay focused on the task and you probably wont waste limited experience time reviewing arbitrarily bad code that misuses esoteric features. But that is exactly why it doesn't adequately prepare you for situations like Banks or make you a "C++ Developer" instead of a good programmer who happens to be using C++.

</comment></comment></comment></comment></comment><comment><USER8> You may check with [https://news.ycombinator.com/item?id=2772398](https://news.ycombinator.com/item?id=2772398)

</comment><comment><USER9> How does one contact you to discuss your offer?

<comment><AUTHOR> Do you use Skype?</comment></comment>


Ask HN: Downvoting - <AUTHOR>

After having a previous account banned following a "bad" comment on a single thread that led to about 10 downvotes because it went against the grain, I'd like to see if there's any consideration of removing downvoting from HN in order to encourage debate while keeping upvoting and flagging intact.
I ask because following that incident I will no longer be presenting dissenting views here, irrespective of perceived value.
What does HN think about removing downvoting? <comment><USER2> I would be interested in knowing how much of your description is deduction on your part, and how much is received fact from definitive sources. I would be interested in knowing how and why your comment was deemed "bad."

I don't know of any definitive cases where someone made a comment that was appropriate, got vast numbers of down-votes, and then got banned because of it. I know of many people who have complained about being banned, only to discover that it wasn't the case.

I do know of many people who present dissenting views, but present them carefully and constructively, and who do not attract down-votes because of their comments. They work hard to get people to think first, and not to react with a jerk of the knee (so to speak). It is possible. I've seen it. It's not easy, and I suspect not everyone can do it.

In short, it's unclear that your beliefs about the situation are accurate - there are many ways to get these things wrong. I'm not saying you are wrong, I'm just saying that your view about down-votes may not be accurate.

And no, I don't think down-votes should be removed, although I frequently don't understand how they are being used.

<comment><USER3> I'll give you one example. Recently, someone posted a link to the new update for Python 2.7.2. At the time, on the python website itself, it stated that this was not a production release and specifically said something along the lines of upgrade at your own risk (I quoted it word for word from the site).

I then made a personal statement saying "I guess I won't be upgrading". I felt that it may help those who didn't scan the page and may miss the quote. And the specific comment I made was one about me, that affects only me reflecting the statement I quoted off the python site. I started getting downvotes for no apparent reason (at least none that I could see reasonably). To avoid it, I just deleted the comment.

If others felt like they didn't care, they were more than welcome to download 2.7.2. I never said anything about why people shouldn't have downloaded it. All I wrote was literally what I just said above.

For the record, it now looks like the site has been updated to reflect that it is a full production release.

<comment><USER2> Here's one way to think about it, based purely on what you've said. I didn't see your comment, so I don't know for sure:

Did you say anything unobvious? You quoted from the site that they declared it not to be a production release, and you said "OK - not for me." (I paraphrase)

We can easily deduce that, as it's not a production release, then not everyone will want it. Fine. What did your comment really add? It was a personal, conversational, largely content-free, throw-away observation.

This isn't a criticism, I'm merely trying to present a way of thinking that makes it less unreasonable for people to have down-voted a comment.

HN was always intended to be unlike other sites, strongly encouraging meaty content, strongly discouraging light and fluffy comments and submissions. It's been drifting away from that, so people are starting to feel that there's more space for conversational-like comments. There is something of a back-lash from some of the older hands who remember what it was like. Or what they think they remember it was like. More content, less conversation. Discussion, not throw- away remarks.

<comment><USER3> I can see what you mean and I do understand that vantage point of view. However, I think downvoting something just because it doesn't necessarily add obvious value (which is relative) to the conversation is a mistake. Maybe it's just me but I would think it would make people more hesitant to speak freely just because others may perceive no value from it and getting downvoted as a result. It's very different than downvoting something because it's wrong (like 2+2 is not 5) or because the behavior was unacceptable.

<comment><USER4> As the grandparent says, this is a purposeful decision in this community. There's a goal of encouraging useful conversation, not just conversation. I do a lot less posting than I might otherwise and I make sure my comments have content before posting them. This hesitation helps ensure that I'm providing value, not just rambling opinion. Having an online community built around presenting value really is a feature, not a bug.

</comment></comment></comment></comment></comment><comment><USER5> People don't downvote dissenting views. They downvote comments that lack value to the discussion.

<comment><USER2> That was once the case, but I think it's no longer true. Of late I've seen relevant and constructive comments down-voted, and I've been able to discern no reason other than the view expressed was an unpopular one.

If there's a mechanism to indicate a comment is inappropriate, people will use it to indicate disapproval.

If there's no mechanism to indicate a comment is inappropriate, inappropriate and off-topic will abound.

Removing down-votes might help, but I doubt it.

<comment><USER6> Time and time again, Slashdot's voting system shows that it's superior to these simple up/down voting systems. Not all up votes are equal, nor are all down votes simply because you disagree with the content.

<comment><USER2> I, and I'm sure many others here also, am unfamiliar with SlashDot's system. Could you point to a summary? Perhaps simply edit your comment to include one.

Thanks.

<comment><USER7> "Randomly selected moderators assign points of either −1 or +1 to each comment, based on whether the comment is perceived as either normal, offtopic, insightful, redundant, interesting, or troll (among others)."(Wikipedia)

Interesting approach...

</comment></comment></comment></comment></comment><comment><USER8> People on HN are way too keen to downvoting. Down votes should be used to filter out bad/thoughtless comments, not viewpoints that don't necessarily agree with yours. I've seen a lot of valuable input grayed out on this site.

<comment><USER3> I agree except bad/thoughtless can be subjective.

<comment><USER4> What's wrong with people making subjective judgments about the work of others in a community they share? You have to have a certain level of karma to down vote, which means (theoretically) you have to have done things that created sufficient value for at least some people and hopefully learned about what the existing group values.

<comment><USER3> Getting total karma count isn't difficult. People whose been around long enough will eventually accummulate the number needed if they interact in any way at all

</comment></comment></comment></comment><comment><USER9> I'd like to see it disappear, personally. The really bad comments tend to sink to the bottom of the page anyway and increasingly downvoting is being used capriciously and vindictively to ding opinions people just don't happen to agree with.

<comment><USER3> I agree with this. It irks me a bit that people would downvote simply because they have a different view. Sometimes completely unwarranted when the view or opinion does not affect the outcome of the thread or conversation.

I would rather have downvoting removed completely as well.

</comment></comment><comment><USER10> Downvoting is used often for dissenting views nowadays. Personally, I don't care that much if my comments are downvoted. This is just another forum on the internet. I'd rather voice my opinion and get downvoted than not voice my opinion at all.

That being said, I'd like to see the downvoting be removed.

Go ahead and downvote my comment.

<comment><USER2> From <http://ycombinator.com/newsguidelines.html>

        In Comments

        ...

        Please don't bait other users by inviting them
        to downmod you.

<comment><USER10> Irony is dead.

<comment><USER2> Did you not perceive the irony in my comment? I guess it was more post-ironic or meta-irony - bit tricky to detect.

</comment></comment></comment></comment><comment><USER11> _I ask because following that incident I will no longer be presenting dissenting views here, irrespective of perceived value._

Having a positive points value is more important to you than interesting debate? Boy do you have your priorities backwards. Don't let a downvote stop you from posting your ideas, that's ridiculous.

</comment><comment><USER12> How about a limited amount of down-votes allocated to each member to dish out? Possibly tiered based on karma level? Perhaps a member that down-votes a comment loses karma if the comment is then up-voted by other members (ie deemed an unfair down-vote by others)?

<comment><USER13> The only problem here is that you are assuming only one point of view is correct. So if I down vote you because I believe what you are saying is wrong but a lot of supporters of your view up vote then I will be punished for having a discenting (or at least less popular) view.

Is this what you had in mind?

<comment><USER14> Therein lies the the problem though. It seems to be the general consensus that people _should_ down vote only for unhelpful / irrelevant / factually incorrect comments, however voting _is_ used to show agreement / disagreement. Before voting, I usually ask myself why I'm doing this. If it's to promote an opinion, I leave it alone.

<comment><USER12> Exactly. Down-voting is not to show disagreement, it's to cull comments that don't contribute to the discussion. What I'm proposing would hopefully make people question their motives before down-voting.

</comment></comment></comment></comment><comment><USER15> Perhaps it's also about _how_ you present a view. Using words such as "perhaps" and "consider" allow people to more easily receive the thought that you are attempting to convey.

</comment><comment><USER16> _I ask because following that incident I will no longer be presenting dissenting views here, irrespective of perceived value._

Presenting a dissenting opinion is an art form. It takes practice. I do a lot of it. I never really fit in anywhere I go. An awful lot of my views do not fit into whatever the 'typical' assumptions are on a topic and this means that no matter what I say, both sides often wind up kicking the crap out of me.

Some tips, should you decide you would like to try again:

Don't be argumentative about it. Present your views as a standing-on-your-own- two-feet position, not a shooting-down-the-opposition thing.

Show some respect -- agree to disagree, make no attempt to "win people over", much less "win".

Stick to the issues. When you dissent, inevitably there will be enormous social pressure swirling around your lack of going along to get along. Anyone who speaks to you will likely try to put all kinds of crap on you about what they think you are saying. Politely clarify, as many times as it takes.

Judge the timing and context carefully. There is a time and place to offer an alternate point of view. There are other times and places where it's so not worth it.

Word your dissent very carefully. If your goal is to get people to really think and not just punch buttons, like it or not, the burden is on the minority voice to make an effort to communicate effectively. If you are going along with the majority opinion, you can express yourself sloppily and people won't care. But when stating a minority opinion, you must be extra careful to work at communicating effectively and intentionally avoid punching people's buttons so as to have some hope of actually being heard.

</comment><comment><USER17> Am I missing something? Isn't one way to fix downvoting to make them subtractive for both parties?

<comment><USER2> Then if something is on-topic but content-free, why would I bother to flag it? How do I get rewarded for doing the right thing? Why should I not just leave it to someone else?

The idea is to reward correct behavior, whereas your suggestion punishes it.

<comment><USER17> Yeah, you're probably right. I was hoping for the simple solution, but came up short. I can say that I personally wouldn't mind sacrificing my own karma to downvote someone who really deserves it.

</comment></comment></comment><comment><USER18> How do you even downvote, do you need a certain level of karma?

<comment><USER19> Yes, you need some amount of karma. This was 200 at one point, but I seem to recall that it's ~500 now.

</comment></comment><comment><USER20> In the grand scheme of things, why on Earth do you care if an account was down-voted?

Personally, I see this as a bad sign that people in general are very immature and do not have an adult grasp on reality. People who care about getting 'down-voted' frighten me.

Comment trolled perhaps? It's hard to say. ColinWright: are you really this bored with life?

I like to contribute, but really.. I don't care what people thing of my comments, they are just comments on a random website.

<comment><USER21> This comment would be more persuasive if it weren't coming from a newly- created account.</comment></comment>


The Rise and Demise of RSS - <AUTHOR> https://motherboard.vice.com/en_us/article/a3mm4z/the-rise-and-demise-of-rss <comment><USER2> RSS was one of the few other 'killer apps' of the net after Email but for so many weird circumstances and reasons suffered a demise</comment>


Best Comments | Hacker News - <AUTHOR> https://news.ycombinator.com/bestcomments

<comment><AUTHOR> The "Best Comments" link under Lists ([https://news.ycombinator.com/lists](https://news.ycombinator.com/lists)) at the bottom of each page is a easy summary of the sorts of comments that HN admires. It's also another way to browse the site when you are tired of trudging through the "New Links" pages ([https://news.ycombinator.com/newest](https://news.ycombinator.com/newest)).

It's nice to see a lot of solid substance and not much fluff. There's a mix of long and short comments, but encouragingly, no one-line quips, memes, or put- downs that I saw. There's always a lot of chance involved, but if you are wondering how to craft the sort of comments people want to see, this might be a good list to pattern after.</comment>


Does Chlorine Dioxide Cure Covid19? - <AUTHOR> https://youtu.be/pKeBipgDQss <comment><USER2> Remember: Don't try this at home!!!

Disclaimer: I'm sure this is snake oil, but I'll try to give a comment as neutral as possible. But don't take it as endorsement. And if you see some hidden bias, you are right.

ClO2 is very similar to bleach/chlorine, but weaker. Chlorine can be used as a good disinfectant outside the body, an you can take a small amount. (In many places tap water contains a small amount, or you can add a few drops of bleach to avoid some illness. Only one or two drops per liter.) I guess ClO2 is also useful as a disinfectant outside the body, but I really doubt it is useful inside the body.

The problem is that the ClO2 is an oxidant, but it will react indiscriminately against the first thing it finds. (Exactly like bleach/chlorine.) It is fine to clean a table, or some equipment, because some materials don't react too much and it will cause burns the virus, bacteria, and even a bug or another unlucky thing that is there.

In the body it will react with whatever it encounters, like sugar or normal proteins, antioxidants or whatever it finds first. If the idea is that you drink ClO2, it goes to the guts, then to the blood, and then to the lungs, then the chance that the ClO2 will survive all that trip and then reach the virus is tiny.

The antivirals drugs are drugs that don't react with everything. The virus are very small and you are big, so if they are not specific they will react with you instead of the virus. Some of the antiviral drugs bind with a part of the virus. Some bind with the part of your body where the virus attach. Some are slightly broken versions of normal molecules, that are ignored by your body but confuses the virus.

Anyway, hand waving is not enough, the important thing are clinical trials. He claims that he has been proposing this for a few decades and that it is useful to treat similar coronavirus in other animals. Is there any study with a randomized control group published in a journal with peer review about ClO2 as a cure for any illness?

Even for animals, if it works in dogs and cats it may work in humans. There is nothing specific in ClO2 about humans. It is much easy to make a study with rats than with humans, because there are less ethical problems.

Most of the context info in the video is right. But I'm worried that the important details are wrong, very wrong.

<comment><AUTHOR> its already used in drinking water and for packing meat

but most of all is curing 100% of the covid patients that use it

the only problem: is not patentable so not real profit can be made</comment></comment>


Solitude and Leadership - <AUTHOR> http://theamericanscholar.org/solitude-and-leadership/ <comment><USER2> This is a great article which I reread occasionally so I'm happy to see it posted to HN. That said, the one thing that always bothers me about is I don't really know the leadership credentials of the author. His blurb at the bottom says:

> _"William Deresiewicz is an essayist and critic. His book, A Jane Austen > Education: How Six Novels Taught Me About Love, Friendship, and the Things > That Really Matter, was published in April."_

and Wikipedia doesn't offer much in addition.

The advice seems reasonable, but I'm not sure if it's actually true. Have any respected leaders agreed with it? I know this talk was given at West Point, so it seems like that's an affirmation of its value, but does that mean it was read ahead of time and that's why he was brought in? What does Deresiewicz know about leadership?

</comment><comment> UK-AL I hate it when people think leadership is getting a grades or going to the best schools. Despite what institutions say it is hard to teach leadership. You can't pass a course module on leadership and become leader, nor will getting a in maths make you leader.

Leaders emerge in groups as and when they are needed. There will often be the natural leader, and the guy with authority. Most institutions don't like that idea. The natural leader is not always the guy with best education, it is not always the guy who has gone through a leadership program, it is not always the guy with the commission, it is not always the guy with huge amount of extra- circulars(which he joined on purpose to gain a leadership role...)

It is the guy with the vision, and the ability to get people to rally around him. This sometimes causes huge conflicts in hierarchies, with an enlisted commanding the hearts, minds and actions as opposed to a commissioned officer which they follow because of fear.

It's why I find it funny when elite institutions seem to imply they have a magical ingredient that makes people into leaders, they don't. They dispense authority not leadership and that's why people HAVE to follow them. It is self-fulfilling really. They fast track people into senior positions. Since they are in a senior position it sounds as if they have leadership ability, when really someone else could of been just as good in that position without necessarily having been to that elite institution. It was being in a senior position that made people listen, and not because of leadership skills.

When people say stuff like naturing the best students because they going to be the future leaders I face-palm. I'm good at maths and cs, but that doesn't really qualify me for leadership but for some reason it qualifies me to apply for a commission to 'lead' men... When those men themselves may have been better applicants for the leadership role.

Leadership to me is the ex-prisoner who reforms and becomes a social entrepreneur and transforms his community. It is the guy who builds an organisation that gets disenfranchised youth on the right track. These people have undisputed leadership skills. They have no amount of conferred authority, and yet they built organisations from nothing and people follow them. People follow them not because of a Army commission or a Yale degree or whatever but because they want to. For some reason they just emerged, and they're not always the best academically.

I have seen organisations try to replicate natural leadership like the ones I mentioned. I have seen company graduate schemes that tell people to go out and start a charity for blind people, raise money for the orphanage or something. However being told to do it by your boss kind of eliminates the point...

Because your recruiting from ivy league universities, it does not mean your getting leaders.</comment>


The Startup Trying to Replace Congress With Software Is Running Two Candidates - <AUTHOR> http://motherboard.vice.com/read/the-startup-trying-to-replace-congress-with-software-has-two-candidates-running

<comment><USER2> When democracy was implemented, representation was _the_ technology to use. There was no consideration for the citizen to actively participate in the decision making process because there was no means that allowed for it. The option was never on the table.

They/we might have been a bit slow at times, democratic governments always tried to use the best technology available. Before the internet there was television, before television there was radio. The later 2 [at least] gave us top down communication. The voter could, all of a sudden, stay informed in real time. This was a big deal. We made huge progress right there.

We have internet now, we are obligated to use this to improve our democratic system.

It looks like it today (at least to me) but the reason we have representatives was not because we are to stupid to mow our own lawn. On the contrary, democracy assumes the voter to be competent. Would we not be competent enough to vote on specific things it automatically follows that we are not competent enough to vote at all.

We are the first generation to use representation as an excuse not to get involved.

Our politicians are suppose to guess what we want. Some end up choosing something that makes them rich. Not much of a coincidence there? It might be possible in theory for a representative to represent your interests better than you. But it isn't likely or even a believable scenario.</comment>


Writing Cloud Functions - <AUTHOR> https://cloud.google.com/functions/writing <comment><USER3> At Cronitor we've just finished building out lambda infrastructure for a fan- out where I would otherwise use a worker application and supervisord. Some of this is lambda specific but I think it might be interesting nevertheless.

Lambda has a lot of strengths, and it gives you solid primitives like immutable versions, version aliases/pointers and stateless functions. The problem I had was that it didn't give me any more than that. Here are just a few of the things we had figure out and then build ourselves:

1\. The development workflow. How can I get a REPL workflow going that doesn't make me go crazy.

2\. Deploys and Rollbacks. How can we safely deploy and rollback, especially in cases where you have the same lambda function in multiple regions and each region is at a different published version (because the version number is monotonically incrementing)

3\. Permissions and Policies. The broad strokes are clear. But you want your S3 bucket or SNS topic to trigger lambda? Get ready to spend an hour trying to figure out what you've done wrong and what's missing from the vague directions. Hope you get that REPL flow solid first. In the end, we built several scripts (create_build, publish_version, promote_to_prod, etc) and we use these directly during development and from a Fabric-based deploy script. When I have time I plan to release this tooling open-source.

If I had to do it all over again, I wouldn't. And I wouldn't use Cloud Functions. I would just use a t2.small instances with a simple worker.

<comment><USER4> My biggest issue is that (unless I'm missing something obvious), there's no way to add any configuration to the lambda. If I want different queues to do (slightly) different things, then I either need different code upload for each of them, or the parameter to be sent on the queue.

I could not find any place where I can tell it - this is the code, this lambda uses it with N=5, that lambda uses it with N=42.

<comment><USER5> I've spoken to an Amazon rep about this.

The best approaches they were able to suggest were:

      * Lookup config from dynamo db when the lambda runs
      * Lookup config from S3 when the lambda runs
      * Bake config into the artifacts

You can read the name of the alias you're currently running as from the context data, and use this as a key into some external system.

Not ideal.

<comment><USER6> Suboptimal ;-). This is a common request, and we're looking at options for a config feature that's independent of the code payload. Tweet or email me detailed suggestions/asks for it: @timallenwagner or timwagne at amazon.com.

<comment><USER4> Why not inject it to `context` parameter in some variable with known name? As long as the field is exposed to CF and in the panel, it should be all we need.

</comment></comment></comment></comment></comment><comment><USER7> As usual, they leave out all the really important details. Who cares if you can run hello world "in the cloud".

Some questions if anyone at Google knows:

\- What are the CPU, memory and disk limitations? Lambda has caps on all three (5 min, 1 GB, and 512 MB last time I checked). \- Pricing? \- Native module support? And if so, what platform to target when creating our build scripts? Possible to download npm modules with pre-build binaries?

</comment><comment><USER8> built my new project using AWS Lambda. Serverless. It's fucking awesome.

\- html and js files hosted on s3

\- api gateway talking to dynamodb

\- no servers and worries about scaling.

The only downside thing is that it's truly tough to figure out how to point your domain to s3. I followed everything and DNS is okay too yet the domain never resolves. Tested with route53 and after 1 month of trying gave up and using digitalocean's DNS manager.

I implemented a token based HTTP Api, a fully functional Angular.js app that talks to it. Allow user to register, change passwords, login, create a blog.

It definitely requires new type of thinking: throwing shit out. Seriously, I've built apps with Flask, Node.js, variety of PHP frameworks on Apache, Nginx, Java Web applications and I think that a serverless architecture blows everything out of the water.

It's nice to know there's not a server anywhere. All of the HTTP requests are sent to AWS, and AWS runs a script that modifies or does things to the dynamodb. It feels me with so much excitement. I've yet to stress test it but I expect it to be highly scalable as AWS ramps things up.

However, I don't think I will be using AppEngine because I'm so used to AWS now it feels like a lot of cost to switch over to Google....I'm afraid AppEngine is another Google+ moment.

Guys, I really think serverless architecture is the way to go, and is the future!

<comment><USER9> A nitpick: Calling AWS Lambda serverless is like when Salesforce called their software "no software" (back when SaaS was new). It's a nice marketing message but don't you think we're a bit above it here at HN? Of course there's a server, just not a Linux VM that you need to sysadmin by hand.

I mean, really how much is Lambda more serverless than Heroku has been for years?

<comment><USER10> I disagree.

With Lambda, you're not getting a server. No OS setup, no ip-tables, no weird compile errors, and no 5am pagers. You're paying for code to run.

With Salesforce, you're not getting software. No installation, no packaging, no purchasing updates. You're paying for your team to centralize information.

While I despise Salesforce for many reasons, it was a game-changer in the way enterprises thought about cloud software. GP's point was a similar mental shift in how we write that software.

<comment><USER11> I don't think "not getting a server" is enough justification. With Gmail I don't get a server, but nobody calls it "serverless email". A server is still involved.

It seems like an ill-fitting adjective even in a vacuum, but what's worse is that "serverless" is commonly used to describe something that runs entirely client-side (e.g. p2p).

Just because AWS Lambda is a "mental shift" doesn't mean that "serverless" is a good way to describe it.

<comment><USER12> Server-less is probably nomenclature that needs to be phased out like "Application Service Provider" or "CORBA." It focuses too much upon the implementation rather than the value. The value of not having a "server" in most cases is that you don't have to operationally manage a new host and incur all the cost of ownership of managing more infrastructure that does not directly add value to your business. Perhaps if you're pretty efficient it is better to take this on yourself, but for most companies the trend is accelerating against infrastructure management since most companies are decidedly not experts in managing compute, storage, and networks - I've seen a lot of places in the Fortune 500 and they are inefficient and ineffective at managing their IT as a rule because IT is a cost center normally.

As for a better term, perhaps operationally-opaque or "pure service" are starting points? Service is correlated with stronger federation while p2p is decentralized as a rule. I'd rather avoid SOA which does not say anything about whether you have to manage the operations or dependencies - nobody is calling microservices as "server-less" after all. When people in companies talk about a "services" company they mean that the labor and overhead of management are all outsourced and as a customer you don't really care about how they operate as long as they don't violate certain OLAs and SLAs. AWS can run Lambda on marmot-based computing on Mars for all I care as long as it meets certain specs. Services compete on cost, SLAs (features are part of SLAs), and OLAs, period.

</comment></comment></comment></comment></comment><comment><USER13> I am glad AWS lambda is getting rivals, when I gave my talk about AWS lambda last fall only a third of the room had tried out lambda, a lot of people were making funny noises, lamenting the lack of this or that functionality (200/500, tests etc). This competition will only make Lambda stronger or weaker. Altho last time I tried to use one of 'Google Cloud' products (Pub/Sub) it it took 2 hours and got nowhere (auth issues for days) before going to AWS SQS and 5 minutes later I was already testing a hello world - <USER2> I hope this new product wont stink as much!

<comment><USER14> Google Cloud Pub/Sub engineer here. We will be delighted to discuss this with you. E-mail email@example.com

</comment></comment><comment><USER15> I don't really get this - it says you can use any npm dependency as well as access loca data. What do they mean by local data? Is there any persistency library for this e.g. to access a cloud sql database or a google big table instance?

<comment><USER16> I haven't actually tried it out yet (about to) , but just by reading the instructions on deploying, it looks like you stage your code in a GCS bucket or on a Git repository (Google Cloud Source), so I think your local data would refer to any files in that bucket/repository along with your code.

*edit note: looks like you can definitely add more files via the package.json and import them as node modules, but I wouldn't rely on reading and writing from the file system.

As for persistency, if it's just Javascript code you can install node modules to accomplish what you want including talking to those cloud APIs. Unfortunately Bigtable might be the exception since I'm not sure if there's a good nodejs client yet (Bigtable only supports gRPC, not REST), but you could use Cloud Datastore instead.

Firebase will also be a very popular choice for persistence. Cloud Functions naturally complements Firebase to complete Backend-as-a-Service. The hope of Firebase is you don't need a server at all, but sometimes you have logic that really doesn't belong on a client (background jobs, "master" logic). Cloud Functions can fill in those gaps.

Firebase: [https://www.firebase.com/](https://www.firebase.com/)

hand-rolled clients nodejs clients for google cloud apis: [https://github.com/GoogleCloudPlatform/gcloud- node](https://github.com/GoogleCloudPlatform/gcloud-node)

auto-generated nodejs clients for google apis: [https://github.com/google/google-api-nodejs- client](https://github.com/google/google-api-nodejs-client)

disclosure: work for GCP

<comment><USER15> So the local data comment implies the file system is writable? Or is it read only? After a bad experience with Google cloud end points I think I'll give this a mess - especially as Amazon have (what at first glance) seems a much mature and feature complete offering with lambda.

I wasn't aware of those libraries for accessing Google cloud sql - so thanks for those.

<comment><USER16> I agree the docs could use some improvements.

After playing around with it, I'm not sure if the filesystem works, which makes sense given you just have a bucket or repo underneath and the code can be called at unpredictable times. You can, however, add additional javascript files via the package.json and import them, so if you can express your data as JSON or base64, you're good to go. Maybe there is a way to add other types of resources via the package.json but I haven't figured it out yet.

Generally you would interact with Cloud SQL using a regular node MySQL library, since it's just managed MySQL. The API would only be used to automate creating and setting up the CloudSQL instance.

</comment></comment></comment></comment><comment><USER17> You know what I would like right now.

Give me something that competes with Heroku.

But with more noSql Databases like RETHINKDB and CHEAPER noSQL DB

and CHEAPER SSL per month for non-wildcard

<comment><USER18> > Give me something that competes with Heroku.

It's not 100% apples to apples, but Google Container Engine (hosted Kubernetes) is young but already outstanding if you are comfortable with Docker. If not, nevermind me.

</comment></comment><comment><USER19> Btw. has anyone built some high traffic service using AWS Lambda or friends? By high traffic I mean at least 100 requests / second.

I see some people using it for small use cases and it worked fine. In particular "I need to run this tiny integration function somewhere". However, I would be really careful to do something that has huge traffic.

<comment><USER20> I know someone who has, but I'm not sure if I'm allowed to say who. They're a really big site and you'd probably know the name, but they're doing 1000's of requests per second.

But other than them I don't know of anyone else.

My company is built totally on Lambda, but we haven't launched yet.

</comment></comment><comment><USER21> This is interesting because of Google's suite of consumer products. Imagine being able to run logic via events which get triggered when you receive an email, a file is added to drive or someone is detected in a photo.

Not that I care to have that level of introspection into my data but it opens up some interesting opportunities.

<comment><USER14> Google Apps Script has had this functionality for years. [https://developers.google.com/apps- script/guides/triggers/](https://developers.google.com/apps- script/guides/triggers/)

Disclaimer: I work for Google.

</comment></comment><comment><USER22> Anyone know which version of NodeJS they're using? AWS is stuck on node v0.10.36. Fortunately, it's easy to use babel to transpile back to it.

<comment><USER23> I only tried using [https://cloud.google.com/nodejs/](https://cloud.google.com/nodejs/) and it supports any official version available in the site that you indicate in the "engines" field. Tried 5.6 (App Engine) and it worked.

[https://docs.npmjs.com/files/package.json#engines](https://docs.npmjs.com/files/package.json#engines)

</comment></comment><comment><USER24> Where is the pricing for this API? I tried googling around and could find nothing. I can easily find this for Lambda but if I would consider this a competitor I would need to be able to compare pricing.

<comment><USER25> Probably free while in alpha.

</comment></comment><comment><USER26> What node.js version does this run? Site doesn't say.

<comment><USER23> I only tried using [https://cloud.google.com/nodejs/](https://cloud.google.com/nodejs/) and it supports any official version available in the site that you indicate in the "engines" field. Tried 5.6 (App Engine) and it worked. [https://docs.npmjs.com/files/package.json#engines](https://docs.npmjs.com/files/package.json#engines)

</comment></comment><comment><USER27> What are some good use cases for this or aws lambda?

I.E. when would you use this over a plain old simple appengine app

<comment><USER28> An AWS lambda function powers this Twitter account: [https://twitter.com/actdigstream](https://twitter.com/actdigstream)

Considering that the lambda function was pretty easy to write, free to run, and very portable: why would an Appengine app be better?

</comment></comment><comment><USER29> What about execution isolation? Any info?

<comment><USER23> My guess: it runs on a NodeJS container along with your other "functions".

<comment><USER29> In my own VM, or share a VM with others?

</comment></comment></comment><comment><USER30> really nodejs ?? well done Google

<comment><USER31> what's wrong with nodejs?

<comment><USER32> Because .js.

I think the general argument is this. Javascript is a necessary evil, but serverside, it isn't. Please, let us use something saner, or at least give us the option to do so.

Javascript seems to be spreading into areas javascript has no business of being in, ("node.js on microcontrollers? what?"), and that is a bit disconcerting.

Granted, I'm fairly new to Javascript, but even the good stuff seems like piecing together sane abstractions from wonky components. It's the horror you'd feel if a nuclear reactor operator told you they get the components to go subcritical by grounding that bare wire next to their coffee cup. Does it work? Yes. Abusing function scope and closures to make variables private? Write a function that checks whether a variable is an array because typeof malfunctions? Does it work? Yes.

But then, is it sensible engineering? And even if you've gotten good enough at javascript that the gotchas simply seem kinky to you, do you really need it in every other area of your life?

I'm also be a little bit concerned that javascript will swallow everything else, and then the only way to program is to engage in a kinky whipfest, and whilst as a German I enjoy a good kinky whipfest, it's really something for after work.

<comment><USER33> It's not sensible if you're principled about your technology choices, but if you just want to whip something up quickly and all you have are "full stack" developers, Node gives them the ability to use just one language for everything, as well as a pretty high performance runtime. So the value is there, given those constraints, which may or may not apply to you.

<comment><USER32> It does make sense in that context, but even then it seems like a dangerous choice to make depending on your development culture, especially if it only pays the minimums on technical debt. Javascript seems like the payday loan of technical debt.

I think the fear and distrust towards it stems from the perception that it is on its way to become the lingua franca of development, and the expense of other much more suitable programming languages. That seems like a terrible idea.

</comment></comment></comment></comment></comment><comment><USER25> Amazon leads and everybody else - copies! There can't be a better ad for AWS than this!

<comment><USER34> Hmm I think someone else had "Cloud Functions" before AWS had lambda...

<comment><USER25> Amazon made it mainstream, Google saw how popular it became and copied it. I'm not having negative feelings about Google - I just have highly positive ones about Amazon.

<comment><USER35> How does lambda differ from something like google app engine ?</comment></comment></comment></comment>


Hacking Head Tags for Speed and Profit - <AUTHOR> http://www.nateberkopec.com/2015/10/21/hacking-head-tags-for-speed-and-profit.html <comment><USER2> Interesting reading, but this threw me a little:

>meta tag This is probably the most common option. [...] If you do this, it's important that it's the very first element in the head.

...and a bit later on:

>If you're going to specify a viewport size, do it at the very top of the head.

@nateberkopec and other people much smarter than I: which is it?

Edit x2: clarity.

<comment><USER3> Character encoding, then viewport tag.

Really, the viewport tag just needs to be before any CSS - external or inlined.

<comment><USER2> Got it - thank you for clarifying.

</comment></comment></comment><comment><USER4> >If you're specifying X-UA-Compatible and the value is just "IE=edge", that's unnecessary. Remove it.

Unless your IT department has deployed IE7 emulation mode via GPO for SharePoint. Then you need it to make sure your page doesn't explode

<comment><USER3> When I was writing about this, I didn't think the intranet case was so common. I may have underestimated that.

EDIT: Updated the article to mention intranets.

</comment></comment><comment><USER5> > Concatenate all of your site's stylesheets and scripts into one file each.

You can use something like Google Tag Manager to bundle scripts together. It is not suitable for every case, however, such as tags that need to be loaded synchronously (I believe).

<comment><USER6> i hate, hate, hate, hate google tag manager

show me a google analytics setup with seriously screwed numbers, and i show you a site which loads GA via google tag manager..

people tend to think that they can bundle all the third party crap into their webpages with google tag manager and that there would not be any costs (to the project, to the user). this is wrong, google tag manager adds a whole new level of abstractions and issues.

my tip: reduce third party crap that you don't need. implement them async into your code. regularly remove crap that you don't use.

<comment><USER3> That's too bad. I really like the concept of Google Tag Manager.

Are there are any "tag bundlers" that work? It seems like such a great idea.

</comment></comment></comment><comment><USER7> >> TCP isn't really designed for short bursts.

Isn't that what connection keep-alive is for?

<comment><USER3> Absolutely, that helps. But that doesn't help you if your page needs to make requests across 20 different domains.

<comment><USER7> Oh, yeah. This is why I don't use CDNs.

</comment></comment></comment><comment><USER8> >If you're specifying X-UA-Compatible and the value is just "IE=edge", that's unnecessary. Remove it.

No.

<comment><USER3> Man, this bit has gotten me flak everywhere. Here's what I think.

99.5% of websites that use this tag - it does nothing. Internet Explorer users don't set their own Compatibility View settings, so we can ignore that. Second, if you're cool enough to be on Microsoft's Compatibility View list, you're cool enough to know that you need an X-UA-Compatible tag and you know what it should be set to.

The problem I have is people blindly copy-pasting this value from whatever HTML5 boilerplate they got it from. I'm going to rephrase this section of the post to make my point more clear.

EDIT: Toned down my phrasing in the article to be more specific about when you can safely remove X-UA-Compatible tags. Yes, there's an argument that it doesn't cost you anything to keep it in there, but there's also arguments for ultra-short head tags (<4 KB) related to TCP windows, which I'll get into in another post.

<comment><USER8> Been a while since i browsed HN, anyway.

It's good that you updated it, because I've had SO MANY issues with this with clients in the Dutch oil & gas industry, users working on IE and having their mode set to IE 7 to work with some rediculously ancient application. Adding the tag can save you a lot of time.</comment></comment></comment>


Coding with gumption - <AUTHOR> http://robertheaton.com/2013/03/11/coding-with-gumption/ <comment><USER2> _"A person filled with gumption doesn't sit around dissipating and stewing about things. He's at the front of the train of his own awareness, watching to see what's up the track and meeting it when it comes. That's gumption."_

I'm not sure I understand what this means. It sounds to me like _gumption_ is a lack of foresight and planning. As I get older this sort of state is ever more difficult to achieve. And for the most part I avoid it.

I used to tackle problems by opening up my editor and getting some code in there as soon as possible. Before I had even fully considered the problem and its base cases I was throwing code at my compiler/interpreter and working out mistakes as I went. I could spend hours like this without being interrupted or missing a beat. I've come to believe that some people call this, "flow." I call it, "shotgun programming."

These days I find myself spending more time writing notes and thinking about the problem before I put my hands on a keyboard. I know the base cases before I begin to think about how to implement the solution and I write tests for them before anything else. In the end I write far less code than I used to and fix fewer bugs. But I never really feel like I am in the flow or programming with _gumption_.

How else can one avoid, "gumption traps?" I guess I've left one too many assembly rods on the shop floor over the years to be bothered to rush into it.

<comment><USER3> Isn't your method of working exactly what he described in the entire essay? By being in front, he means getting into the careful, thoughtful work instead of the fake-thoughtful work of obsessing over which library to start using, staring at code without actually thinking about it, etc.

<comment><USER2> I thought perhaps it might be but the traps he discusses near the end don't seem to agree.

Careful planning and consideration would have avoided the mistake of forgetting the rod in the first place. The engine analogy is weak but in software you'd write the checks and balances into your process so that you couldn't forget the rod (good design principles, automated software testing).

Perhaps it was also the wording in the opening paragraphs which threw me off the most. I often find myself drifting off into space while I whittle away the problem in my head. Then I get down to the base cases, tests, and once I am satisfied I will begin writing code. The doesn't sound to me like like being at the front of anything.

I think I get the _gist_ of it but I just wasn't clear one way or the other which way the author was leaning.

</comment></comment></comment><comment><USER4> I read "The Art of Motorcycle Maintenance" and Gumption was the thing that stuck with me the most as well. I'm glad you picked up on the same point I did. I think Gumption is just the act of applied inspiration. Much the same how 37 Signals says "Inspiration is perishable", for me; Gumption is the day to day. It is taking the inspiration and the clarity and acting on it.

</comment><comment><USER5> Gumption seems related to the idea of flow from the book of the same name. Being aware of your state of mind and staying totally focused on the task at hand enables you to truly enjoy your work. I think it's time to read Zen.

</comment><comment><USER6> I had to read Zen for a operations research course in college. I hated that book, but I do remember the professor beating over our heads this idea of gumption.

<comment><USER7> That sounds like the worst possible book to read in a classroom! I can barely imagine how furious Pirsig would be if he were pondering that happening.

I loved the book, for the record.

</comment></comment><comment><USER8> "To create code you will require expertise; this is readily available on StackOverflow. But without gumption, there can be no code or product." Perfect.

<comment><USER9> I'm beginning to wonder: is it possible to write inspirational, motivational prose without making ridiculously false and insulting statements?

The author has clearly not found a way.

</comment></comment><comment><USER10> I think I've read ZatAoMM 3 times, admittedly the last time was >8 years ago. I didn't even remember "Gumption", it certainly did not seem to be a major theme of the book. It is very interesting to see other people's insights into a book especially when they're so divergent from your own. I guess I should read ZatAoMM and Lila again. :)

<comment><USER11> Gumption is what I remember the most about ZMM. The way I read it, the concept of Gumption felt like the backbone on which the rest of the book is built. That and "Kulturbearer". :-)

</comment></comment><comment><USER12> There's a ton from that book that applies to coding. Highly recommended.

</comment><comment><USER13> Great post! Guess I'll have to include a section on Gumption in my book. Thanks for the idea.

Anyway, I have now heard about the zen of motorcycle maintenance so often, I'm starting to think I should read it even though I have no motorcycle, no workshop and as much practical skills as Clarkson.

But I did once sew on a button. I was very proud.

<comment><USER10> It isn't really about motorcycle maintenance. Pirsig uses that as a common example in various places throughout the book. Its actually a philosophical novel, the subtitle is "An Inquiry into Values"

His later work Lila - is similarly subtitled "An Inquiry into Morals"

I highly recommend them both.

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

<http://en.wikipedia.org/wiki/Lila:_An_Inquiry_into_Morals>

<comment><USER14> I wonder if people still read it or if it's mostly something for people who were alive in the 70s?

<comment><USER15> I just tried to read it, and had to quit when it started spouting all the pseudo religious advice as fact, and as a replacement for scientific inquiry.

But that's just my opinion.

</comment></comment></comment></comment><comment><USER16> What a great great post. Sorry, no witty comments to add.

</comment><comment><USER17> This is a good self help programmer article.

</comment><comment><USER18> Call it bravery, or confidence, but it is absolutely essential to making progress in anything. You can see its antithesis in bad code. Bad programmers leave old code commented out instead of deleting it, lacking confidence that they understand the task well enough to know that their new code performs sufficiently. Bad programmers copy pasta instead of abstracting and reusing, lacking the bravery to change code that works and potentially breaking it, lacking confidence to know that they can fix it.

I tell all my intern intends to "code forth bravely".</comment>


Former Nintendo Executive Discusses Nintendo's Culture - <AUTHOR> http://www.dromble.com/2015/01/21/former-nintendo-executive-dan-adelman-discusses-nintendos-culture-third-party-support-and-much-more/ <comment><USER2> _Nintendo is not only a Japanese company, it is a Kyoto-based company. For people who aren't familiar, Kyoto-based are to Japanese companies as Japanese companies are to US companies. They're very traditional, and very focused on hierarchy and group decision making. Unfortunately, that creates a culture where everyone is an advisor and no one is a decision maker – but almost everyone has veto power._

If you read Patrick McKenzie's recent article on "Doing Business in Japan" you can get some better context of just how rigid these 'Kyoto-based' must be:

[http://www.kalzumeus.com/2014/11/07/doing-business-in- japan/](http://www.kalzumeus.com/2014/11/07/doing-business-in-japan/)

<comment><USER3> I have trouble even listing large Kyoto based companies other than Kyocera and Nintendo. (Hatena is the only prominent web services company there, but it is much smaller).

The reputation I heard from inside japan when I lived and worked there wads that of "weirdness" rather than being necessarily more heirichical. I don't think it's a linear "even more Japanese compared to USA standards" thing going on. They're known for being more cultish and wacky in their own ways, like Kyocera employees' fanatical effort into their annual all company sports tournament.

I can see how this weirdness and cultishness might be seen as being "more hierarchical" from a non domestic person's eyes though.

<comment><USER4> You never heard of Aiful and Wacoal? Sagawa express, too.

</comment></comment></comment><comment><USER5> A fair amount of the interview is dedicated to Nintendo's eShop and how its pricing, release schedule, and promotions are determined by Nintendo's market research--as well as company culture. It also brings up a study I'd not heard of before, that says game demos significantly lower sales ( [http://www.computerandvideogames.com/416824/](http://www.computerandvideogames.com/416824/) ).

I think it's an interesting read for anyone involved in digital marketplaces or who offers free trials of their product.

<comment><USER6> I also found the assertion about demos interesting, and it seemed somewhat unintuitive to me. I can think of two possible reasons for the correlation:

      1. Demos provide enough of the gameplay to satisfy your curiosity
      2. Demos let you discover that you won't like a game without buying it

However, I'm not convinced that the sales study actually includes enough data to establish correlation at all. Simply breaking down sales into groups (trailer/demo+trailer/demo/nothing) overlooks other differentiators that can have a major impact on sales.

The biggest one to my mind is simply the budget of a game. An indie game has no chance of selling equivalent units to a AAA game with a giant marketing budget. A demo may seem more prudent to an indie developer (or not), since it can be done on spec rather than requiring money to actually change hands. Yet, demo or not, it will never touch the sales level of a trailer-only AAA game. A more informative study would account for these factors.

<comment><USER7> For that data to be even remotely useful, they need to look at how long time do people spend playing the game, and customer satisfaction. I do not doubt that proper demos make people buy less games, but on the other hand you have less disgruntled customers because they didn't spend 60€ on a game that isn't very good.

I seriously cannot understand why any console maker doesn't go all out and focus on the customer. Tell publishers to either make a reasonable demo, or accept that people buy the game and can get a refund if they've played it less than an hour.

<comment><USER8> >I seriously cannot understand why any console maker doesn't go all out and focus on the customer. Tell publishers to either make a reasonable demo,

Ouya used to require every game to have a demo or to be free-to-play. They ditched it[1]. I believe MS still has the mandatory demo on Xbox live arcade (digital only games) but only for the 360 titles, they allow publishers to decide for the XB1 [2]. I cannot possibly know their reasons but my guess is that demos are expensive to make. Giving a refund has not been tried as far as I know but Sony had something similar with one hour limited full games for free. I believe they stopped releasing these few years ago. Again, I don't know their reasons but my guess is that it was not driving a significant number of additional sales.

Right now you can Share Play on the PS4 and watch game streams everywhere so the utility of demos is even less than in the 7th generation consoles.

[1][http://www.computerandvideogames.com/455402/ouya-ditches- fre...](http://www.computerandvideogames.com/455402/ouya-ditches-free-to-play- requirement/)

[2][http://www.nowgamer.com/xbox-one-demo-policy-hasnt- changed-t...](http://www.nowgamer.com/xbox-one-demo-policy-hasnt-changed- there-will-be-more-demos-as-platform-goes-forward/)

</comment></comment></comment></comment><comment><USER9> The lack of comments surprises me

<comment><USER4> It's usually proportional to the lack of contents, or the lack of controversy.</comment></comment>


Ebola Spread World Map and Rate - <AUTHOR> http://time.com/3089810/ebola-map/

<comment><USER2> this is data vis now? repeating what the @#@#$ graph is already showing you?</comment>


India to make CBSE textbooks available online for free - <AUTHOR> http://m.economictimes.com/news/politics-and-nation/good-governance-cbse-books-to-be-made-available-online-for-free-says-smriti-irani/articleshow/50245429.cms <comment><USER2> Hilarious since all CBSE books have been easily available on the NCERT website since several years as PDFs.

The new government seems to be taking credit for making an app to download these PDFs.

<comment><USER3> I wish they would remove the huge diagonal watermark across every page as well. It makes the text quite hard to read.

</comment></comment><comment><USER4> Making books and other materials available online is a first step but am concerned about the quality of the content. Many times the books were not clear about the point they are trying to make, the experiment how its performed, etc. They often added some content, especially towards the end of the chapter, which was just a paragraph or so and did not explain what it is. Other thing is that students don't get to know about the practical applications. Consider calculus or binomial theorem, most of the students as well as teachers don't know about its applications. Unfortunately, if your teacher isn't that good, you would not understand and appreciate the subject. Given that internet is still not widely available, the students cannot search for additional material or get their questions answered.

<comment><USER5> Step 2: Improve the books.

Step 3: Better learning and quality students

Step 4: ?

Step 5: Profit.

Trite, I know, but I feel this follows a similar argument to the one given for electric cars:

Right now, individual ecars don't help the environment because we still have inefficient sources of electricity. But, if everyone has an ecar, we would see huge increases in efficiency when we upgrade our power stations to green energy. 1 wind power station could affect 1000s of car drivers.

So if everyone has access to these books, an upgrade of the book could have a positive effect for millions of students..

Then: profit!!!

<comment><USER6> Textbooks + Video Annotations (ala Khan Academy) really do the job of individual custom learning of a curriculum. So, your step 4, multimedia annotations. Profit may not the appropriate word, it would be rightly Profit/Benefit.

</comment></comment></comment><comment><USER7> This isn't new. NCERT books have been online for several years.

<comment><USER8> article outlines that previously NCERT has been available, now they are extending it to CBSE books.

<comment><USER9> CBSE books are NCERT books. In fact, last year CBSE forced schools to only use NCERT texts. So I don't know what they mean by that.

Also, the article mentions that NCERT books were available for month and a half. Which is false. NCERT books have been available for free for years, they just also made them available on a few e-book formats a month or so ago, in addition to already available PDF. Cheap headline grab.

All CBSE books that they can publish that are not NCERT is an almost empty set.

<comment><USER10> irony here is that parent user's id is the name of the publishing house which is one of the chief competitors to cbse, especially when it comes to high school books.

</comment></comment></comment></comment><comment><USER11> While this is good news, CBSE is just one of the many (although the largest and possibly the best) school systems in India. This particular one is controlled by the central government and they are releasing books being used by this particular school system.

</comment><comment><USER12> Am from India and was a passout of the CBSE curriculum school eons ago. And did not know that NCERT had these books in PDF since many years!

Thank you for the information.

</comment><comment><USER13> As others point out, the NCERT textbooks have been available online for a while, if slightly more difficult to download. But why stop there?

I wish they would put the source online as well, with instructions on how to build it (preferably using Free/Open Source software). Now _that_ would be a bold and groundbreaking move.

</comment><comment><USER14> Ah you mean this which is already online yo [http://www.ncert.nic.in/ncerts/textbook/textbook.html](http://www.ncert.nic.in/ncerts/textbook/textbook.html)

</comment><comment><USER15> What is the format, I wonder?

HTML can do animations, lots of graphics, etc., but sometimes struggles with math. PDF (from LaTeX) does a great job at math but making it do executable things is tough.

<comment><USER16> My book uses Jupyter Notebook, which uses MathJax for LaTeX generation, and of course Python or any of the other 30 or so kernels available for software. I haven't done JS with it for animation because I also want to support print, but it is trivially possible.

We still have a ways to go before online computer/math texts are seemless, but we are on our way.

<comment><USER15> Can I ask you what book? I have a professional interest in these things.

</comment></comment></comment><comment><USER17> This is good. But I wish India would release all the content it generates as public domain, like the US. It was paid for by the people. It should belong to and be made available to the people.</comment>


Best Programmer Web Comics - <AUTHOR> http://tanu.wordpress.com/2009/07/23/favorite-programmer-webcomics/

<comment><USER2> Blatant content theft without so much as a link to the actual comics.

<comment><AUTHOR> Why can't you enjoy the comics ? always trying to add a feature to a bug :D author has the credit to the comics in the blog post. care to see it ?

</comment></comment><comment><USER3> Yes. They are.</comment>