Ask HN: How to assess programming ability? - <AUTHOR>

Hi, may I know what is a good way of assessing or measuring programming ability, especially
(1) if you are a noob from a non-computing or non-programming background and; (2) have few (read: 1?) friends who code?
Also, what are good programming habits to follow based on your experience?
I've googled on these and have found more info on programming habits than on assessment though.
Should I lurk around HN or other programming forums or participate in open source projects as others have proposed here? Which forums or projects etc. would you highly recommend (as perhaps a goal to work towards, and aside from starting your own site)?
I would very much like to learn from cool people who write great code. =)
Thank you. <comment><USER2> Same way you evaluate writing skills. Look for consistency of formatting, look for descriptive variable names. Read other sites (stackoverflow, google groups, etc.) and you will very quickly learn to tell an expert from a noob.

<comment><AUTHOR> true... beyond a certain level however, I haven't been able to decipher yet.

</comment></comment><comment><USER3> To what end are you trying to assess/measure programming ability? Finding people to learn from? Evaluating people you might hire?

<comment><AUTHOR> At this point in time, it would be to find people to learn from and also to assess my own.

<comment><USER3> find a community doing something you are interested in. get on the mailing list- see who is answering lots of questions in a fashion that suggests they know what they are talking about. see who is making the changes to source. see who has an good reputation in the community.

that is a good place to start from. maybe the community has crappy standards and the people who look good there aren't really that good but if they are better than you, you can learn and then branch out into other communities. learn learn learn.

just make sure you don't pigeon hole yourself into one community, make sure you eventually sample from a wide range of communities ( but that takes years ).

<comment><AUTHOR> thanks.. any suggestions for communities or mailing lists?</comment></comment></comment></comment>


Google Gives $2 Million to Wikipedia's Foundation - <AUTHOR> http://mashable.com/2010/02/16/google-wikipedia-donation/ <comment><USER2> The official announcement / press release is actually available, via the Wikimedia Foundation mailing list: [http://lists.wikimedia.org/pipermail/foundation-l/2010-Febru...](http://lists.wikimedia.org/pipermail/foundation-l/2010-February/056841.html)

</comment><comment><USER3> This is awesome. I love it when I hear about companies supporting others, instead of trying to compete.</comment>


Huawei Launches AI Chip in Push to Unseat U.S. Makers - <AUTHOR> https://www.wsj.com/articles/huawei-launches-ai-chip-in-push-to-unseat-u-s-makers-11566556836?mod=rsswn <comment><USER2> Anyone know if Huawei has a China-based foundry that can manufacture their designs, and how good they are compared to Intel/Samsung/TSMC?</comment>


Ask HN: Does imperative programming have a (mainstream) future? - <AUTHOR> After this question getting down voted and put on hold on programmers.stackexchange.com, I decided to take it here, as HN seems to be better suited for discussion about such a topic. Copy of the question:
I have written a few small programs in Python and C++ and am currently learning F# (I am already quite familiar with FP concepts, as a result of reading the Learn you some Haskell tutorial until the monad part ;) ). And while I appreciate the elegance of functional programming in some situations, in other situations I just feel that it would be more natural to write a particular algorithm imperatively with mutation and I certainly can't imagine programming my Arduino board in a functional way for example.
It often seems that today imperative programming is considered outdated and inferior to functional programming. So my question basically is: does imperative programming have a future outside of some niches? What do people with practical experience with both functional and imperative programming think? Will the programming world slowly shift to functional programming languages or will functional programming languages merely continue to influence imperative programming languages, leading to tacked on FP features (like in the latest versions of Java and C# and Ruby, Python etc.) or is functional programming in mainstream languages just a hype all together? <comment><USER2> _It often seems that today imperative programming is considered outdated and inferior to functional programming._

Only among the kind of people who bother to consider that question at all, which 99% of programmers don't.

</comment><comment><USER3> 1\. I believe the premise this question is based on is flawed. As other commenters have said, Functional vs. Imperative is not a binary state, but rather a sliding scale. Imperative is much closer to how the hardware works than Functional, so your style will need to be more "Imperative" if it needs to deal with lower level stuff.

2\. Computer Science is very new and different styles move in and out of vogue as new tools and techniques are discovered. In this case "hype" is merely another term for "yesterday's cool approach". Just as "make everything an object" came and went, leaving its mark on every language, "make everything a function" will probably be less emphasized, but still an important approach that leaves its mark in most CS.

</comment><comment><USER4> Imperative programming wont die, but more an more of the languages we use are functional. SQL, CSS, HTML.. The last two are declarative, I know, but they fit very well into a functional paradigm.

I don't think Haskell or F# will ever make it big (for many reasons, to many to go into detail on here). But regular imperative languages are getting more functional oriented. Like LINQ expressions, list comprehensions, immutable data structures (Clojure is big on that) and TCO (very beneficial for fp).

It's a sliding scale and it doesn't matter so much if the language is categorized as functional or imperative. It's how you approach problems you solve with your language. I think more and more programmers are realizing that the functional approach is almost always superior.

<comment><USER5> > I think more and more programmers are realizing that the functional approach > is almost always superior.

Only for a very limited definition of "almost always". It's almost always superior _if_ you don't hit performance constraints, _and if_ your problem isn't dominated by sequencing, _and if_ your team can handle the functional approach, _and if_...

Why is it superior? It controls the state space explosion, and therefore makes it easier to understand and reason about your program.

Why could performance be a problem? Think about a functional quicksort algorithm. It doesn't do mutation, so at each stage, it has to return a new sorted list rather than sorting the list in place. As the list gets longer, the performance gets worse compared to an imperative quicksort.

Now, quicksort would actually be implemented as a library, and would be tuned for speed. But the same issue comes up in other ways. If you have to transform data structures, imperative can be more efficient than functional, and the difference grows as the size of the structure increases. (I could have called this area "scaling" instead of "performance".)

When could your problem be dominated by sequencing? It often is in embedded systems, where you're sequencing external hardware to get it to do real-world things. I mean, yes, you could write all that in a monad, but if that's the dominant thing you need to control, what does it gain you?

All that said, making any individual function pure (in the FP sense) is always at least a local win, because that function becomes simpler to understand, debug, and test.

<comment><AUTHOR> >When could your problem be dominated by sequencing? It often is in embedded systems, where you're sequencing external hardware to get it to do real-world things. I mean, yes, you could write all that in a monad, but if that's the dominant thing you need to control, what does it gain you?

That was exactly what I was referring to with the Arduino board example ;)

