Death to C, ++ - <AUTHOR> https://techcrunch.com/2017/07/16/death-to-c <comment><USER2> Every aspiring programmer should learn C. They should also learn multiple dialects of ASM. Learning these things helps you better understand how computers fundamentally work, and knowing how computers work pushes you to write better code in any language. Ignoring how computers organize data can lead to inefficient code in any language.

That said, if you are writing something new, you should carefully consider whether C is the best choice before using it. If you are working within a nearly-impossible-to-replace + enormous codebase (such as the Linux kernel), it is the only option. If your project's #1 goal is performance above all else, and you are a seasoned or aspiring expert, perhaps C is the best choice. The majority of people writing software do not fall into either of these categories.

<comment><USER3> I feel like the length of the list of things "every programmer should know" is approaching infinity.

<comment><USER4> From my experience working with people, one can be an excellent programmer knowing just one language, whether it is C#, Ruby, or Java. On the other hand, I have met (too many) people who "knew" a lot but who were quite bad at putting that knowledge into practice.

</comment></comment></comment><comment><USER5> As a younger programmer, speaking honestly, it seems to me a significant part of the motivation behind Rust evangelism has to do with distinguishing yourself against older colleagues who have 20+ years of C systems programming experience. When you find yourself in a field that's supposed to be new and fast-moving, yet you're stuck in a junior position waiting for the old guys to retire, potentially for years, as if you're a journalist or academic or something, it's not hard to see why people look to develop a different skill set.

<comment><USER6> I get the same impression, and not just from Rust. It's pretty common for most new (or newly-popular old) languages. There will always be a certain percentage of programmers who are less out to solve problems than to look or feel better than other programmers around them. What better way to do that than in a language nobody else at your company knows? Nobody to correct your style, or your use of a deprecated idiom. More glory for writing a library that didn't exist yet in that language than for improving one that already did. You get to write the early blog posts and tutorials, maybe even a book, secure yourself a permanent place at the conferences, etc. The Javascript community (like the Ruby community before it) is full of people who came from Java for those kinds of reasons. There's a similar migration path from C/C++ to Go and now Rust. A long time ago, you might have found emigres from Pascal/Modula/Ada to C.

There are many reasons to move from an older language to a newer one. There are good reasons, and there are bad reasons. I think language designers and evangelists generally do a good job of focusing on the good reasons. It's unfortunate when such advocacy tips over into FUD, but I suppose it's inevitable too. Nobody likes to see their investment devalued because their favorite vehicle to fame and glory lost out, even if the alternative really was even better.

</comment></comment><comment><USER7> Bashing a successful language is not a way to get a new language adopted in my opinion.

I think C is a great language. I also think Rust is great but I would not bash one against the other.

This kind of evangelism is unproductive in my opinion.

</comment><comment><USER8> Whilst I agree it is hard to consistently write safe/secure code in C for increasingly more complex code bases, and that C is no longer the best tool for the job in these cases (there are better tools/languages out there), I think the author unfairly lumps modern C++ (>C++11) in with C. Modern C++ has many of the tools necessary to mitigate many of the problems C (and <C++11) can encounter.

I do think Rust is a viable replacement for C, but not a replacement for modern C++, rather an alternative - at least for the foreseeable future.

<comment><USER9> I actually think modern C++ is less safe than C, because of the ability of destructors to be invoked invisibly and cause use-after-free, just to name one major issue.

<comment><USER8> Unless I'm mistaken, if you're using smart pointers, the memory wont be freed until the destructor has executed its code. Use after free should only be an issue if you're using raw pointers.

<comment><USER9> > Use after free should only be an issue if you're using raw pointers.

Which you are, because "this" is a raw pointer. The same applies to references and iterators, which are used everywhere. It's not feasible to use C++ without using those features.

Besides, you can get UAF without any references at all. Read/write races on a vector, for example.

</comment></comment></comment></comment><comment><USER10> I'd say that n-gate.com would have a field day making fun of the "Rust Evangelism Strike Force", but this almost parodies itself.

</comment><comment><USER11> TL;DR: yet another pro-Rust rant.

</comment><comment><USER12> C is as unsuitable for the current world ad an axe or a hammer or a knife is. All of these are tools which, when wielded without care, are likely to cause a fair bit of damage. Then again, all of them are the go-to tools for their specific applications, in the case of C that would be systems programming one level above assembly (C is "structured assembly" and should be treated as such). Good luck using Rust (et al) to program that controller with a scant few bytes of memory, or the firmware for that wifi-controller, or ...

</comment><comment><USER13> The author does not seem to undestand how modern C++ differs from C. They are completely different languages with completely different idomatic styles. The only thing they share is some tooling.

</comment><comment><USER14> I'd like to thank Jon Evans for motivating me to write more C.

</comment><comment> open-source-ux Most of the modern web is built in C: Apache and NGINX. PHP, Python and Ruby; Linux and the BSDs.

I see the attitude to C as analogous to PHP in the web programming sphere. Everyone complains about PHP. And yet despite all the criticism to avoid PHP, the overwhelming majority of server-side web apps are written in PHP. Not Python or Ruby or Lua or some other language. Some estimates state PHP makes up 80% of server-side web code.

Why haven't these other languages displaced PHP? Because none of them can match PHPs simplicity and ease of deployment. Not Python or Ruby or Lua or any other language.

And of what of C? It's a similar scenario. Where is the fast, strongly-typed, low-memory programming language with a friendly readable syntax for low and high-level programming? Does it exist? Is Rust that language?

<comment><USER4> > _Everyone complains about php_

There is a famous quote by B. Stroustrup about this phenomenon.

</comment></comment><comment><USER15> I've heard hype around rust. Any seasoned c and/or c++ programmers use Rust now?

<comment><USER11> I find Rust an ugly and overengineered language. C++ is getting ugly, too, but not that much. In my opinion, C is the simplest and the better for systems programming.

<comment><USER16> You can't escape the ugliness of Rust. You can write simpler and more efficient code in C++ compared to plain C.

<comment><USER4> So true. The only advantage of C compared to C++ is incomparably faster compilation - primarily due to the "abuse" of header files by C++ libraries, including STL.

<comment><USER17> What about clean syntax, simple straight forward language?

<comment><USER4> Sure, with a few caveats: 1) you can limit yourself to a reasonable subset of C++ that is just as clean and straightforward; 2) _code written_ in C++ could look much cleaner and straightforward than it is possible to achieve in C; 3) many have argued that the C syntax is bad, especially compared to some other languages.

</comment></comment></comment></comment></comment></comment><comment><USER18> Modern C++ avoids many/most of the problems of traditional C with the use of smart pointers, standard containers and algorithms etc. If you write modern C++ in 2017 you get the speed benefits without the problems (I'd claim).

<comment><USER19> It's way too easy to do something like this in c++:

        auto v = vector<int> { 1, 2, 3 };
        auto &e = v[0]; // plan to use element later
        // ...
        v.push_back(v.size());
        // ...
        cout << e << "\n"; // boom

As a real example of this: suppose you're managing a vector of connected users. v is large enough to hold 64 user structs. e is a reference to the last user who produced an event. If a 65th user connects then the vector will need to be reallocated, thereby invalidating e.

Rust saves you here. The compiler will let you have a reference to the element if the vector is marked as immutable. If the vector is marked as mutable the compiler will yell at you and you'll need to store an index instead.

<comment><USER20> >if the vector is marked as immutable

So, mark it as const here and see the same effect?

<comment><USER21> Not really the same thing. const will stop you from mutating the vector, but it won't stop you taking a reference to an element you get in a const vector.

So, if you have a const reference, you can't make this mistake in it's entirety, but you can certainly make the mistake of keeping a reference to something you got through a const pointer.

Also, marking as const is something you have to opt-in to, and there is still disagreement on the value of const.

<comment><USER20> That is a library design issue. You can certainly design a vector that is immutable by default and can only allow you to get references when immutable and push_back when mutable.

That is the point of C++, things other languages do at a language level you can easily design as a library without paying a cost if you do not use it.

<comment><USER21> This still doesn't solve the problem because there is nothing stopping you from having both immutable & non-immutable references to the same data structure. And does not enforce that there are no references hanging around when you go from immutable to mutable.

Which is precisely what Rust does.

</comment></comment></comment></comment></comment></comment><comment><USER22> this is great "Security tips when programming in C (2017 edition): 1) Stop typing 2) Delete what you've already typed"

<comment><USER23> What about things that are already compiled, like your os kernel? Delete those as well? Postgres? rm -Rf? What about "rm" which is written in C as well. Pro tip is to do `rm /bin/rm` as the last command?

I love the language but this kind of shallow patronising is ridiculous and it doesn't serve Rust. It's not good for anybody. Rust can do (and does) better without it.

<comment><USER24> Not only that, many languages ( their compilers/interpreters ) are written in C...

</comment></comment></comment><comment><USER17> 1\. C is simple,elegant but not-so-productive, not-so-modern and, for sure, very very unsafe. Oldskool hardcore, trust the programmer, quake language.

2\. Modern C++ is so zero-overhead template and otherwise compile-time obsessed language. Yes it can be productive, somewhat safer than C, but the language is so terribly complicated, that it really misses the point imo.

3\. Rust is modern low-level language with safety agenda and zero-overhead abstractions. The type system is still hard to master. Guess this one fits low-level system programming very well.

4\. We really need a low-level productive modern language with just a 'convenience' level of safety, but high degree of control over low level performance: simd, alignment, atomics, cache levels etc.

<comment><USER25> Modern C++ gives you 4. Really. Read a tour of C++ and you'll see. The language there is VERY simple.

<comment><USER17> I have been doing C++ for most of my professional life. There is nothing simple about it. Also there is no standard way to use vector instructions or cache control. Everything else is terribly complicated with templates and rvalues/xvalues.

<comment><USER25> As have I, going on 17 years now. The vast majority of programmers do not need this.

<comment><USER26> 21 years of C++ here, give or take.

I haven't seen a C/C++ programmer who doesn't need that.

<comment><USER25> > there is no standard way to use vector instructions or cache control

Really?

Amazing.

</comment></comment></comment></comment></comment></comment><comment><USER27> I'm more concerned about old web frameworks and untrained engineers using them to build insecure webapps and data storage than I am about potential consumer level malware.

Over time many protections have been put in place to help mitigate against native bugs like DEP, stack cookies and ASLR. While not full proof, they make these attack vectors a lot more difficult and who knows, maybe we'll start seeing fully position independent code for all system libraries making it even more difficult.

I really need to check out Rust though and see what all the hype is about :)

</comment><comment><USER28> "If a feature is sometimes dangerous, and there is a better option, then always use the better option." -- Douglas Crockford

This could probably apply to anything, including a language itself.

<comment><USER29> There's in impedance mismatch in that assertion, though. Let's assume that the label "dangerous" can be applied objectively to a feature. What does it mean for another option to be "better"?

Better by what metric? The quote seems to suggest that the only metric is how "dangerous" something is, but in the real world that's just one of many trade- offs we must make. What about performance, instrumentation and debugging features, complexity of implementation, etc.

One imagines room for quite a lot of nuance in interpreting this recommendation.

</comment></comment><comment><USER30> Sometimes I wonder how the computing world would turn out if Pascal has won over C.

I spent a lot of time programming in Turbo Pascal, and C has always looked like a major downgrade to me. No modules, insufficient type checking, and the build system is a completely separate step with its own languages brought in (arcane command line, makefiles, project files...).

</comment><comment><USER31> > Rust, which is, in fact, a viable C/C++ replacement

Wrong. For example I cannot easily use a C++ framework from Rust. As bindgen and other bridge approaches get better, I have hope, but to say it is a viable replacement right now is just false.

</comment><comment><USER32> Still too much syntax. I don't mind security, but Rust defeats the purpose by drowning code in an ocean of keywords and punctuation. I'm a firm believer in encouraging rather than enforcing the right thing; languages are tools, not religions. Writing correct C++ is perfectly possible, especially if you're willing to put in a Rust-level of effort to get there.

<comment><USER9> > Writing correct C++ is perfectly possible

Unfortunately I know of literally no large-scale project worked on by a large team using industry-standard practices (i.e. not NASA levels of verification, which are economically unviable for most software) that has consistently written correct C++.

<comment><USER20> >has consistently written correct C++.

You can easily find examples for correctness modulo errors Rust would have prevented.

</comment></comment></comment><comment><USER33> off topic : what's the state of swift as a system programming language ? is its automatic memory management cost too high for this usage ?

<comment><USER34> Swift is fundamentally tied to the slow reference counting-based Objective-C GC. That's a compromise that looks unappealing outside the iOS/Mac OS sphere.

</comment></comment><comment><USER35> Oh god... Like Rust isn't a major PITA to use...

<comment><USER36> C's a major PITA to use too, it's just less up-front about it. C++ is a little more up-front, but also has its own minefields.</comment></comment>


Hawaii wind farm leans on giant battery bank - <AUTHOR> http://news.cnet.com/8301-11128_3-57347037-54/hawaii-wind-farm-leans-on-giant-battery-bank/?tag=mncol <comment><USER2> Nice to see wind being integrated nicely into the power grid.

Sadly this article is a straight up press release, including the promotional artist rendered image.

</comment><comment><USER3> Flagged for churnalism.

</comment><comment><USER4> It's never going to work anyway unless they put a roof on that thing.</comment>


Do social media threaten democracy? - <AUTHOR> https://www.economist.com/news/leaders/21730871-facebook-google-and-twitter-were-supposed-save-politics-good-information-drove-out <comment><USER2> One of the greatest tragedies I know of right now is a complete ignorance about alternative tools for collective decision making. Even in conversations with well educated friends, I struggle to convince people that this is anything more than an obscurity. The deep reality is that many voting systems incentivize polarization. First-past-the-post is a _source_ of the political us vs. them that is so vulnerable to exploitation in the first place!