<comment><USER6> Haskell has been used to build embedded software to great effect. As you move out of the domain of simple sequencing in embedded systems and into hard realtime systems, coordinating tasks correctly becomes very difficult. Being able to track and infer information about timing and dependencies with the type system becomes extremely useful in order to make it easier. This is a very simple intro example of an DSL built in Haskell for realtime systems[0]. This is a talk on using Haskell for robotics in particular[1].

[0] [https://leepike.wordpress.com/2009/05/05/an-atomic- fibonacci...](https://leepike.wordpress.com/2009/05/05/an-atomic-fibonacci- server-exploring-the-atom-haskell-dsl/) [1] [https://vimeo.com/77164337](https://vimeo.com/77164337)

</comment></comment></comment></comment><comment><USER7> yes

<comment><AUTHOR> Would you mind elaborating your answer? It currently isn't clear to which question you are answering yes. ;)</comment></comment>


TextExpander snippet site - <AUTHOR> http://te-snippets.com

<comment><USER2> The name sounded interesting, so I visited the site, but I have no clue what it's for. I noticed, in order:

1\. A Cory Doctorow quote about killing noobs. I'm a noob.

2\. Ten blog entries to help me learn to use the site. I still don't know what it is.

3\. Only a few of those ten are actually linked.

4\. The first blog entry still doesn't tell me why I'm supposed to be wading through all this...</comment>


Abandoning Algebra Is Not the Answer - <AUTHOR> http://blogs.scientificamerican.com/observations/2012/07/30/abandoning-algebra-is-not-the-answer/ <comment><USER2> "Math certainly is incomprehensible to many students, but from where I sit, poor teaching is often the reason."

I'll paraphrase what I said in the last thread: algebra isn't harder than other subjects, it's more objective. Therefore, it tends to make educational fraud more visible. People rarely fail algebra and succeed in other subjects; they fail in all subjects and algebra is the only one where it can't be ignored any longer.

<comment><USER3> In the humanities, you are taught how to understand what people are trying to do with language, so I can't help reading your comment from that perspective.

You say people rarely fail algebra and succeed at other subjects. To put that another way, let's assume that there are four sets. Set A consists of a group of people who are successful at one or more subjects, and Set B consists of people who are successful at no subjects. Set C consists of people who are good at math, and Set D consists of everyone else. Your statement implies that, for the most part, A = C and B = D.

Thus you seem to be arguing that excellence at math is the sine qua non of an educated person -- it is a defining characteristic.

What might you be trying to do with this line of reasoning? It seems fair to assume that you yourself are skilled at math, so really you are making a claim about yourself and other people who are similar to you. Your model of an educated person is based on yourself. In society, educated people are people whose judgments should be trusted and listened to, so we can conclude that the purpose of your argument is to try to get those benefits for yourself and people like you. Conversely, we can also conclude that you are trying to have those benefits removed from people who are different from you.

<comment><USER4> Exactly. I have a liberal arts degree and studied math basically only through first year calculus. The strange thing is, compared to most people around me, I am relatively skilled at math. I can do algebra, some calculus perhaps at least pulling some estimates of integrals and derivatives, but my real love is in humanities.

The reason why algebra is important has nothing to do with the GP's idea that it is the most objective of studies. Algebra is _useful._ That's it. People who know basics of algebra can use it constantly. I could see replacing geometry with a deductive logic class since that's all one studies with HS geometry anyway. I could see teaching less plane trig and more spherical trig too (I tried to teach myself spherical trig in order to better follow some writings of Ptolomy and others, and failed). But these aren't going to happen. But if you don't know algebra these doors are all closed.

<comment><USER5> Skills in math are skill in seeing patterns and operating abstractions. Those are very very valuable skills, no matter what are you doing.

<comment><USER4> This is true, but when you look at geometric proofs all you are doing in HS geometry is deductive logic using an abstraction which is a general approximation of the real world. That's why I could see getting rid of HS geometry and just having a deductive logic class too, perhaps with a unit of Euclidean Geometry included in it.

Algebra and calculus are different though. They are tools for finding unknown information and thinking about changing values.

</comment></comment></comment></comment></comment><comment><USER6> This essay is still buying into the idea that algebra is "higher level," or that only people who identify as mathematicians would be affected by this. There are 1.5 million engineers in the US and 3.1 million programmers, and without algebra they would be as helpless as lawyers who couldn't read.

This essay says "Hacker is probably right that very few people use high-level math directly in their work." If algebra is counted as high-level, then no, Hacker is dead wrong. His position does not deserve even the modicum of respect which this essay gives it.

</comment><comment><USER7> My accounting prof used to be a used car salesman. I was talking about that with him one day, and he said that a car dealership doesn't make money selling cars, but makes it selling financing.

The people who really pay through the nose for financing are people who do not grasp mathematics. He said it wasn't just a matter of them being taken advantage of - even when he explained the lower cost option, they'd insist on the higher cost one, based on faulty notions about math.

If you don't learn math, it's going to cost you plenty your whole life, and you won't even realize it. Math is necessary, even if you don't go on to get a STEM degree.

<comment><USER8> _a car dealership doesn't make money selling cars, but makes it selling financing._

This also scales to the production level. Prior to the recent troubles, GMAC, the financing arm, was larger and more profitable than GM, the auto maker.

</comment></comment><comment><USER9> Stupefying.

With friends like Andrew Hacker, does this country need enemies?

On the other hand, perhaps we can take this as an opportunity to discuss the accessibility of math education, the level of engagement and hands-on examples that teaching materials give, and how this can be improved with modern teaching aids (tablets). I know I certainly struggled with engineering-grade math in college (math was one of my majors, but not a favorite one), and I blame the combination of my laziness, poor professors (rewarded for publications, not teaching), and poor teaching materials (far removed from practicality).

I'm really excited by how much better kids' aptitude and quantitative cognitive skills will improve over the coming years for the ones who have access to tablets. New apps are popping up that make learning elementary math a joy... apps that can keep a kid's attention without adult help - starting at age 4. This will be a serious boost to whichever nations/groups emphasize it.

<comment><USER5>
      > I'm really excited by how much better kids' aptitude and quantitative cognitive skills
      > will improve over the coming years for the ones who have access to tablets.

I say we will see zero improvement caused by tablets (or any other technology of this kind). This is not a technological problem it cannot and wont be solved by technology. Technology might aid a tiny bit with it, but just that.

<comment><USER10> This is much more complicated. Technology may add a lot, not just a tiny bit, but it has to be used in such way. While certainly apps are being created [and soon they may reach much harder topics, like indefinite integrals] the core issue is in using them - there is no point in technology alone if it is not used. It depends heavily on parents so that they can enable and encourage children to use the app but it also depends on children to use [or rather play] the app.

Technology is not solution to the problem per se - Technology only enables us to solve the problem.

</comment></comment></comment><comment><USER11> I'm not going to defend removing some of the math. What I will say is that improving understanding of statistics, generally, is something that most democratic countries desperately need.

</comment><comment><USER12> From the article, I particularly liked the bit about math being useful to doctors so that they can learn to succeed in the face of a challenging subject... as if medicine isn't enough of a challenge in itself.

I would certainly like to see more statistics in high school math, since people are bombarded with bad stats every day through the media and just swallow it up without thinking. It's hard to agree that other aspects should be dropped though (although I am in favour of repurposing some math courses to better meet the needs of the students).

</comment><comment><USER13> The real problem I think, or at least part of it, is that it's considered acceptable for kids to be declared "just not good at math" and left at that. It's presented as a skill that you're either born with or not, instead of one that can be improved with practice. We wouldn't find it acceptable to declare a kid "just not good at reading" and give up on teaching him to read, so we shouldn't do the same for math.

<comment><USER14> It's a little different though. I think a better analogy would be writing, and I have seen people claim to not be good at writing as others do with math in general. Reading would be like counting in math, and most people can do that. I agree though, that with practice many would probably benefit from it for either math or writing. But there will be some people, who will just be not good at math short of some upgrades to their brains.

</comment></comment><comment><USER15> This was an interesting read. I think the author of the original paper though has some valid points and that this response labeling the original paper "anti-intellectual" is dishonest in that regard.

In my opinion, the problems we have with Mathematics education in this country stem more from how the curriculum is structured than from particularly bad teaching or lack of natural ability. Looking back, it seems bizarre that all of elementary school gets devoted to performing arithmetic and then Algebra is suddenly introduced sometime in middle or early high school. In my opinion, arithmetic can be taught much faster than it is (Trachtenberg system et alia) and basic Algebra should really be introduced concurrently.

The problem with this approach is that you can no longer sell neatly compartmentalized textbooks labelled "Addition," "Subtraction," ... , "Algebra" etc...

The other thing that bugs me is the bizarre choice of topics taught in Algebra classes. I remember, I was forced to memorize the binomial theorem. At the time, it really made no sense. I'm now of the opinion that you shouldn't be taught math you don't have the machinery to develop on your own. Knowing arithmetic, you can build Algebra (not very rigorously, but the idea seems pretty obvious.) It's a much bigger leap to develop the binomial theorem, which requires more advanced machinery, which is generally not taught.

Of course, once I could derive the binomial theorem on my own, it made much more sense.

I did very well in math throughout my academic career, but didn't ever really feel like I had very much mathematical skill. Only now that I've developed an interest in doing math in a recreational capacity that I really feel like I've developed any sort of substantial mathematical ability. I'm really now convinced that the problem solving approach is the way to go and that this is how early math should be taught.

<comment><USER14> Now that you mention it, it does seem that too much emphasis and time is spent on counting and calculations. A symptom may be how some people equate doing fast calculations with being good at math.

<comment><USER15> It's funny how that escapes detection. I only realized looking back how baroque that was. I think people do equate doing fast calculations with being good at math. While I think everyone should certainly know how to add, subtract, multiply and divide without error, there's really no reason to be able to do so obscenely quickly, given the wide availability of calculators. If you did want to be able to do very fast mental math, there are much better systems than what are typically taught in schools.

Really though, my point was that the school system spends far too little time on solving substantial problems in Math classes. I think an integrated problem solving approach that touches on many of the important branches of Math (graph theory, number theory etc...) would serve most people much better than the current system, where we spend 8 years building up to Algebra and then engage in a smattering of Geometry and Trigonometry.

In the current system, if you're smart, you do AP Calculus, which is obscenely dumbed down. If you want to proceed to study Math in college, you'll almost certainly have to re-teach yourself calc to be successful.

</comment></comment></comment><comment><USER16> The original article is another iteration from the ancient and venerated Academics with Inferiority Complexes Society. Here is an article discussing an earlier effort from this time-honored society:

<http://www.sourcetext.com/grammarian/newslettersv06/6.1.htm>

This article is by the late malcontent newsletter The Underground Grammarian, a diabolical work which has cleverly trapped me into spending entire nights in the wicked attractions of its addictive prose.

An à propos quote from another part of the site:

 _However, while the retreat from the measurable provides comfort for the educationist[and, apparently, the occasional "political scientist"], it makes it hard for him to claim, as he would so dearly love to, that "education"[...] actually is a body of knowledge and that his Faculty Club card should not be stamped: "Valid only when accompanied by an adult." What a dilemma._

</comment><comment><USER17> >Hacker's first main point is that math is difficult, and the poor grades that result prevent too many people from graduating high school or college.

Yeah, great plan. Dumb down high school and college even further so even a monkey can end up with a BA. Then we'll all have great jobs.

</comment><comment><USER18> Hacker sounds like kind of an idiot. I really liked the point made that being able to analyze "The Old Man and the Sea" doesn't come up very often in day to day life, but is still a good thing to be exposed to. Additionally, I appreciate the valid opinion that most teachers, particularly elementary, and to a lesser extent, middle school teachers have little to no math education. My mother actually changed majors and became a teacher because she did not have the prior education to pass calculus, and did not think she would ever be able to pass it. She's a very good teacher, and very smart, but it's for the best that she teaches HS English, and isn't required to teach math.

</comment><comment><USER19> Let's just have the chinese do our math and then pay them with the money we borrow from them.

</comment><comment><USER20> As he says, Hacker's essay had so many flaws it's hard to know where to start. On the other end of the spectrum, this (and the linked) essays raised so many _good_ points that it's still hard to know where to start.

</comment><comment><USER21> The biggest un-addressed problem is sheer lack of will. A significant percentage of students _will not_ do the work. They'll show up, they'll go thru motions, but will not do the actual _work_ required. Telling them they'll fail won't help: they either don't care or don't comprehend. Punishments won't work because punishments are forbidden. Offering more assistance and resources won't help because those are tools, useless if unused. They do nothing, life goes on in an acceptable manner. They have no reason to do the work, so they will not do the work, and thus will fail.

</comment><comment><USER22> Math, especially algebra, is essential to all technology. Counting and measuring and projecting forward are foundational skills. The thing is that there are two basic aspects to algebra, one is conceptual and the other is mechanical. The conceptual part is interesting and worthwhile to most people. The second thing is what drives people off - the long detailed mechanical aspect of accurately doing long equations, perfect transcriptions, looking for simplifications and cancellations. But it is precisely this laborious mechanical aspect that has been drastically improved with modern symbolic math software like Mathematica and Mathcad, et al. Factor a twenty term formula, do any integral, or differentiate a messy equation in about, oh, half a second? The failure is that we don't teach these software skills right at the start.

How boring would writing be if we didn't let students use word processors with their perfect erasers, spelling checkers, scissors, tape, carbon paper, and endless new blank sheets? Or if we forced all architects and engineers to use rulers, pencils, Leroy lettering guides, and E-size paper on drafting boards every time they wanted to design something for others to build, not allowing them to use Solidworks or Autodesk, or equivalent modern tool to help? Ditto for movie making, or pretty much everything else.

Algebra is great. Teach it along with teaching the modern symbolic math tools that go along with it.

</comment><comment><USER23> Instead of getting all riled up, it's fair to realize that there is such a thing as free market, demand and the corresponding motivation to supply. Folks write all sort of controversial opinions (there was this essay a few months back from a UCSD professor in Bloomberg about how CS education is overrated and the folks in CS don't make enough money).