Nicky Case made an excellent game/article about this issue. I encourage you to read it all the way through: [http://ncase.me/ballot/](http://ncase.me/ballot/)

<comment><USER3> It's certainly true that FPTP doesn't help, but I wouldn't single it out as the primary cause. 70 years ago we still had FPTP and things were not nearly as bad as now, and at that point we had been using FPTP for more than 150 years.

[http://www.mamartino.com/projects/rise_of_partisanship/](http://www.mamartino.com/projects/rise_of_partisanship/)

<comment><USER4> One thing to keep in mind is population is a factor. Literally every single member of the House of Representatives is either a Democrat or a Republican. In the Senate there are 2 exceptions, Bernie Sanders and Angus King. The interesting thing is that Sanders and King represent Vermont and Maine respectively. Vermont has a population of 0.6million. Maine has a population of 1.3 million. They're the 2nd and 9th least populated states in the country. First past the post isn't awful with smaller populations. With a small population it's possible for people to get their message out without the resources of an enormous party, and similarly not get drowned out by the resources of said parties when running against them.

But as population sizes increase the resources of parties become critical. And as voters become more and more disconnected from their representatives, the value of having a symbol by your name becomes much more important than what you actually believe, and in some cases the former actually ends up redefining the latter. In any case the fact that nearly everybody at most all levels is a republican or democrat even though fewer people than ever actually identify as republican or democrat, is something that I would call very strong evidence of a systemic problem in our electoral system.

<comment><USER3> I'm not an expert on this but from a quick google it appears ME and VT both have above average polarizations: [http://www.motherjones.com/kevin- drum/2013/05/how-polarized-...](http://www.motherjones.com/kevin- drum/2013/05/how-polarized-your-state/)

</comment></comment></comment></comment><comment><USER5> No. It threatens media/propagandists control over information.

That's why russia, china, europe and now we are working so hard to control social media.

It's threatens russian establishment propaganda. It threatens chinese establishment propaganda. It threatens western establishment propaganda. There is a reason why the media is attacking social media so vociferously.

<comment><AUTHOR> If Facebook, Google, Twitter, Reddit, et al, _manifestly demonstrated that they produced and distributed more rather than less accurate information_ your comment might have merits.

The fact is that they don't, that the platforms have been very much wide open to manipulation, that the founders and executives of the companies have denied that there is any such problem, and that malicious agents _have_ subverted the systems and through them social and political dynamics.

Your last paragraph frankly makes your first nonsensical. Either ensuring a sound epistemic and media system is good, or it is not. You're trying to have it both ways. The fact that manipulating media for control and influence is undertaken is very widely recognised, and has been for millennia.

<comment><USER5> > Your last paragraph frankly makes your first nonsensical.

How?

> You're trying to have it both ways.

No. I'm explaining why all governments and all propaganda organizations want to control social media.

It's why china banned facebook and why they are building their own internal/national social media platforms. The same thing with russia.

> The fact that manipulating media for control and influence is undertaken is > very widely recognised, and has been for millennia.

I know. That's my point.

</comment></comment></comment><comment> aaron-lebo Is this a repost? (No, it's not):

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

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

It's funny how media outlets are scrambling to state what was obvious at the very least a couple years ago but it's also kind of scary. It's great people are waking up to this, but worried about some kind of overreach based on emotion which limits not just the big players but also further innovation.

Is that a sign of incompetent media? Why do media outlets wait to talk about an issue until everyone else is, versus doing some kind of investigative research and informing their readers ahead of time? They seem way behind the curve.

<comment><AUTHOR> Thanks for those.

In its print edition, _The Economist_ begins with a set of "leaders" \-- brief introductions to a topic, for which there's almost always a much more detailed briefing.

The first item you link appears to be the corresponding briefing to the leader I've posted here.

</comment></comment><comment><USER6> > between January 2015 and August this year, 146m users may have seen Russian > misinformation

As if the fact that Russia may have funded it matters at all.

<comment> aaron-lebo Why would the source of misinformation not matter? Don't understand why people are so willing to ignore the Russia thing like it didn't happen. If you want to live in a democracy, sources of information matter.

<comment><USER6> > If you want to live in a democracy, sources of information matter.

How would it be any different if the NYT distributed the same material?

<comment> aaron-lebo Because the NYT is a US media institution and not a foreign country run by an authoritarian (ex-KGB no less) with strong incentives to disrupt politics in the US?

<comment><USER7> isn't the basic problem that people are willing to swallow entire narratives from random people without being sufficiently critical? Even if the propaganda came from one of the US parties directly instead of being funded by a foreign agent, democracy fails if whoever yells the loudest most ridiculous thing wins the election.

<comment> aaron-lebo Of course that's the basic problem, but if you don't lock your door, you'd still want to know who broke into your house?

<comment><USER7> eh...not really? it doesn't seem particularly fruitful. its not going to change anything, or prevent the Finns or Alabama State Bowling League or the Presbyterians from having an undue influence in any future election. I'm really alot more concerned that there seemingly isn't any way to get people to vote based on reasoned discourse about the best way to govern the country.

Given that, showing that some Russians who may or may not have had some ties to Putin's government posted misinformation on Facebook seems a bit irrelevant. Anyone can post misinformation. In your analogy my prized possessions are heaped in the middle of a field 2 hours outside of town.

</comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> A friend made the observation this past January that gets to the heart of the matter:

 _because of a high percentage of the population being present, there is now substantial power to be had by influencing the discussions that take place._

Source: [https://plus.google.com/104092656004159577193/posts/RCyGi3HQ...](https://plus.google.com/104092656004159577193/posts/RCyGi3HQnL1?sfc=true)

Discussion: [https://www.reddit.com/r/dredmorbius/comments/5wg0hp/when_ep...](https://www.reddit.com/r/dredmorbius/comments/5wg0hp/when_epistemic_systems_gain_social_and_political/)

What she said, in conjunction with a lot of thinking and research on my part makes me realise that media, communications, politics, and economics always _have_ been very, very tightly interconnected, though we seem to like pretending this isn't the case, or that the consequences don't matter.

(This ties into another observation: that masterminds are very often not so much _evil_ and _geniuses_ as _uninhibited_. And that removal of inhibitions can come through various mechanisms, including ignorance, stupidity, and denial. I suspect several of these are at play, and Facebook's Mark Zuckerberg in particular has been slow to realise that connecting a few billion not- entirely-BFFs might reveal some interesting dynamics.)

What a still-in-process review of the field of media studies and philosophy is turning up is the fact that _very nearly every major revolution in communications has resulted in massive and often painful or devastating disruptions to social order_. We see this in the written record _going back to the origin of the written record itself_ , and there's anthropological evidence to suggest that speech may also have contributed to an accelerated divergence between various proto-human clades.

Writing, maths, accounting, insurance and risk, printing, calculus, literacy, telegraph, telephone, phonographs, radio, cinema, television, and subsequent technologies have each produced major shifts in political and military systems. Printing and literacy are associated with the Protestant Reformation (just celebrating its 500th anniversary this week), the 30 Years War, arguably the American Revolution -- the first of the modern revolutions -- and the French and many revolutions of the 19th and early 20th centuries.

The rise of Fascism is _very_ tightly tied to the emergence of radio, public address and recording equipment (Germany remains a centre of excellence for same), and mass distribution of cheap books. _Quotations from Chairman Mao Tse-tung_ (a/k/a "The Little Red Book") rivals the Bible as the most published book of all time, with estimates ranging from 2 - 6.5 _billion_ copies printed.

And Facebook can reach _two billion people worldwide_. It is quite literally the single largest media platform ever developed, with global and instant reach.

The thought that parties interested in power, manipulation, or disruption _wouldn 't_ seek to influence this is ... frankly, idiotic.

And the truth that the impacts of any such manipulation extend _far_ beyond the management and beneficial shareholders of Facebook, Google, Twitter, Reddit, etc., is a, pardon, trumping argument for why these platforms _must_ be regulated.</comment>


Show HN: ImAlive – Personify your phone - <AUTHOR> Hey there :)
My name is Hay and i'm the owner of ImAlive. ImAlive is an Android mobile app that allow users to change the way their phone behaves by applying a character into their phone!
A Character is a unique skin applied to the phone, it contains image and sound assets, along with a Javascript that controls the way that the character behaves.
Users are also able to choose any character they want based on the things they like from a variety of categories! and they can also create their own character!
I have made guides and tutorials to help my users, and opened a forum to answer any questions they might have :)
Website: https://www.imaliveweb.com
Promo video link: https://www.youtube.com/watch?v=5jXX2M0c_2M
Beta registration link: https://play.google.com/apps/testing/hayzohar.imalive
The app is on a mid-level Beta stage, and im looking for more beta testers to help me out. I'd be glad to hear and implement any ideas so please feel free to send them to me :)
Thanks!! <comment><AUTHOR> Hey everyone,

To the people who contacted me regarding the IOS version.

It is currently under development and not available yet.

Thanks :)

</comment><comment><AUTHOR> Added some more information to the guides as requested by other users :)

Please tell me if you find anything that you would like to see/change/update, i'll be happy to speak to anyone :)

MY Email : firstname.lastname@example.com.

Thanks!!

</comment><comment><USER2> Hey ! Nice job there, this looks fun !

<comment><AUTHOR> Thank you very much! :D Please tell me what you think, if you would like to change or add something :P

Have a great day :)</comment></comment>


Why we ended up not using Rails for our new JSON API - <AUTHOR> https://blog.dnsimple.com/2017/03/why-we-ended-up-not-using-rails-for-our-new-json-api/ <comment><USER2> Luca Guidi has no bias driving the decision I'm sure.</comment>


IPhone 5 was Steve Jobs' last big Apple project - <AUTHOR> http://venturebeat.com/2011/10/16/iphone-5-steve-jobs-last-project/ <comment><USER2> Apple is one of the most opaque companies out there — my bet is that we won't know what his last project was for a number of years. Also when Apple is working on the long term they tend to think of customer oriented features as much as specific products -- in that way if you see Siri on your Mac, iPad and TV set that could be a "Steve Jobs project".

For me Steve Jobs last big project was saving Apple itself -- a company that everyone had written off when he came back there. His other last big project will be seen as having destroyed the PC as the main platform for users -- much in the same way that he started his career by using the PC to take away the limelight from mainframes.

And lastly I hope out there is some kid who will be inspired by Steve Jobs to do the next great thing years from now -- I know it will happen, and I can't wait to see it (so the ball is in your court kids!)

</comment><comment><USER3> Why is it so hard for people to understand that the iPhone 4S IS iPhone 5! The next iPhone will be the 6th one, if that's what they mean. There's zero chance the next one will be called iPhone 5.

It's annoying to see this everyday, and it speaks a lot about the state of the tech blogosphere, where most are just quick to copy each other rather than think for themselves. It's not even a hard concept to grasp.

It's even easier than the one where they also erroneously called the next iPhone after 3GS, the iPhone 4G, when AT&T didn't even announce a LTE network or even a faux "4G" one, and Apple never named their iPhones "2nd or 3rd gen". iPhone 2G and 3G were named that way because of their 2G and 3G connectivity.

<comment><USER4> There wasn't a 4G. It's called the iPhone 4, and it's successor is the 4S. Notice, no G in there.

The original iPhone was called "iPhone." No 2G in the name. Yes, it was using a 2G network, but it was NOT the iPhone 2G. The iPhone 3G and 3GS (maybe) were the only named phones based on their network connectivity.

1\. iPhone 2\. iPhone 3G 3\. iPhone 3GS 4\. iPhone 4 5\. iPhone 4S

So while you have a possible chance of the next iPhone being called the iPhone 6 based on past naming schemes, that doesn't make your argument correct.

Also, Apple can call their phones whatever they want. There wasn't an iPhone 2 but that doesn't mean there can't be an iPhone 5.

Maybe I'm misunderstanding you, but that's your own fault for being so damn confusing. You seem to be struggling between understanding the "G" to mean phone generation instead of network generation.</comment></comment>


QtNotepad: Super lightweight and super simple notepad application - <AUTHOR> https://github.com/rattle99/QtNotepad <comment> d--b Genuine question: how do these posts make it to the front page?

I mean no offense for the poster, but this application doesn't do anything, the code is like 200 locs. It's basically a toy project from someone trying to learn a framework that's not particularly innovative.

<comment><USER2> I think projects like this are great examples to learn from, especially when executed to a high standard.

Somewhere between partial examples of a bit of a project, and a full blown 'proper' application that would be too big to use as an example, there is a sweet spot for project like this. I think that's why they occasionally bubble up. Certainly if there was such a thing as a single 'best' sample project for any language I was interested in, I'd like to have a look at it.

</comment></comment><comment><USER3> When using qt as dll's, apps typically become several tens of mbs in size in my experience. I'm on Windows though. Is windeployqt extremely suboptimal if this is just 50kb standalone?

<comment><USER4> From what I remember you need a commercial license to link QT statically so it's unavoidable. I'm guessing linux reuses the shared library, but apps on windows usually ship all DLLs alongside the binary.

<comment><USER5> > apps on windows usually ship all DLLs alongside the binary

Can someone tell me _why_ this is the case? Beyond simply not having a package manager to do dependency resolution. You lose most of the benefits of shared libraries if you do this.

This is probably why dynamic linking appears to be decidedly a second-class citizen with Rust and co.

<comment><USER6> Afaik, they ship installers usually, not simply a dll binary for their local use; if its installed systemwide, no installation occurs, and if not, its installed system-wide. But the system's copy is used generally, in either case.

</comment></comment></comment></comment><comment><USER7> I don't follow. What can this do that notepad.exe can't?

<comment><USER8> It's a Qt app which can run on virtually any platform.

<comment><USER9> Fwiw, Notepad runs great under wine :) But why would I use notepad when Sublime is so much prettier? MSPAINT, on the other hand...

<comment><USER10> If I take notes. Or open up a file to check something. Or do anything that isn't programming. I only ever open in Notepad it Notepad2. I would never open into a full editor like notepad++ or sublime etc.</comment></comment></comment></comment>


Is Stuxnet an Israeli-invented attack against Iran?  - <AUTHOR> http://www.networkworld.com/news/2010/093010-stuxnet-israeli-iran.html?hpg1=bn

<comment><USER2> Why do people think it's more likely to be a government than an independent group of activists or single activist?</comment>


Surface 'Centaurus' Is Another Dual-Screen Microsoft PC with Windows Core OS - <AUTHOR> https://www.windowscentral.com/centaurus <comment><USER2> TL;DR: Please release this Microsoft, even though I am pretty sure you have too many cooks in the kitchen to get this out the door.

I'll say it again (though it may not have been HN on which I first said this _shrug_ ): Microsoft runs the risk of getting Microsoftitis, which is the disease they suffer from that makes them think good products are bad, and vice versa.

They killed Courier because it wasn't an 'outlook first' format even though it was the freshest MS idea since Altair Basic (or whatever MS invention you like), and they have a penchant for killing off things people actually like (1) for things people merely tolerate (2) or hate (3), or, in Windows Phone 7/8/8.1 case, killed because MS couldn't NOT reboot every few years (kinda like Sony and the Spider-man franchise)

1) Courier, P2P Skype, VB6, FoxPro, Live Writer, Photo Story, perpetual Office licenses

2) Yammer, Office 365, Lync/S4B, Teams

3) Sharepoint, new Skype, Paint 3D, Windows 10 owns u

</comment><comment><USER3> I would love it if they tried again to make a phone....</comment>


Apply HN: Echo Cut – Content curation that reduces media bias - <AUTHOR> The Name, from Echo Chamber and Paper Cut.
The Pain point.  Everyone considers news these days to be very biased politically and often it is.  However, instead of pulling away from this bias people more and more are gravitating towards it.
The Idea.  Create a news curation site organized by topic of the day, i.e. Panama Papers, Justice Scalia dying, debates, etc. Everything starts in the middle and readers decide if the article is left or right.  This will then cause the articles with bias to move to the right or left of the page.  The goal is for more people to read other sources and for writers and articles that are fair to remain in the middle. <comment><USER2> What's the business model? How will you prevent the business model from destroying the integrity of the site? How will you detect cheating, vote brigades, and other problematic users?

What is your competitive advantage over Reddit?</comment>


Android Passes iPhone Web Traffic In U.S.  - <AUTHOR> http://twitpic.com/1iw7bn <comment><USER2> Actually, this was disputed. Its based on AdMob and is not a indicator of web traffic.

</comment><comment><USER3> Its a bit vague, would be nice to know what this is based on.</comment>


Cool meet for lunch networking site - <AUTHOR> http://www.noonhat.com/lunch/

<comment><USER2> love the concept, wanted it to give me names of restaurants within the circle.

</comment><comment><AUTHOR> We'll see where it sends me on Wednesday.

</comment><comment><USER3> it is a really cool idea. could be a lot of fun. social experiments are great.</comment>


Rain closes Burning Man on opening day - <AUTHOR> http://blog.sfgate.com/stew/2014/08/25/rain-closes-burning-man-on-opening-day/

<comment><USER2> I've never been to Burning Man. Is it still the same event, or at least similar to, what it was years ago or has it been overrun by "The Man" as I've heard so often? It would be disheartening if that is the case.

I found the uptick in prices interesting, from free to quite a bit above not free[1] I don't know if this is also due to "legitimising" the event with permits and such.