My response to these kind of articles is: everything is fair game. If someone or some community thinks CS or math is not for them, it's their right. It's just that the demand will be filled up by folks who do believe in it (like folks from outside US which constitute a significant portion of most CS/tech firms inside US). Ultimately, if some folks in US realize they are losing too much potential out there by refusing to raise their bar, they might re-orient towards the demand. If they don't realize this/stuck in their stubbornness/incompetence, then they didn't probably deserve it anyway (or don't care).

Agreed that there is short term pain for folks who get effected by these kind of policies outside their choice.

<comment><USER24> Free market. Seriously? There are no free markets anywhere in the world today.

</comment></comment><comment><USER21> As a counter to any complaint about how hard algebra is: recall the recent HN- featured app DragonBox. It strips away the boring/confusing irrelevancies of the subject, replacing the appearance with cute tiles and animations - creating a game where a kid learns the core concepts. If my 4-year-old (and even my 2yo) will sit there for prolonged periods playing and picking up rules & techniques on her own, then surely high school students can grasp the subject - if they choose to.

[http://www.hnsearch.com/search#request/submissions&q=dra...](http://www.hnsearch.com/search#request/submissions&q=dragonbox&start=0)

</comment><comment><USER25> Sad that the march to abandon reason has reached this far, where even the most rudimentary mathematical knowledge is scorned. Maybe degrees should be given out based on attendence and self esteem. Without algebra, people could not evaluate even at a broad level the tenability of a scientific or technical claim, they would be denied any form of meaningful understanding of probability, algorithms, complexity, physics, chemistry, biology, astronomy, even linguistics has deep roots in algebraic notions. To abandon the teaching of algebra would be to condemn the public to a life of ignorance and obedience to crowd think.

</comment><comment><USER26> Forcing rooms of teenagers to factor cubic polynomials for hours on end is pointless, of course; these essayists fail to consider that pointlessness might be the point of school, as it is of boot camp. Read John Gatto instead.

</comment><comment><USER27> For years and years I've wasted time in the classroom with Algebra, a skill I will _never_ need in my lifetime. As a computer science major, I find it perfectly equatable to make my math teacher sit through the same amount of time in some of my major-specific classes, since he will get just as much value out of them. Not to mention I have to pay for it.... difficult or not, most math classes simply are not useful. This differs from other "general" classes, such as English.

<comment><USER15> I find this to be short-sighted. I also program, and have found Algebra to be very useful. Solving a problem trivially with Algebra can sometimes save you lots of programming work. Granted I don't use Algebra in my day to day, I'm glad I know how to do it and have found it useful often enough to say I'd be less of a programmer without it.

</comment></comment><comment><USER28> > Eliminating abstract math education in the early school years, or allowing > young students to opt out of rigorous math classes, will only serve to > increase the disparity between those who "get it" and those who don't. Those > who have a grasp of mathematics will have many career paths open to them > that will be closed to those who have avoided it.

This is currently true on programming, which is (was?) left out of the basic curriculum.

</comment><comment><USER29> USA already abandoned knowledge of evolution as visible here: <http://www.youtube.com/watch?v=UkBmhM0R2A0>

Now it's time for math as imagined here: <http://www.youtube.com/watch?v=9QBv2CFTSWU>

</comment><comment> johnx123-up Site crashes my Chrome and IE. Probably as Xdm.swf is pinging for every second.

Safe URL: [http://viewtext.org/article?url=http://blogs.scientificameri...](http://viewtext.org/article?url=http://blogs.scientificamerican.com/observations/2012/07/30/abandoning- algebra-is-not-the-answer/)

</comment><comment><USER30> So, the answer to people failing at _basic_ mathematics and being unable to pass high school or college is to simply lower the standards? Why stop at mathematics? Why not stop short of anything beyond being able to write Tweets or just figure out where the signature box on a loan application is (but not understand all those funny things that come before it)?

Many want to say college degrees aren't necessary. I say fine, great that's awesome. For this NY Times article, I say, well of what utility is a high school education? I think it benefits society for people to be able to read at least enough for Google to sell people text-based advertising that most citizens can modestly understand so we should have training to a fourth grade level or so. But really, once you know "1+1" then just leave it that and it's time to go to the Nissan plant.

This just seems like someone saw the movie Idiocracy and decided "that's a good plan."

We have a bad education system in some ways in the U.S? Much of it is probably related to poverty and, perhaps, to some extent, parental irresponsibility. This is just pathetic. The idea that we should just throw away any standards is hard to take serious. For many people in this audience, it would probably benefit us greatly, financially, but if you care about society as whole, it doesn't sound very appealing.

<comment><USER5> I am not that knowledgeable in US education and policies, but there is/was some "no child left behind" thing going on and I may be completely off, but my impression was it has something to do with all this. My (again, possibly completely wrong) understanding of it, that the end effect was "let's pretend we don't have dumb students" instead of "let's help the bright students".

If someone can shed more light on it I'd appreciate that a lot.

<comment><USER31> I may not be much better suited to answer your question than you, but my understanding goes more like: the intent was "let's use standardized testing to identify and then help weak students and to support schools that yield good overall students (according to the test results)" and the result was schools trying to game the tests to maintain/gain funding.

</comment></comment></comment><comment><USER32> I buy the "no bad students, only bad teachers" argument--though I must say that might teachers from 8th through 11th grade were good to very good. I buy the "more objective" arguments I see here and elsewhere. The "push-ups for your brain" maybe not so much.

</comment><comment><USER33> When you start defining education & learning 'objectively' you can kiss progress goodbye. That we don't directly apply most of what we learn is a bad way to look at why we learn stuff in the first place.

</comment><comment><USER24> I found the late George Carlin had an even better explanation of the New York Times piece.

<https://www.youtube.com/watch?v=9dY4WlxO6i0>

</comment><comment><USER34> Innumeracy should be treated like Illiteracy.

</comment><comment><USER35> Any discussion about mathematics that fails to distinguish between computation-based and proof-based mathematics is not going to be a very informed discussion.

There's a reason that so many would-be math majors switch out when they reach Intro to Proofs. Up until then it's just memorizing formulae and recipes; you're just a glorified TI-89.

</comment><comment><USER36> Let's see: The author of the essay is in political science. Here notice 'science'!

Now, I have to wonder: (1) In political polling, could he give a solid definition of a simple random sample? Could he suggest how to select one? Could he explain just why we often want a simple random sample? (2) Could he explain why in political polling we average to estimate a population proportion? That is, the average is a statistical estimator. Just why is it the estimator we want? (3) If he is to estimate variance, does he know which of the two common algebraic expressions is biased and which is unbiased? Can he define a biased estimator? (4) A common topic in political science is principal components analysis, and key there is orthogonality in vector spaces. Can he suggestion how to give a solid description of that topic without algebra? (5) Political science likes to construct quantitative measures, and there two important issues are 'reliability' and 'validity'. Can he give solid discussions of these two issues without algebra? (6) Political polling reports results with an 'margin of error'. Could he define that? The usual calculation is based on the central limit theorem; could he describe that? (7) One of the more important research tools in political science is statistical hypothesis testing, especially nonparametrics. There the core concepts are Type I error, Type II error, power of a test, and a most powerful test. How can he describe this material without algebra?

Uh, a first course in algorithms commonly described heap sort and points out that its execution time, on sorting n items, is O( n log(n) ) in both worst case and average case and, thus, is best possible in that it meets the Gleason bound. Without algebra, how is a student to understand the significance of that material?

The world is moving on to more in automation. The main approach here is computing where we describe what we want and how to get it in terms that are essentially mathematical -- e.g., stiffness of arbitrary space frames, finite element analysis in solid mechanics, Reynolds number in fluid flow, sines, cosines, and exponentials in A/C circuit analysis with passive components, force, torque, energy, power, and momentum in mechanical engineering, etc. All these subjects commonly assume first and second year algebra, plane and solid geometry, trigonometry, analytic geometry, calculus, and ordinary differential equations.

For political science, we should include linear algebra and multivariate statistics.

That author wants less algebra but more statistics? That's like saying he wants to lose weight but eat more!

Yes, to too great an extent, public K-12 is more about babysitting, i.e., keeping the kids off the streets, than about education. Moreover, really, math is too difficult for essentially all of the US K-12 educational community.</comment>


AMD launches ridiculously cheap overclockable $49 Athlon 3000G processor - <AUTHOR> https://www.techradar.com/news/amd-launches-ridiculously-cheap-dollar49-athlon-3000g-processor-which-can-even-be-overclocked <comment><USER2> Wonder if it supports ECC?

There's no direct mention of it on the AMD website spec sheet:

[https://www.amd.com/en/products/apu/amd- athlon-3000g](https://www.amd.com/en/products/apu/amd-athlon-3000g)

Then again, their 3950X page doesn't mention ECC either:

[https://www.amd.com/en/products/cpu/amd- ryzen-9-3950x](https://www.amd.com/en/products/cpu/amd-ryzen-9-3950x)

<comment><USER3> According to wikichip: Yes

[https://en.wikichip.org/wiki/amd/athlon/3000g](https://en.wikichip.org/wiki/amd/athlon/3000g)

<comment><USER2> Hmmm, not sure how reliable Wikichip is in this regard.

They're showing the entire Picasso line (which this belongs to) as having ECC support:

[https://en.wikichip.org/wiki/amd/cores/picasso](https://en.wikichip.org/wiki/amd/cores/picasso)

(need to click on the individual chip entries to see though)

Looking through the spec lists for various ASRock boards, they consistently say:

"*For Ryzen Series CPUs (Picasso and Raven Ridge), ECC is only supported with PRO CPUs."

If that's just ASRock playing games, I guess it means they're giving money to their competitors instead. But if it's an AMD thing, that's unfortunate. :(

\---

Checking ASUS website, they instead say:

"ECC Memory (ECC mode) support varies by CPU."

Manufacturers playing games like this just leads to bad outcomes. Seems pretty silly.

</comment></comment></comment><comment><USER4> Looks like it might be the basis of a nice DIY NAS.

<comment><USER5> I'm definitely considering getting old. I have an older computer that uses way too much power running my NAS, and was considering using an ARM SOC, but SATA has been an issue. If I can find a decent motherboard, I'll consider running it with ECC RAM and call it a day.</comment></comment>


Free private Github repos for students and edu people - <AUTHOR> https://github.com/edu <comment><USER2> I work at GitHub on all things related to education. I got a note that this was on HN, so I thought I'd drop by and offer to answer questions and provide some additional details.

Details on the discount:

* We're happy to provide students with GitHub Micro (5 private repositories) accounts for free. So long as you're a student, you're eligible. You can use the private repositories for anything you want.

* We offer organization accounts with private repositories to teachers that are using GitHub in class.

* Academic discounts on GitHub and GitHub Enterprise are available for many academic use cases, including: school administration, IT, and research groups.

Aside from the education discounts, I spend a lot of my time on university campuses. Feel free to email email@example.com if you're interested in having someone from GitHub come by your campus for a tech talk or to participate in an event.

<comment><USER3> Bitbucket has offered unlimited free private repositories for years, why should students go through the trouble of using github?

<comment><USER4> THIS.

Bitbucket is free for personal use. Unlimited private repos. Edu accounts have unlimited collaborators... FOREVER.

and they're super responsive to support requests, support importing code from more sources, and support mercurial and git both.

Also the ticket trackers let you attach arbitrary files, not just those animated gifs :)

<comment><USER5> Also, BitBucket supports Mercurial, which is used by some major academic projects (for example, the Jikes Research Virtual Machine). I also personally prefer Metcurial, so having the choice is great.

<comment><USER6> Also, on windows Mercurial get a wonderful tool as to Tortoise, and it works well with Bitbucket...

</comment></comment></comment></comment></comment><comment><USER7> It is only free for one year. if you need free private repositories, you should stick to bitbucket

<comment><USER8> +1 for Bitbucket, unless you want to deal with the hassle of moving over from github to bitbucket when you no longer qualify as a student.

<comment><USER9> Or... you can pay $7/mo, given that as a nom-student you can _probably_ afford that much? :P

<comment><USER10> Why pay for something that you can get easily for free from a competitor?

</comment></comment></comment></comment><comment><USER11> I did this when I was a student, and I recently had to move over the private repos to bitbucket when it expired. Just stick to bitbucket for private repos.

<comment><USER12> GitHub is a pretty great service (IMO). Totally worth paying for. If cost is your number one driving force, then sure -- go with Bitbucket -- but I think GitHub provides a way better experience (for users and developers).

<comment><USER13> As far as I'm concerned, one of the best features of git is how easy it is to create new repos. Setting up a new repo for a new weekend side project, or splitting out a large codebase that's gotten unwieldy into a few separate repos, should be a no-brainer.

BitBucket lets me have as many private repos as I want, since they make their money when you want to add collaborators; GitHub's payment structure forces me to consciously think about how many repositories I have. I prefer GitHub to BitBucket in terms of their web UI/UX, but I _really_ don't like that psychological shift.

<comment><USER14> Honestly this has never been a problem for me. How many private repos do you really need? It can't cost that much per month. The things most people are working on just aren't that important. Or better yet, they _benefit_ from being public.

<comment><USER15> I'm like the guy you replied to. I make a lot of repos in the course of work, play, and learning. Most of them I'd like to keep around, including history. I could fit everything on one CD; storage is cheap. Github would want $100/month to host those repositories. BB wants nothing, or <http://repositoryhosting.com> will host them all with backups for $6.

I don't have to think about costs when typing "git init", and I don't have to think about scrubbing passwords/keys/personal information when typing "git push"; repo-count pricing and public by default have high psychological overhead. GH's pricing doesn't work for me, so I don't keep my private repos there. Not a big deal, but I also don't think it indicates there's something wrong with how I work, the value of my code, or how I spend my money.

</comment></comment></comment></comment></comment><comment><USER16> I don't understand the fascination with github. Bitbucket gives you unlimited private repos for free, no special requirements. It has wikis, issue tracking, and contributors.

<comment><USER17> I like to think of Github as Facebook, Bitbucket as Google+. I use Bitbucket all the time (and love it), but it doesn't have the social network for whatever reason.

<comment><USER5> Agreed. I also think that Mercurial is really great, and I'd recommend that anyone who has only used Git spend some time working with Mercurial instead.

It seems to me that Git has won the popularity war,and GitHub has benefitted from that. GH has also focused on the social networking side more.

As an academic, I'd recommend BitBucket, and pretty much every academic I know prefers it to GitHub due to the free academic accounts.

To students preparing for graduation, I'd recommend getting a portfolio together on GitHub, but also spending time on Mercurial - it is much nicer in some ways, and variety is good for the soul.

</comment></comment></comment><comment><USER18> Why not just use Bitbucket? I switched over all my private repos to Bitbucket some time ago and it is working pretty well.

<comment><USER19> And to note, with BitBucket and an .edu email you get an unlimited account.

</comment></comment><comment><USER20> For all the people wondering about what constitutes a "school-issued email address" (.edu, .net, .ch, .ac.il, &c), we use the swot gem (<https://github.com/leereilly/swot>) to automatically identify domains belonging to academic institutions. You can see for yourself what's allowed, even send Pull Requests to include your school if it's missing. Anything that's not automatically accepted still goes through a manual review process.

And as others (johndbritton, jbarnette, jeremymcanally) have pointed out, you can contact us at email@example.com if you're having any trouble.

</comment><comment><USER21> I made a private repo for our Group Coursework, so that we could develop without the risk of plagiarism by other groups. Once our coursework was marked, we just made the repo public (<https://github.com/JosephRedfern/CM2301-9>) - really handy.

I can see how this works out well for GitHub, too - 6 of our team-members didn't have GitHub accounts when we started out. They now all do. Thanks GitHub!

</comment><comment><USER22> I used that during my last semester and it was awesome. I set it so that my README.md would have my schedules, books to read, homework assignment, etc. I'd update it as the term would go on. I was able to keep track of all my projects at a single place even though they were unrelated, and I also took notes during the lectures. With how they display .md files, it's really easy and quick to take notes and still have something decent to read afterward.

<comment><USER23> Sounds very useful, mind if I take a look?

<comment><USER22> I removed them from Github to leave place for the next semester, since we are limited in private repos and I didn't made them public since they also have answers to some homework.

<comment><USER23> email me about how you did it then firstname.lastname@example.com

</comment></comment></comment></comment><comment><USER24> I recently pushed a group into using GitHub for configuration files and documentation for a project that delivered an OpenStack compute cluster.

The main driver was not my own experience/preference for GitHub, but that they have Windows & Mac GUI clients. I had no expectation that the other group members were going to learn Git (most are Windows users with no understanding of VCS), and therefore getting them using these clients made things a lot simpler.

I did, however, recommend that the University look at using Atlassian's JIRA + Bitbucket together for future semesters, mostly because JIRA has educational licensing and integrates nicely with Bitbucket.

As an aside: the more software-orientated projects struggled (and have struggled in previous years) with organising & distributing workload. Students aren't formally introduced to (D)VCS systems nor any project management software, and alongside figuring out their project scope & getting something working, things tend to fall apart in a bad way. Some good web-based PM software and a DVCS could hopefully go a long way into structuring their projects, and would also give their project supervisor better auditing capability to keep tabs on any "dead wood" members.

<comment><USER25> Just FYI, we have incredibly good educational prices on GitHub Enterprise and offer pretty decent discounts for the .com product for universities. Glad you found our native clients useful! :)

</comment></comment><comment><USER26> Yet another reason to love Github. I'm running out of love guys, seriously, knock off all this "do cool stuff" BS. ;)

Does this also apply to high school students? My oldest attends a STEM high school here in Seattle, and this would be excellent for them.

<comment><USER2> > High school students are eligible as well.

> Since most high schools don't issue email addresses, the turnaround for > approval can be longer.

We're also huge fans of FIRST and love to support those groups. <http://octodex.github.com/FIRSTocat/>

</comment></comment><comment><USER27> <https://bitbucket.org>

</comment><comment><USER28> I sincerely wish that more educators would teach about Git. Obviously I'm going on personal experience, but how many people are coming out of college with CS or BIS degrees and they've not even setup a Git repo before? From my experience that number is too high. Hopefully offerings like this will help solve that issue.

</comment><comment><USER29> Wow Github you just lost out on a new subscriber! I was eyeing the micro accounts and then found this HN link. Thanks for being awesome!!!

</comment><comment><USER30> Our student radio station applied for an edu organisation account and within a week had our org upgraded, we weren't sure if we would classify but figured as we were fully student run and non-profit that it was worth asking.

Just wanted to add my thanks! :)

</comment><comment><USER31> Just out of curiosity, what happened to SourceForge? They were essentially the GitHub of the dotcom boom, and pretty awesome at the time, but really seem to have fallen off.

<comment><USER32> They're still around and active, just not in the spotlight as much. They're mostly used as a distributing system now. They're worth consideration if your projects host and distribute large binary files in addition to source archives.

<comment><USER33> That's exactly why we use SourceForge for Ubertooth, it gives us a good way to host released versions and some binary firmware images.

I mirror Ubertooth to Github because I was tired of having to answer the question "what's the Github URL?" from people wishing to browse the code.

</comment></comment></comment><comment><USER34> A friend of mine, upon seeing this page, noted that he applied for this a year ago and still hasn't gotten a response. What sort of turnaround these applications have?

<comment><USER2> For students with school-issued email addresses the turnaround time is very quick. Without a school issued email address the turnaround should be a few days.

Perhaps the message was caught in a spam filter somewhere.

I started working at GitHub in August and have improved the application process quite a bit from what it used to be.

Tell your friend to reapply.

</comment></comment><comment><USER35> Brilliant, I use Github to contribute to open source, but have had my private repos on Bitbucket. It's great to move over to the one platform :) Thanks Github!

</comment><comment><USER36> just use bitbucket for private repos.

</comment><comment><USER37> They also let (501c3) nonprofit organizations in for free at the bronze tier. Thanks!

<https://github.com/nonprofit>

</comment><comment><USER38> Bitbucket offers free private repos to everyone as well. And there's no need to fill out a special form. That's what I've been using for school projects.

<comment><USER39> If you add your student Email address to the account they'll give you unlimited collaborators too if you ever need that.

</comment></comment><comment><USER40> I think the 7$ dollars a month is reasonable for a great service, I'm a student (while working) but will continue to pay for my repos. I hope others do the same. I think a significant percentage of GitHub's user base are in school for something and could potentially qualify for this, but probably shouldn't if they can afford to pay. That said I use the student discount for Amazon Prime, so I am a hypocrite.

<comment><USER8> Github is a startup that took VC money. Use the free service they are offering you, if you feel so inclined to donate your money, they are several non-profit startups/organizations that need money badly so consider them first.

</comment></comment><comment><USER41> Is this exclusive to College students or are High School students eligible too?

<comment><USER2> High school students are eligible as well.

Since most high schools don't issue email addresses, the turnaround for approval can be longer.

<comment><USER41> I have a school issued ID, how would I go about this? Would I simply use the same form but with my personal email?

<comment><USER2> Use the same form and provide some additional context in the comment field.

<comment><USER41> I just did exactly that! Thanks :)

</comment></comment></comment></comment></comment><comment><USER42> I'm a student, so I get to take advantage of this, but if you aren't, a bare git repo in a Dropbox folder makes an okay poor-man's private repo. You need to be careful to let Dropbox sync before you shut down your computer, and, though collaboration is possible with shared folders, you're likely in for a world pain from syncronization issues.

<comment><USER43> This is a bad idea b/c of sync issues. Just use bitbucket, which is a poor man's github.

<comment><USER44> How do you classify Bitbucket as poor man's github? It has almost all the same features, supports git _and_ mercurial and unlimited private repos.

<comment><USER32> > supports git and mercurial

If you're implying that you're stuck with git if you use GitHub, you can use SVN with GitHub if you really want to.

[https://github.com/blog/1178-collaborating-on-github-with- su...](https://github.com/blog/1178-collaborating-on-github-with-subversion)

<comment><USER45> > you can use SVN with GitHub if you really want to.

How is that remotely relevant? Mercurial is a great DVCS with a user experience that is (in my opinion) far superior to git. SVN on the other hand is...I don't think I need to rehash this tired old DVCS vs SVN argument.

I would _love_ hg support on github, but until that time will use bitbucket for my own projects, perhaps occasionally syncing to GitHub using hg-git.

<comment><USER32> I'm not arguing one (D)VCS over another, I'm just mentioning that you have some limited flexibility just like you do with BitBucket. Your emphasis was on the "and", so I assumed you were counting the option of choosing your DVCS as a benefit, not the specific DVCS that were offered.

<comment><USER44> I am not the parent. I wrote the original comment, and my point was that I use hg, and github does not support hg.

<comment><USER32> Sorry, didn't notice I was replying to someone else.

Your point wasn't obvious from what you wrote; there's a mention of which DVCS BitBucket supports but not which DVCS you use.

> [BitBucket] has almost all the same features, supports git and mercurial and > unlimited private repos.

BTW, GitHub indirectly supports Mercurial. They wrote an hg-git plugin [1] that allows you to push to and pull from a git remote repo using hg.

[1] <http://hg-git.github.io/>

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER46> As an aside, both Bitbucket and Assembla provide free private repos.

</comment><comment><USER47> UK students with .ac.uk?

<comment><USER48> Yep -- all students are eligible.

</comment></comment><comment><USER49> I really like this idea. I had Bitbucket before but it doesn't have a sense of community. Plus Github's Wiki & ticketing system is kinda neat. Does anyone know how long it takes to get approval after adding .edu email account & verified?

<comment><USER50> It was instantaneous for me.

</comment></comment><comment><USER51> I tried to get one a few months ago. Still haven't heard from them. :(

<comment><USER52> I got mine more than a year ago in less than 30 mins. I was pretty surprised, since my student email address hostname uses a country-specific tld instead of .edu.

<comment><USER53> Same here (.nl). I guess GitHub has a list of approved domain names for this? Makes sense as .edu seems to be used in the US mostly. In that case it might take a while if you're the first student from your university to register.

</comment></comment></comment><comment><USER54> I applied two times and both times my application got rejected. My college doesn't provide any .edu or other email ids to its students so I guess this isn't for me.

<comment><USER2> Send an email to email@example.com and I'll take care of it.

<comment><USER54> I just applied third time with scanned photos of my college ID. I'll send the email if it gets rejected too. Thanks

Edit: They accepted it this time! Thanks :D

</comment></comment></comment><comment><USER55> This is great. I never learned GIT because I didn't want to pay to get a private repo. My next project will be on GIT thanks to this!

</comment><comment><USER56> I respect the effort and love that education and students receive but I would love to see companies offer these sorts of deals for other important industries like HEALTHCARE. It's "cool" when companies announce these deals but the reality is, more college students care about getting loaded than building software. Healthcare is arguably more important than education and the companies fighting to improve it have more financial challenges than most students. NOTE: I'm a 24 yr old college dropout and co-founder of a health startup.

</comment><comment><USER57> I'm a student of the Internet. I learn on it every day of my life. I'm guessing I don't count though because I'm not affiliated with a corporation that cares more about charging my bank account than making sure I learn anything.

<comment><USER8> Philosohical arguments like these don't make much sense on HN. By the same token, we all are students for life, either of Internet or of School of Hard Knocks. They also say .edu address so that should make it more clearer for you.

<comment><USER57> I see it more of an argument of definition.

Students - People who pay to have information presented to them in a nice and comprehensible manner.

Not Students - People who scour the internet and books in search of information that aligns with their interests.

It seems a bit backwards to me.

Yes, the actual definition requires a 'student' be in attendance of a 'school' or 'college'. What about Wikipedia, KhanAcademy, Google etc...? Aren't these new schools that I can 'attend' and don't have to hop through a bunch of red tape, apply, or send them money?

<comment><USER58> So, in this scenario 'student' is a proxy for broke and young and impressionable. These guys want to give a discount to impressionable youngsters who will learn their tool and take it with them into their careers. It has nothing to do with actually learning things in school, and everything to do with where you are in your lifespan.

I'm sure you feel very good about being self-taught, but the fact of the matter is that if you didn't pay tens of thousands of dollars for a prolonged adolescence with some vaguely educational overtones, you're in the minority. You can hardly expect them to have a 'idealist' package for people who are 'particularly nifty' or ambitious. 'Student' is a convenient way to filter out a demographic.

<comment><USER57> If it's simply that, then why restrict it to students, instead of by age? Most people under the age of 21 are broke, young, and impressionable.

I feel very good about the fact that I don't have to pay back debts for the rest of my life. I feel bad that a company that I look up to doesn't think the self-taught crowd are as worthy students as those who have it spoon fed to them.

<comment><USER58> Frankly, that'd be a fine policy, but it may well be considered discriminatory.

Not being in debt is awesome. Being self-taught is really cool, and I'm sure we could debate the merits of traditional university education all day. The fact of the matter is, wasting four years of your life and starting out deeply in debt is half the societal contract that makes you a 'student'. In exchange, you get to do student things. You get student discounts. You get a free pass to drink and be a git for those four years, if you choose. If you want to buck half the system, why not go whole hog and pay full price for GitHub? You're still saving $9958 a year over my education.</comment></comment></comment></comment></comment></comment>


Wi-Fi on the moon is now as fast as the Wi-Fi in your living room - <AUTHOR> http://www.globalpost.com/dispatch/news/science/140530/wi-fi-the-moon-now-fast-the-wi-fi-your-living-room

<comment><USER2> Speed is great - the latency is dreadful, and it's the latency that _really_ matters.

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

[http://rescomp.stanford.edu/~cheshire/rants/Latency.html](http://rescomp.stanford.edu/~cheshire/rants/Latency.html)

[http://www.internetsociety.org/blog/2012/11/its-still- latenc...](http://www.internetsociety.org/blog/2012/11/its-still-latency- stupid)

[http://www.edgeblog.net/2007/its-still-the-latency- stupid/](http://www.edgeblog.net/2007/its-still-the-latency-stupid/)

Oh, and also:

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

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

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

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


Show HN: A reader mode sharable url – built with Cloudflare workers - <AUTHOR> https://github.com/tuananh/reader <comment><USER2> Was looking for something exactly like this the other day. Wanted to share a short story but outline.com's default font looks wonky in polytonic Greek. This one works great, thanks.

</comment><comment><USER3> Similar to [https://outline.com/](https://outline.com/), but it doesn't work well for some webs. such as [https://reader.tuananh.net/?url=https://www.bbc.com/news/hea...](https://reader.tuananh.net/?url=https://www.bbc.com/news/health-51391151)</comment>