[1] [https://en.wikipedia.org/wiki/Burning_Man#Timeline_of_the_ev...](https://en.wikipedia.org/wiki/Burning_Man#Timeline_of_the_event)

<comment><USER3> I know quite a few people who went or were going this year. It's pretty expensive to go. There's the event ticket, but most people also need a plane ticket, as well as special provisions for food and lodging. It can easily be a $2000-$3000 trip. It seems a little hypocritical to have an event that seems to want to have some kind of a hippie/grassroots appeal, yet is so inaccessible to most people.

I'm sure it's an awesome wild party, but now, there are people going there and spending $45K on accomodations, I heard. Building temporary houses with AC and such. Gentrification of the desert?

<comment><USER2> That's awful! It certainly does seem like the Gentrification of the desert as I don't see how any of the hippies I know could afford to go - it's a bit outside my range as well. Where I live right now that's more than a month's rent.

I can't imagine a hippie building a house just to be comfortable for an event considering there are quite a few that have lived for years in little more than outhouses on wheels.

<comment><USER4> some of that has always been the case. getting to nevada is never gonna be that cheap if you don't live there already.

It's also a desert. So you definitely have to be properly prepared, like making sure you have enough water. I don't think a lot of folks are used to handling those kinds of conditions</comment></comment></comment></comment>


Old Standards vs. Common Core: A Side-By-Side Comparison of Math Expectations - <AUTHOR> http://excelined.org/common-core-toolkit/old-standards-v-common-core-a-side-by-side-comparison-of-math-expectations/ <comment><USER2> I won't even touch the political reflexive negativity surrounding Common Core.

However, the only non-political (I'm being nice ...) criticism I continue to see is in the mathematics. And it's always because of "word problems". Common Core likes "word problems" and reasoning a _LOT_.

I have taught math. With very few exceptions, _everybody_ hates word problems. Most students just want "Give me the question and give me the procedure so I can regurgitate the procedure. Don't make me think." They don't want to reason.

You can see this even in senior year of high school in the US in science. Just try to get the students to explain why they are doing an experiment (In short: "state the hypothesis"). It's almost always a disaster. After a year, you might get a majority up to the point where they can actually state it coherently.

I have this problem even with some really senior engineers when debugging things. "We did X, Y, and Z. They didn't work." "Um, okay, why did you do X, Y, or Z?" "Huh?!?!?!" "Why should X, Y or Z have worked? Is there a relation between X, Y, or Z and the problem? What is it?" <puzzled stares>

So, I see the objections as positive evidence that the Common Core standards are _doing their job_. The fact that adults have trouble with some of these problems is no surprise. Most of them skated through reasoning and word problems themselves.

<comment><USER3> Totally agree on the importance of reasoning.

Word problems though are often hated because they're so ambiguous in unintentional ways that don't really relate to the problem. Eg, in the middle school example on the page, when it says "She makes $4.40" do they mean net or gross? In this case, it turns out that only one of those gives you an integer answer, so you can work out what they meant, but it's not uncommon to see problems where that's not the case and you're stuck making a 50/50 guess. With the current emphasis on test scores, that adds a lot of stress.

<comment><USER2> > Word problems though are often hated because they're so ambiguous in > unintentional ways that don't really relate to the problem.

Statistical analysis helps this _dramatically_.

I remember all of the SAT prep books I used to have. I could never score much better than just very good. Never understood what the problem was.

Then I got actual SAT's from previous years. Perfect scores, no problem.

The difference was that the SAT questions had been vetted by statistical analysis. Any question that was ambiguous was removed or reworded.

</comment></comment></comment><comment><USER4> The examples given seem to be a bit of a strawman argument. Sure, asking a single, focused question tests less for understanding than the multi-part Common Core examples. But at least from what I remember, you'd be drilled on all the different permutations of these kinds of word problems anyway, so the net effect is the same.

Also, I really don't see how their reasoning follows on their first example. 3 shirts, $4/per shirt = $12. 7 shirt, 6 buttons/per shirt = 42. All that multiplication is, on the integers, anyway, is repeated addition. The only real difference I can see is that you can do the first example on your fingers and toes, whereas you'd have to scratch some tally-marks in the dirt or on paper to do the second if you don't know multiplication tables.

What I wonder about with these Common Core curricula, is whether students will ever get enough practice working through mathematics operations to really be comfortable with it. When I was taught math (and it really wasn't that long ago), we were never allowed to use calculators, and we did sheet after sheet after sheet of additions, subtractions, multiplications, divisions, polynomial expansions, equation simplifications, etc. Maybe five or ten minutes, every day; they were probably graded enough to make us do them, but not enough to really matter. Most of the Common Core style math worksheets I've seen require far too much rewriting the algorithm from mathematical notation into grade- school English to ever allow that kind of repetition.

<comment><USER5> > When I was taught math (and it really wasn't that long ago), we were never > allowed to use calculators, and we did sheet after sheet after sheet of > additions, subtractions, multiplications, divisions, polynomial expansions, > equation simplifications,

A child can do sheet after sheet of calculations and co-incidentally get the right answer, without having any understanding of what they're doing.

They can manipulate these symbols because they've memorised a routine. But because they lack understanding they stumble when they move onto something more advanced - they need to forget what they thought they knew, re-learn it properly, and learn the new thing.

I agree that the first example is a confusing example to use, and that there doesn't seem to be much difference.

<comment><USER6> _A child can do sheet after sheet of calculations and co-incidentally get the right answer, without having any understanding of what they 're doing_

I think the intent of those is to let the implication of what multiplication really is sink in as they do those calculations repeatedly - as they start to notice patterns in the numbers.

 _But because they lack understanding they stumble when they move onto something more advanced_

On the contrary, if they memorise the tables they can multiply quickly without much thought, which becomes useful later on when they move onto more advanced concepts. The alternative is to "understand" multiplication; but not having done it much, fumble around and be error-prone when solving a more advanced problem actually requires the use of multiplication as part of its solution. It's distracting to the thought process and inefficient to have to exert effort to recall "how to multiply" (and possibly "how to add", but hopefully not "how to count" too...) when one's focus should actually be on a higher- level concept.

I worked with some first-year CS students and the number of them who had difficulty with a _single digit by single digit_ multiplication (e.g. 7 x 8) makes me think mental arithmetic is one of those skills that really needs to be drilled into heads. Understanding the concept is good, but being able to effortlessly put that into practice is even better.

<comment><USER7> Exactly that kind of single by single digit mental multiplication is useful how in computer science?

I do have some difficulty coming up the answer to 7 x 8: I have to work that out from 8x8. This takes a couple of seconds, tops. Assuming one can still understands how multiplication work and can actually find a correct answer in a matter of seconds, or maybe tens of seconds (and a pencil and paper), that's really quite enough. (edit. If you meant that students can't come up with the correct answer at all, okay, then you have problem, but that seems quite improbable so I assume you meant 'remember instantly'.)

As a CS major, things I work with include proofs, set theory, mathematical logic, or even abstract algebra (and here the important thing to realize about multiplication is how it relates to addition and taking powers and how that can be generalized or abstracted), and most importantly, everything resembles general abstract mathematical problem solving, not memorizing multiplication tables. Even within realm of basic arithmetic, the idea of logarithms (and some familiarity with the powers of 2) is far more useful, and that's more of the abstract concept side of it (edit. okay, some general feeling of logarithms helps, too).

I feel positive about any mathematical education that tries to train those important skills and at the same time portray mathematics as an art of exact reasoning, not just rote memorization.

<comment><USER4> That's basic numeracy, the kind people need every day in their lives. This widget costs $7.99, and I need 7 of them, how much is this going to cost me roughly when I get up to the checkout counter? Is there enough cash in my wallet? That's ~$56, and I've got $60, will that cover the 5% additional sales tax? 10% of $56 is $5.60 (by the shift the decimal point method), half of that is $2.80. Guess I'm good.

Being able to estimate and do mental math quickly is important for everybody, and the key to doing that is rules-of-thumb and having the basic facts memorized. Think of it as caching/memoization and heuristics, if that puts it in a more computer science frame.

</comment></comment></comment></comment></comment><comment><USER8> I've never personally heard any reasonable criticism of Common Core. The criticism tends to either be "The Federal Government is overreaching!" combined with some States Rights dogwhistling or "This wasn't the way I was taught and since this confuses me, a grown adult, I have decided that it's bad for children! [who have a completely different set of requirements and experiences]

Are there any sane, evidence-based criticisms? Because Common Core seems like a decent improvement to me.

<comment><USER9> > I've never personally heard any reasonable criticism of Common Core

I'm a away from my desk, but the examples that are causing the most problems are not the ones shown in the referenced article (those seem quite reasonable). The problem is how they teach addition and multiplication. Basically they are trying to do abacus math without the abacus. They also accept estimates instead of actual answers and a total removal of the memorizing of tables. A buddy of mine who is an EE with a heavy math background has had trouble helping his child get the correct answer. The worst part is he taught his daughter math early and she struggles because she knows the answer but doesn't know how to express it the way her teacher wants. This is a true pain because he thought he was raising a kid excited about STEM and now its just a wall.

As to the state rights and such. Yes, that is a valid issue, but is much broader than Common Core and a continuation of lunches and NCLB. Common Core is just more evidence to an old argument.

<comment><USER10> _> A buddy of mine who is an EE with a heavy math background has had trouble helping his child get the correct answer._

Yeah, these anecdotes of supposedly brilliant people incapable of learning a new way to add numbers are always about engineers and accountants and stuff. Never an actual mathematician. It's almost like they went through an entire college degree pushing symbols and were never forced to stop and come up with a real proof on their own...

It's possible to have a heavy math background and still be shit at math. Especially if that background stopped short of anything proof-based (but even then, plenty of people memorize proof techniques instead of actually understanding the arguments and the subject).

Calculus sequences and ODEs courses that EEs take are particularly bad. They are just symbol pushing like in middle and high school. More symbols and more complicated pushing, but nothing essentially deeper.

If I had a dime for every vector calculus student who didn't understand basic facts about the Reals (or even the Integers)... and most of them get decent marks, too.

So, new rule: any rant about common core mathematics can only contain as many words as the number of words in the longest proof the speaker has written outside the context of a homework assignment or exam.

<comment><USER9> > So, new rule: any rant about common core mathematics can only contain as > many words as the number of words in the longest proof the speaker has > written outside the context of a homework assignment or exam.

No, he is "not shit at math", he loves it, tried to pass that love on, got that dream promptly resisted, and you don't make the rules. Anecdotes and narratives are valuable. Looking at a lot of these studies, they are just gussied up anecdotes with questionable method and results.

<comment><USER10> _> Anecdotes and narratives are valuable._

But when those anecdotes and narratives are ultimately nothing more or less than an appeal to authority ("I'm an ENGINEER/accountant/etc. and can't do/didn't do/don't need to do this -- it must be crap!"), then it's absolutely reasonable to question that authority.

What, exactly, was the problem that your friend had trouble finding the correct answer to?

I'm extremely skeptical claims with the form "I'm an X and can't do CC problems" for a reason. There's no shortage of anti-common-core accountants/engineers/etc. who take the the blogosphere with complaints that " _even they_ " don't know how to work a problem.

But when you look at the problem, it's just performing addition using a non- standard algorithm or setting up and solving for a linear relationship. Not exactly rocket science. And then you look at Calc III classrooms and see students who clearly haven't internalized division. Which leaves only one conclusion -- being an engineer or accountant who made it through a few calc courses doesn't exactly equate to "good problem solver" or "understands anything about mathematics".

 _> Looking at a lot of these studies, they are just gussied up anecdotes with questionable method and results._

I'm not really sure what you're talking about here.

I don't need empirical evidence that understanding multiple algorithms for a arithmetic procedures is a useful and crucial exercise. Just like I don't need empirical evidence do know that there's a lot less value in memorizing quick sort than there is in seeing multiple different sorting algorithms and comparing them.

 _> and you don't make the rules_

Obviously :-) But it's a good sanity check on what it means to be well-trained in mathematics.

If you've never written a proof of substantial length, you really _don 't_ know what mathematics actually is. In particular, the mathematics courses US engineers and accountants take are mostly unsubstantiated symbol pushing (warrant: find me a calculus student in the US outside of Chicago or a few other places who can prove the fundamental theorem), which _isn 't_ mathematics.

<comment><USER9> > I'm not really sure what you're talking about here.

Common Core is based on a bunch of studies, look up the list cited in the documents on it.

> If you've never written a proof of substantial length, you really don't know > what mathematics actually is. In particular, the mathematics courses US > engineers and accountants take are mostly unsubstantiated symbol pushing > (warrant: find me a calculus student in the US outside of Chicago or a few > other places who can prove the fundamental theorem), which isn't > mathematics.

When you decide that only one place in the US has any idea what mathematics is, then this discussion is not going to go any further. I guess Harvard, MIT, etc. don't count.

<comment><USER10> _> Common Core is based on a bunch of studies_

I'm not an educational researcher and I don't have a thorough understanding of the research methodology or the issues involved in designing those studies. Every Education researcher I've talked to thinks anti-common core people are a bit nuts and/or fundamentally don't understand what common core even _is_ (I think most of them would put you in this second camp, since you're complaining about specific assignments).

But as a mathematician, some problems are obviously the sort of problems that anyone with a passable mathematics education should have no problem solving. The common core problems people complain about are decidedly in this set.

So when people say "I can't solve this common core problem", I mostly take it as an indication that they've had a really shitty mathematics education rather than an indication that common core is flawed.

And yes, even someone who has passed through a calc course at Harvard can be bad at math.

 _> I guess Harvard, MIT, etc. don't count._

Harvard, MIT, etc. have excellent Mathematics departments and, following my criteria, any Math major for either of those institutions could have a lengthy conversation about common core. Indeed, among the many mathematicians I know with undergraduate degrees from Harvard College, I've never heard a single one complain that common core problems are obtuse or difficult.

The distinction I was drawing is that US-based Calculus for Engineers and ODEs for Engineers courses _aren 't_ proof-based except in a small handful of cases. And, those courses are often easy to skate through with little or no mathematical understanding. Yes, even at elite universities.

Which goes back to my original observation -- if you really can't add numbers in a novel way or setup and solve for a set of linear equations, then you're apparently not very good at math. Even if you are an intelligent pattern matcher who made it through a few calc courses by applying templates and performing rote calcuations.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Can't say I've been following Common Core too closely (my kids are 3 and 1 respectively, so there'll be a bit before it affects me directly). But these example questions just seem completely to be arguing with a strawman:

The only difference in the elementary school question was bigger numbers.

The first middle school example contains only one additional step (being able to do algebra instead of just arithmetic). The explanation for the "old way" contains the word "simple" gratuitously - you might as well say that the CC version of the problem only requires "simple algebra."

For, the second middle school example, I definitely had questions that were multi-part like that in middle school. Also, each part is just applying the same formula a few different times - but the explanation given makes it seem like it's a whole new thing!

The explanations for the high school example is really the worst one though. "This question is an example of solving equations as a series of mechanical steps" and "This question is an example of solving equations as a process of reasoning" mean basically the same thing, just one is put in a derogatory manner.

The CC version of the question itself is also vague: can I pick any two equations that have the same solution? Should I pick equations that are the intermediate steps toward the solution? Does "y=5/3" count as one of the equations?

<comment><AUTHOR> Regarding the elementary one, there's a good reason for the larger numbers though. With 4x3, a student can get the right answer through a counting process. 1-2-3-4 5-6-7-8 9-10-11-12

For someone who hasn't either memorized multiplication tables or learned faster ways of working out the answer, that's likely the approach they will take. With 6x7 on the other hand, it's natural to look for a faster (better) way to solve the problem.

I agree that the last question was vague / poorly state.

</comment></comment><comment><USER12> For clarity, these are the actual Common Core math standards. If it's not in here, then it's a problem with the curriculum instead of the Common Core. [http://www.corestandards.org/Math/](http://www.corestandards.org/Math/)

</comment><comment><USER13> The problem with Common Core, in my experience, has not been the math itself. It's the textbooks. The workbooks. The stubborn teachers.

Math is math. Knowing more than one way to solve 345 * 14 is a valuable skill. I would rather my children learn it on a whiteboard than from a workbook, and I think generally the quality of the modern texts is very poor for actually teaching math.

I also think the teachers are bemoaning the Common Core much more than they need to. Explicitly teaching the algorithms for mental math is important. Learning how to do the lattice method, even if it's not the preferred method for multiplication, is important. I've talked to far too many teachers who have complained unendlingly about the weakness of the standard, and all that the kids are being forced to learn. It feels very much like a "This is change and change is bad." mentality.

Disclaimer: I haven't encountered the Common Core as a parent at a high school level yet.

<comment><USER14> I've looked at some recent high school algebra textbooks. What a disaster. These books are literally written by committee, the "author's" page in the front has a dozen headshots complete with bios. The content inside the book is a mishmash of color photographs, historical information, brain teasers and junk.

The texts are distracting and takes away from what SHOULD BE an uncluttered exposition of the basics of mathematical reasoning.

<comment><USER6> I suppose it's just a result of "maths is boring" complaints, hence the attempt to make things a bit more attention-grabbing, but I agree that it distracts from the actual content. Maths does need deep thought and reasoning, which more plain textbook design facilitates.

I remember using the books of Durell[1] when I was in school, and those were definitely quite plain.

[1] [https://en.wikipedia.org/wiki/C._V._Durell](https://en.wikipedia.org/wiki/C._V._Durell)

</comment></comment></comment><comment><USER15> What I'm seeing with my Maryland 3rd and 5th graders is lots of focus on number patterns and word problems using the integers. I think they are also getting fewer, and sometimes harder, problems than they would have previously.

Some of that is good. At times they really are being required to think more deeply.

The problems I have seen are: a. Emphasis on explanation even when it doesn't make sense. In 2nd grade they brought home worksheets with 20-30 simple addition problems where they were asked to 'explain' each answer. b. Focus on a narrow range of topics, to the point where they are not always learning the basic vocabulary of mathematics. c. In particular, there has been very little attention given to geometry.

<comment><AUTHOR> a. sounds like a perfect example of the concepts of CC being mis-applied. It might make sense to explain how they arrive at the answers in general, but separately explaining each answer is obviously nuts (and would have driven me crazy when I was in school).

</comment></comment><comment><USER16> If 3(y-1) = 8, then what is y?

On what planet is this a high school math problem? How do people learn linear algebra and vector calculus in college if this is what they're at in high school?

<comment><USER17> There are several level of classes at the middle and high school levels. Normally this would be taught in elementary school. But there are some students who do need to be taught this again in high school. There are a whole debate of possible reasons why, but providing the basic math avoids sticking them in classes which they are guaranteed to fail

<comment><USER12> Exactly - my "pre-algebra" class in 8th grade put me beyond the entire "Algebra" class when I started high school. And my calculus teacher in college wasn't very good so I coasted through 2 classes based on what I learned in high school and then flunked out of the 3rd because I finally ran into new ideas.

</comment></comment></comment><comment><USER18> The first example is pretty bad. It could just as easily be "Each shirt costs $6. How much do 7 shirts cost?"

<comment><USER8> It has to do with the particular phrasing of the question. The correct phrasing for your example would be, "Each shirt costs $6. How much money do you need for 7 shirts?" It may seem like a meaningless distinction but it isn't. The first phrasing sets you up to count, the second phrasing sets you up to multiply and grapple with what multiplication actually is.

<comment><USER6> I don't see any real difference in phrasing. They both involve multiplication, and you can always use repeated counting to multiply. Could you explain more where the difference is...?

<comment><USER19> One requires math. The other requires English comprehension before you can work out what the math problem is.

And in the "Write two equations..." example the English is very vague. There's no suggestion that what it really means "Show the steps you use to rearrange the equation as you work out what y is."

As I read it, it's clearly not stating the real problem correctly. If you write two arbitrary rearrangements that are correct but aren't steps on the way to solving the equation, do you get marked down or not?

The first example is clearly specious. What is being taught? The concept of multiplication, the memorisation of times tables for multiplication, or the use of multiplication to solve simple problems?

I have no problem with a unified national curriculum, but I'd prefer it to be a unified national curriculum supported by hard evidence that it improves outcomes and understanding. This looks more like pointless tinkering around the edges - especially if the textbooks are really bad, as others have suggested.

<comment><USER6> _There 's no suggestion that what it really means "Show the steps you use to rearrange the equation as you work out what y is."_

I did not get that meaning at all from the wording. (I'm not in the US.) My best guess was that it was a _really_ open-ended question and _any_ two equations with a solution of 11/3 would do, which seems like a rather odd thing to ask.

</comment></comment></comment></comment></comment><comment><USER20> My mom is a college math teacher, previously a high school math teacher, and helped develop the current Texas standards. She knows a number of the folks who wrote the California Common Core and has high praise for it in principle.

In practice, she is quite frustrated when she tutors my daughter. She has worked with her Over FaceTime, using Pearson's own remote tutoring app, and over a two week "Grammy Camp" in the summers.

Thanks for posting the side-by-side. I wish they would tell the parents something like this, once per testing period or so. My undergrad is in physics and I too struggle with how to help when asked.

<comment><USER2> > My undergrad is in physics and I too struggle with how to help when asked.

In what way? Is it that you're trying to replicate an unfamiliar procedure or an unfamiliar concept.

Maybe as an engineer I'm just unusual in that all of the Common Core procedures I have seen so far actually map to the way I calculate in my head. But, I've seen carpenters, woodworkers and machinists all calculate similarly when they do (normally they use advanced geometry to avoid calculating _at all_ ).

</comment></comment><comment><USER21> "What are two different equations with the same solution as 3(y-1) = 8?"

How is this scored if the student just adds 1 to both sides, then 2 to both sides, for the other two equations?

3(y-1)+ 1 = 8 + 1

3(y-1)+ 2 = 8 + 2

Is that a full-credit answer (it is technically correct)? Or do they want movement towards a solution? This seems very ambiguous as to what they want which I've noticed is common in CC questions.

</comment><comment><USER22> At the bottom of this page you see:

All content Copyright © 2010 – 2015 Foundation for Excellence in Education

Wikipedia says the Foundation for Excellence in Education is a think tank established by Jeb Bush and has received funding from Bill Gates, who I understand has also funded development of Common Core.

</comment><comment><USER23> I will let this man do my talking. [https://www.maa.org/external_archive/devlin/LockhartsLament....](https://www.maa.org/external_archive/devlin/LockhartsLament.pdf)</comment>


Using Segmentation to Improve Click Rate and Increase Sales - <AUTHOR> https://blog.mailchimp.com/using-segmentation-to-improve-click-rate-and-increase-sales/?utm_source=Dashboard&utm_campaign=Dashboard%20Ad%20-%20Segmentation%20Blog%20Post&utm_medium=Onboarding%20Ad <comment><USER2> Would people be ok with advertisements and price being segregated by race back in the 80s? They say they don't use race as a feature, but the variables they do use could easily be correlated with it (e.g. location). The only reason people doesn't seem to be more outraged by this, as far as I can tell, is that 1) the fact that it is going on is hidden on obscure tech blogs with a high barrier to entrance, 2) there is little incentive to speak up. Every generation has some moral blemish "hidden in plain sight", that a generation or two later will have been exposed and made taboo. Is this not such a thing? I'm not courageous enough to do say something about it, but someone aught to.</comment>


Cargill Named "Worst Company in the World" - <AUTHOR> http://www.mightyearth.org/cargill <comment><USER2> Warning: silently redirects to different domain.</comment>


Redhat Linux 7.3 Released - <AUTHOR> https://www.redhat.com/en/about/press-releases/red-hat-powers-network-storage-performance-latest-version-red-hat-enterprise-linux-7 <comment><USER2> Should be Red Hat Enterprise Linux

As an aside, I don't remember now if there was a Red Hat Linux 7.3 but I remember being excited about Red Hat 7.2 -- they had ext3, grub and some other things that were 'bleeding edge' at the time.

</comment><comment><USER3> Fourteen years ago Red Hat released version 7.3 of its Linux distribution, too (though it Red Hat Linux, not today's RHEL). Funny how the history, in a way, made a circle.</comment>


Talent Pairing for Job Sharing - <AUTHOR> https://jobpairing.com/ <comment><AUTHOR> Talent Pairing for Job Sharing

When talented professionals want to continue their career but are passionate about schedule flexibility and finding balance in their life, our pairing process begins. Job sharing is a professional arrangement in which a full-time job is split between two individuals—or job mates—each responsible for the success of the job as a whole. The www.jobpairing.com platform allows users to pair with other professionals and connect with companies eager to recruit and retain top talent.

The jobpairing.com platform assists both career-oriented individuals and employers in driving contemporary workplace arrangements. Employees benefit by increasing work-life balance and creating flexibility to pursue other important aspects in their lives. Employers benefit by reducing the costs of rehiring and increased employee satisfaction, productivity and diversity. A number of employers are currently tapping into the benefits of offering job sharing as an option.

Create your jobpairing.com profile and find your job mate—your life is waiting for you!</comment>


Android Now Outsells Blackberry 2:1 In The U.S. - <AUTHOR> http://www.conceivablytech.com/8553/business/android-now-outsells-blackberry-21-in-the-u-s

<comment><USER2> They wouldn't have believed it if you told them this 2 years ago. That says a lot about the vision of RIM's leadership.

I think it was just before winter holidays last year when they said they "don't get it why everyone thinks they're going down", when they were still getting increased revenues from global sales.</comment>


The Complete Ferengi Rules of Acquisition - <AUTHOR> https://projectsanctuary.com/the_complete_ferengi_rules_of_acquisition.htm <comment><USER2> There is a significantly better version over at Memory Beta, with full references and fewer typos: [http://memory- beta.wikia.com/wiki/Ferengi_Rules_of_Acquisiti...](http://memory- beta.wikia.com/wiki/Ferengi_Rules_of_Acquisition)

<comment><USER3> Doesn't memory beta have like a zillion ads and popups?

<comment><USER4> Used ublock v0.9.5.0, no issues with ads or popups at all.

<comment><USER5> use ublock origin, not ublock

<comment><USER4> Researched & switched.

Thanks for the heads up.

</comment></comment></comment></comment></comment><comment><USER6> Somewhat related: the Evil Overlord list.[1]

[1] [http://www.eviloverlord.com/lists/overlord.html](http://www.eviloverlord.com/lists/overlord.html)

</comment><comment><USER7> Are these the canonical rules based on the series or are some just made up due to lack of material?

<comment><USER3> I recognize a lot of them from DS9, but I'm not sure if they all came from the show. I really enjoyed how the Ferengi were portrayed in DS9 making pilgrimages to WallStreet...kinda funny.

<comment><USER8> Funnily enough, I was just watching DS9 S01E10 on Netflix. "What's the first rule of acquisition?"... it checks out.

</comment></comment></comment><comment><USER3> #74 is a duplicate. Is that for emphasis?

<comment><USER9> Memory-Alpha[0] lists that rule as "Knowledge equals profit" so probably a mistake.

[0] [http://memory-alpha.wikia.com/wiki/Rules_of_Acquisition](http://memory- alpha.wikia.com/wiki/Rules_of_Acquisition)</comment></comment>


How Wikileaks killed Spain's anti-P2P law - <AUTHOR> http://arstechnica.com/tech-policy/news/2010/12/how-wikileaks-killed-spains-anti-p2p-law.ars <comment><USER2> We recently have lived 36 years of dictatorship, enough to realize how important is our privacy right and the right of share infomation even if these information have copyright or not. P2P is a constitucional right in my country.</comment>


Parameter or Argument? - <AUTHOR> https://www.coati.io/blog/parameter_or_argument/ <comment><USER2> Using the terms in a consistent manner can avoid confusion. I tell beginning programming students that a Parameter is like a "Placeholder," and the Argument is the "Actual" value that fills it in, emphasizing the first letters of each.

</comment><comment><USER3> It's nice to know this distinction when you're working with other people who expect this distinction to be followed.

Personally, I prefer the softer explanation in Wikipedia that begins, "The terms parameter and argument are sometimes used interchangeably, and the context is used to distinguish the meaning."

[https://en.m.wikipedia.org/wiki/Parameter_(computer_programm...](https://en.m.wikipedia.org/wiki/Parameter_\(computer_programming\)#Parameters_and_arguments)

</comment><comment><USER4> One also finds the terms "formal parameter" (for what is called a "parameter" in the article) and "actual parameter" (for what is called the "argument" in the article).

[https://en.wikipedia.org/wiki/Parameter_(computer_programmin...](https://en.wikipedia.org/wiki/Parameter_\(computer_programming\)#Parameters_and_arguments)

</comment><comment><USER5> Could someone offer a good explanation as to why it matters in this specific case? I can't think of any way in which a lack of knowledge of the "correct" term could lead to something being done incorrectly.

<comment><USER6> It always matters. The difference between argument and parameter is the difference between concrete and abstract, or the difference between contents and container. Would you ask whether those are relevant distinctions?

<comment><USER7> Most things rarely matter always. The purpose of words is generally to convey an idea to someone else. Humans are very effective at filling gaps or patching over mistakes in the communications they receive. There are certain key aspects that determine the meaning of a sentence, and one can get pretty far by getting those parts close enough. I would param that the distinction between "argument vs parameter" is hardly ever a key aspect in a specific communication. The terms you mentioned are more important, so I don't the analogy quite holds up.

If the speaker used argument or parameter incorrectly, the context would make the intention very clear. Most listeners would make the correct mental association without even thinking about it.

</comment></comment></comment><comment><USER8> Does it really matter? This is the sort of thing that I would expect to come up in some pedants interview question - it has very little with being able to use the features effectively.

<comment><USER9> Speaking of pedants, recent interview one guy (their 'senior scientist') spent the whole hour tossing pedantic nits at me. What about RESTful interfaces? Are they an API or not? Ha! They're not 'procedural'! Guess what this tiny recursive algorithm's parameters are for? I don't know, whatever you use them for. I would never use a recursive algorithm in embedded work (suicide). Ha! Ha! Its the identity value over the virtual function! Ooookay. Good for you. I'd convert it to tail recursion, then a simple iteration, and never need that value.

Needless to say I didn't connect.

<comment><USER10> I feel your pain man. They're a lot of insecure posers out there who would like to show you that they know more than you do. And often fail miserably at proving their point.

</comment></comment></comment><comment><USER11> One easy way to remember which is which: Recall the term "command line arguments." That will remind you that arguments are what's passed to the function. So, parameters are what's declared/defined in the function.

</comment><comment><USER12> Is there pretty universal agreement on this? I've been around a while but still have the "meh, the words are interchangeable" view.

<comment><USER6> For a field that has so many elements of an exact science, I find it quite astonishing that so many people have such a lax attitude towards fundamental terms. But maybe that's just me.

<comment><USER13> That would only be true for distinctions _that make a technical difference_.

There are also distinctions that _only exist_ for someone to flout[1] their superior knowledge of the technical terms. That is a _social status_ issue, not a matter of precision.

Best example of that case would be collective nouns: "oh gosh, you're supposed to say a "crash" of rhinos; you can't just say a "herd" or "bunch"! ~adjusts monocle~

Best example of "precision matters and can cause confusion" would be "literally" or "biweekly". It causes confusion when people can't rely on X-weekly meaning "X per week" or "every X weeks". You would be majestically justified in prodding people to stick to the same convention to avoid confusion.

But there any scenarios where "signature vs invocation" actually matters to the point that you would do the wrong thing as a result of someone ignorantly flipping the terms? The only thing I can think of would be if someone said, with no other context, "change the parameters to fix the bug".

[1] I know, it's "flaunt", not "flout". That's the point: they don't compete for the same semantic use cases, so they don't cause confusion.

</comment></comment></comment><comment><USER14> "A Parameter is a variable in the signature of a function declaration or definition:"

int main (int argc, char __argv)

public static void main(String[] args)

static void Main(string[] args)

sys.argv

Wait a minute...

<comment><USER15> Those parameters hold information about the arguments that were passed in. They don't hold information about what parameters were declared. To programmatically get information about the parameters you would use reflection or something like that.

</comment></comment><comment><USER16> This, like basically all terminology/jargon distinctions, will be community- specific. This particular distinction is idiomatic primarily in the C family (C, C++, Java, ad n.), primarily inheriting from the declaration/definition distinction in the ancestral language. But jargon has dialects---some people will have seen declaration/definition above and now be itching to correct me with 'prototype/implementation'. In other development communities (say, lispers), the terms may be different, the distinction may not exist or a different one might take priority (like, say, car/cdr). As others have said, what matters is clarity of communication, and part of that is always learning the idiom and norms of your community. Note: in many cases there might be a published standard (eg. K&R C, or Academie Francais French), which can inform usage, but not necessarily prescribe it.

</comment><comment><USER17> Then there's Common Lisp, where a variable is assigned only the first time it's defined, while a parameter is assigned every time its definition form is evaluated: [http://clhs.lisp.se/Body/m_defpar.htm](http://clhs.lisp.se/Body/m_defpar.htm).

<comment><USER18> The meaning of parameters and arguments in the context of functions, which is what this post is about, are defined as usual[1]:

> argument n. 1. (of a function) an object which is offered as data to the > function when it is called.

> parameter n. 1. (of a function) a variable in the definition of a function > which takes on the value of a corresponding argument (or of a list of > corresponding arguments) to that function when it is called, or which in > some cases is given a default value because there is no corresponding > argument.

What you describe are the two possible ways of defining special variables, which are more like _program parameters_.

[1] [http://www.lispworks.com/documentation/HyperSpec/Body/26_glo...](http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_p.htm#parameter), [http://www.lispworks.com/documentation/HyperSpec/Body/26_glo...](http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_a.htm#argument)

</comment></comment><comment><USER19> I have never heard about the distinction anywhere in mathematics. Is this specific to programming?

<comment><USER6> I think so. Mathematicians talk about "arguments", but I've never seen "parameter" used. There are more differences in that specific area: Mathematicians apply functions to their arguments. Only a programmer would attempt to "call" a function. That's actually a remnant from "calling a subroutine", what we did in assembler, even before functions were a thing in programming.

</comment></comment><comment><USER20> I've also seen and used terms like "option" for command-line values, or "bare argument" for values that are not tied to anything in particular. And in code, if the documentation uses hooks like "@param" then people will naturally think of those as parameters. You can also refer to individual fields of a data structure as "parameters" even if they are passed to a function as one value (and I have never seen people refer to fields as "arguments" in that situation).

In the end, I don't think any term is used consistently enough. People will use whichever words they want, and you have to treat them all as potentially referring to the same thing.

</comment><comment><USER6> I like to phrase it like this: "A parameter is a local variable that's initialized by passing an argument". That works for functions and C++ templates. It also works in languages like ML, where you can initialize multiple parameters from a single argument (via pattern matching).

Consequently, speaking of "passing a parameter" is dead wrong most of the time, except maybe when you're writing a function that "defines" other functions, where a parameter of the function to be defined is an argument of the definer function. But I will stop here before it gets complicated.

</comment><comment><USER21> Does that really correspond to usage in mathematics? I think that can be where the confusion comes from.

Let's say: "Here we define a function f(x,y) of two arguments x and y.."

</comment><comment><USER22> Wait, don't we have an _arguments_ object in JavaScript that ["is an Array- like object corresponding to the arguments passed to a function."]([https://developer.mozilla.org/en/docs/Web/JavaScript/Referen...](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/arguments))

<comment><USER15> That's accurately named, though. It's values are the arguments that were passed to the function. A hypothetical parameters object would presumably tell you what parameters the function was declared with, e.g.

        function foo(a, b, c) {
          return parameters;
        }

would return ['a', 'b', 'c']

<comment><USER22> Now I understand!!! Thanks :)

</comment></comment></comment><comment><USER23> While this is true, be aware that parameter and argument are commonly used interchangeably.

</comment><comment><USER24> It takes an argument and you pass it a parameter.</comment>