Online Confusopoly - <AUTHOR> http://dilbert.com/blog/entry/online_confusopoly/

<comment><USER2> Scott Adams is not the only one. I've noticed things exactly like this.

I suspect that the on-line retailers do make pricing as complicated as possible, so as to avoid direct price comparisons. Offering goods for sale with automatically-comparable prices leads to classes of goods becoming economic commodities, distinguishable by price alone. That's a bad situation for retailers, so they've responded by making prices non-comparable by complication.

Cell-phone plans seem to have ended up the the same way.</comment>


The Day I Realized I Would Never Find Weapons of Mass Destruction in Iraq - <AUTHOR> https://www.nytimes.com/2020/01/29/magazine/iraq-weapons-mass-destruction.html <comment><USER2> Audience Member : Negrodamus, why is President Bush convinced there are weapons of mass destruction in Iraq?

Negrodamus : Because he has the receipt.

\- from Paul Moody's "Negrodamus" skit on Chappelle's Show

More seriously, Western countries sold Saddam plenty of chemical weapons which were used to kill lots of Iranians during the particularly brutal Iraq-Iran war during the 1980s.

The whole situation is complete madness from the average individual's perspective. Technically there were still WMDs in Iraq (because "we" sold them to them so of course we knew) but it was probably covered up or obfuscated.

<comment><USER3> > Technically there were still WMDs in Iraq

No:

[https://en.wikipedia.org/wiki/Iraq_and_weapons_of_mass_destr...](https://en.wikipedia.org/wiki/Iraq_and_weapons_of_mass_destruction)

"Iraq actively researched and later employed weapons of mass destruction (WMD) from 1962 to 1991, when _it destroyed its chemical weapons stockpile and halted its biological and nuclear weapon programs as required by the United Nations Security Council._ [1]"

What's sure is that at the time of 9/11, the U.S. had still significant quantities of chemical weapons that they just started to destroy a few years before:

[https://www.cnbc.com/2013/09/23/destroying-chemical- weapons-...](https://www.cnbc.com/2013/09/23/destroying-chemical-weapons- easier-said-than-done.html)

"After the U.S. formally agreed in 1997 to destroy its 30,000-ton chemical arsenal, Newport's mission changed again" ... "Not until 2008 — 11 years after our visit and U.S. ratification of the chemical weapons ban—was the last of the VX eliminated."

</comment></comment><comment><USER4> Destroying Iraq was a part of the 'neocon revolution' which really got it's legs after 9/11.

This podcast helps give some insight:

[https://cafe.com/stay-tuned-the-paradox-of-dick-cheney- with-...](https://cafe.com/stay-tuned-the-paradox-of-dick-cheney-with-adam- mckay/)

<comment><USER3> If you really want to learn more than from a single podcast, read slowly about:

[https://en.wikipedia.org/wiki/Project_for_the_New_American_C...](https://en.wikipedia.org/wiki/Project_for_the_New_American_Century)

and check what were the functions before, then and after of the people who wrote the documents or were involved and also what they wrote. Especially a document:

"Rebuilding America's Defenses: Strategy, Forces and Resources For a New Century," September 2000.

With the famous quote:

"Further, the process of transformation, even if it brings revolutionary change, _is likely to be a long one, absent some catastrophic and catalyzing event_ – like a new Pearl Harbor."

And exactly a year later, 9/11, conveniently for the writers, happened.

If I remember correctly everything was on their internet site, available even before 9/11 for everybody to read and think about it. Just checked: the Internet Archive has a first capture from one month _after_ 9/11\. Still, the document was made _before_.

<comment><USER5> We will probably never know what really happened in 9/11 but boy did Bush et al profit from the situation.

<comment><USER6> Anyone shaking their head in disbelief only need look at Cheney corp involvement/ownership.

</comment></comment></comment></comment><comment><USER7> It was obvious to anybody who cared, before the invasion, that there were no WMDs. Hans Blix inspected every place suspected, and reported not only nothing, but not even a trace of anything, in the daily newspapers.

I suspect Maddox was misled, like Powell, by relying only on classified material that amounted to summaries produced with deliberate bias.

It is a fundamental problem: there is a thousand times as much classified material as you can afford to read. Who can justify reading outside it, where the writer might not have access to the whole story? But because there is so much, you are obliged to rely on summaries, and the sound judgment and the scruples of those in charge of what goes into them.

<comment><USER8> I think part of doubt has been caused by the blind spot we had on the Soviets. Gorbachov was the first to admit there were large biochemical facilities in the USSR with the ability to manufacture advanced weapons. This miscalculation by Western governments has not been advertised while having a significant effect on their confidence to judge adversaries.

</comment></comment><comment><USER9> Between the absence of WMDs (I'd never believed they were there) and the disinterest in stabilizing the country after the invasion, it became clear that the goal was to destroy a nation that had the recent history and continued potential to be a threat to our interests and allies in the region.

<comment><USER10> ... ironically ending up bolstering an already-active adversary in the region, Iran, by removing its "natural predator".

Foreign-policy circles are full of people who think they are the smartest guys in the room, when they are anything but. Dr.Strangelove is alive and well.

<comment><USER9> That's correct! On the other hand, I remember Scott Ritter predicting that 2003 would bring an invasion of Iran as well, so the extended remix of the plan was supposed to handle Tehran, too.

<comment><USER11> After the invasion of Iraq US Army was barely able to keep their supply lines open and that was without the Iranians being overtly hostile. It's no wonder they weren't able to even consider invading Iran.

</comment></comment></comment></comment><comment><USER12> OK well I am sorry he missed finding WMDs in iraq. I hope he enjoyed his time there.

</comment><comment><USER13> I don't understand why he went in the first place. It was clear to everyone it was BS. It should have been triply clear to someone in the DoE whose job includes knowing these things!?

Based on this, the guy is either an idiot (unlikely) or just wilfully ignorant.

Once he was in Iraq, and after he returned, he knew. That's be his own admission. So he spent his time running around and interrogating old men until they cried, blocking streets, disrupting commerce etc.

Then when he came back, instead of telling the truth, he covered for the whole enterprise.

This guy is telling a sob story and acting like he is the victim. But he's not. He's part of the problem. Without people like him, wars like Iraq 2 wouldn't happen.

<comment><USER10> You have a career, a family, a nice house, and you want to keep all that. You want that promotion, that niche holiday, and you know how fragile all this lifestyle is - if you sound "confrontational", "rocking the boat", you'll get freezed out. Your boss tells you his boss wants you to go and find something, anything, maybe with a bit of spiel about duty to the country and all that. Your whole community is so proud: contributing to the war effort! Proving Americans are just!

Would you _really_ say no, even when you have a hunch that it's all just song & dance...?

<comment><USER13> I don't know if I'd say yes or no. But if I said yes, I'd know the whole thing was BS (just like he did) and go knowing that. Unlike him, I wouldn't interrogate any old men until they cried (especially if I could avoid doing so by just not bribing people!?). And I would not come back and decades later, long after anyone stopped giving a shit, write a long article where I pretended going made me the good guy and I was duped. I'd slink off and be ashamed while I bought my new jetski or whatever.</comment></comment></comment>


'Lonely gifs' by Motocross Saito celebrate solitude in Japan - <AUTHOR> http://motocross-arts.tumblr.com <comment><AUTHOR> See the short interview [http://www.bbc.com/news/av/world- asia-42319550/lonely-gifs-b...](http://www.bbc.com/news/av/world- asia-42319550/lonely-gifs-by-motocross-saito-celebrate-solitude-in-japan)</comment>


Show HN: My minimalist Dropbox+iPhone note-taking app - <AUTHOR> http://speednotes.helloanteater.com

<comment><USER2> I love apps that do one thing alone, and do it well. A couple tips though:

\- keep the main app colors to 2-3 maximum. You currently have a rainbow there: red header, blue row selection background, gray app background, white buttons

\- as ivankirigin said, a web interface would help too. Keep it simple

edit: formatting

<comment><AUTHOR> thanks for the feedback, points duly noted.

</comment></comment><comment><USER3> So the main difference between this and the Evernote app is the speed search that updates results realtime? I realize this is an MVP and please pardon my ignorance but why would I use this instead of Evernote (This is not a troll attempt, I'm not an avid user of evernote yet but have been using it more and more recently)?

<comment><AUTHOR> The main difference is that interface, and that it acts on a folder of simple text files rather than its own database format. I personally choose to use it because I prefer my notes to be text files so I can easily edit them with Notational Velocity on my mac, and emacs on any machine I have Dropbox connected to. It may be that the many features of Evernote are better for you - I personally used a variety of note-taking apps and just kept coming back to NV, so I wrote a companion for my phone.

</comment></comment><comment><USER4> I just bought this and really like the Notational Velocity concept. I need an iPhone note taking app with offline support so this falls down in that area at the moment. If you added offline support and TextExpander support this could easily be my most used notes app.

<comment><AUTHOR> Offline support is definitely feature #1 in the roadmap right now. I just wanted to get a 1.0 out the door to see if the app met a need before I spent a lot of time on the details, plus iOS 5's uncertain treatment of app temporary directories made my initial approach less simple than I had hoped.

<comment><AUTHOR> That's not to say I didn't sweat any of the details! But I think news.yc gets that 1.0 == MVP

</comment></comment></comment><comment><USER5> Can you add a web editing interface too? The thing about notes is that they need to be everywhere, not just on mobile and your desktop.

I'll definitely try this out though!

<comment><AUTHOR> I haven't added a web interface yet - though if enough people like the concept enough to use the app and many of them want a web interface, I would happily add it to the roadmap.

</comment></comment><comment><USER6> I'm looking for an iPhone extension to Notational Velocity.

Does this create .txt files? Can I set which folder it saves to so it shares with notational?

<comment><AUTHOR> I wrote this because I had the exact same need. When you connect it to Dropbox, you can choose any of the folders there, and if there are already .txt files in that folder, they will be listed.

<comment><AUTHOR> and yes, it creates plain text files.

<comment><USER6> Ok perfect, bought a copy. Initial feedback:

Works well. I expect to use it day-to-day.

I'm a designer so here is my nitpicking

\- Can there be an option for a black background with white text like notational?

\- most important: the red background looks out of place. Red is the most eye catching color. I feel like the search bar should be a more understated color (see Reedr) and the notes most prominent

\- on the list of notes, the titles should be a bit larger and centered. Maybe it looks odd because none of my notes are long enough to be double lined

\- "Search title or create new" text is too small and hard to read

<comment><AUTHOR> Thank you for the feedback!</comment></comment></comment></comment></comment>


Introduction to Parallel Computing - <AUTHOR> https://computing.llnl.gov/tutorials/parallel_comp/ <comment><USER2> This is an excellent resource for learning parallel programming, on several levels. Don't miss these related tutorials from the same source:

* Pthreads: <https://computing.llnl.gov/tutorials/pthreads/>

* OpenMP: <https://computing.llnl.gov/tutorials/openMP/>

* MPI: <https://computing.llnl.gov/tutorials/mpi/>

</comment><comment><USER3> I liked the way the content is presented. I had Parallel Computing as one of my elective this semester, and the subject isn't kool any more when you dive into it. Parallel Computing is tough IMHO and it takes some brainstorming to solve even the basic problems like computing prime numbers or sparse matrix multiplication. Also we use OpenCL, which itself is quite a complicated deal. ( TBB, OpenMP are simpler ). The tutorial makes the basics clear as well as the post have an aesthetic feel to it. All in all - a nice read.

<comment><USER4> Stupid question (I know embarrassingly little about GPGPU programming). Is OpenCL mostly used with ATI cards? How common is OpenCL? It seems to me that almost everyone is using CUDA.

Also, isn't copying everything to the GPGPU memory and then performing tasks there (and when it is completed copying it to main memory) a bit stupid? What happens in a cluster setup when two or more hosts work on the same dataset? Won't this result in a needless amount of copying? Double memory requirements?

<comment><USER2> OpenCL is different from CUDA in two important points:

1) OpenCL is an industry standard supported by many vendors (although not all support it fully currently, since it's a relatively new standard). OTOH, CUDA is a proprietary system developed by NVIDIA for its GPUs. CUDA is much more mature since it has been in use for quite some time now.

2) While CUDA addresses GPUs, the aim of OpenCL is more general. It's a "heterogeneous" language/platform, aimed by design at various computing devices: CPUs, GPUs, special CPUs like Cell, accelerators (FPGA, etc.), DSPs and so on

<comment><USER5> CUDA actually is open, but ATI chooses not to implement CUDA support in their drivers.

</comment></comment></comment></comment><comment><USER6> the website is a little hokey but I found the tutorials/mini courses on MPI and OpenMP on <http://ci-tutor.ncsa.illinois.edu/browse.php> very useful

</comment><comment><USER5> here's a link to the current course I'm taking, in case anyone is interested in working through some assignments. <http://dna.cs.byu.edu/CS484/schedule/schedule-winter2010>

It uses the llnl tutorials for most of the reading.</comment>


Ask HN: Fairest IP Agreement you've seen - <AUTHOR> We are looking to revamp our current IP agreement from the standard boilerplate The Company Owns You type thing into something that we're really proud of and could even use as a mild recruiting tool.
In thinking through my past employment history, I was a bit shocked to realize that I've never seen an agreement that I really liked.  Have any of you been presented with an IP agreement that you happily signed?
We are a consulting company, so we have to have work for hire clauses because clients get to own the code we create for them, but we don't want to claim rights for after hours things or side projects.
Obviously we will pay some lawyers to look things over, but it'd be nice to start with something great. <comment><USER2> My old one simply had an "exclusions" clause where developers could register things that fell outside the 'IP agreement' terms. It wasn't perfect, but that type of thing is a good idea.

Technically, if you're consulting, then any code you produce is the IP of your clients (not you), and your company should be held accountable for any breaches/leaks of IP policy.

I think my old boss had a policy/contract agreement for clients, though, that copyright was owned by the client, and IP was owned by our company unless they specifically asked for it.

I know that this is probably missing the thrust of your question a bit, but aside from just protecting your developer's free time, you have to consider protecting your client's IP. If the IP agreement on that side is between client/company, then you're pretty much free to decide your own policies on your end, but you will have to be vigilant about checking the IP agreements of your clients (if they have them).

#EDIT: It's also a good idea to explain to your employees what exactly you're trying to protect, and let them know that unless they're going into direct competition with you on any systems developed internally, then you probably won't bother perusing any IP breaches. It'd have to be worth your while to waste money/time to chase them, and depending on "right to practice" laws (not sure what the real name is), you may not be able to stop them from building whatever they want anyway.

<comment><AUTHOR> I've definitely had agreements like that in the past - the problem is the disconnect between 'this is our intent' and 'this is what the doc says'. As an employee, the power/resource imbalance between me and the company means that I wouldn't be willing to undertake the risk of the company not changing their mind about intent. We don't want our employees to have to do the same internal risk analysis as it immediately puts them in an adversarial mindset (how much of a jerk could the company be and get away with it legally, etc).

You are right that there are certain things that have to be in there - anything written for a client is owned by the client, etc. Most agreements overreach, though, and ask for everything.</comment></comment>


Ask HN: Resources for Communication and Listening Online - <AUTHOR> I run the tech department for a small non-profit with employees on both sides of the Pacific. Recently we have a number of new hires, or people who have never used remote communication tools in business, talking more frequently. This has lead to some unique challenges that they're not equipped to deal with.
Do you have any ready-made resources (blog posts, slides, videos) that might help staff use remote communication tools like Google Hangouts more effectively? I'm looking for both etiquette and culture type resources. My dream would be a comparison between 'real life' and 'video chat life'.
If nothing seems to exist, I'd also be interested in collaborating to create a resource like I've described. <comment><USER2> A couple of thoughts:

1\. 'Remote first' is a new buzzword that describes how organizations organize around remote workers as the default. A bit of Googling will probably provide descriptions of organizations facing similar change and how they dealt with it.

2\. The first order solution is not at the employee end. It is at the organization's end structuring communications and changing operations so that the remote worker is a first class employee. This means that normal practices like making decisions over drinks after hours is out and that means that people in the home office have more work to do to make it work than the remote workers.

3\. Scott Hanselman's list is useful for remote workers: [http://www.hanselman.com/blog/30TipsForSuccessfulCommunicati...](http://www.hanselman.com/blog/30TipsForSuccessfulCommunicationAsARemoteWorker.aspx) But it is a secondary tool. The primary accommodations still need to happen among the home office workers.

Besides Hanselman who has been working remote for Microsoft for many years, Cognitect's podcast is another good resource and over it's lifetime the company has shifted its operations to provide equitable treatment for remote workers.

Anyway, it's a people problem not a tech problem. Therefore it is a hard problem.

Good luck.</comment>


71 Percent of jobless Americans did not recieve their March unemployment benefit - <AUTHOR> https://www.vox.com/covid-19-coronavirus-economy-recession-stock-market/2020/4/25/21236595/unemployment-benefits-71-percent-didnt-recieve-coronavirus-layoffs <comment><USER2> Even aside from the economic fallout which on its own keeps me up at night, I'm really terrified of the social consequences of this. The United States by and large is not a very compassionate society to begin with, and our hatred for the poor and unemployed is among the highest in the world.

It was already bad enough in normal conditions, but when our collective fury is unleashed on 20something million people, and likely more before this is all said and done, I'm afraid of what the short-term and long-term effects are going to be. I'm afraid to even speculate on this.

<comment><USER3> The US population is generally considered one of the most generous in the world whether you consider the amounts given to charity as a percentage of GDP or time spent volunteering to help others:

>...The United States is often considered the most generous country in the world. Why? Because Americans donate a lot of money. Its people, its foundations and its companies donated roughly $410 billion in 2017 -- or about 2.1% of its own GDP. In fact, the amount Americans donated was more than the entire GDP of all but about 40 countries in the world.

>You could argue that Americans can simply afford to be more generous. And that if people in other countries could give more, they would.

>But what if instead of looking at how much people give, we looked at how many people in a country are giving? And what if we looked at more than money -- and also counted people who volunteer their time and help strangers?

>Gallup does just that -- every year -- in more than 140 countries.

>In our latest survey, the United States isn't at the very top of this list. We find that the most generous countries by these metrics are Indonesia and Australia -- followed closely by the United States and New Zealand.

[https://news.gallup.com/opinion/gallup/245192/generous- count...](https://news.gallup.com/opinion/gallup/245192/generous-countries- world.aspx)

[https://en.wikipedia.org/wiki/List_of_countries_by_charitabl...](https://en.wikipedia.org/wiki/List_of_countries_by_charitable_donation)

<comment><USER2> To be quite honest I wasn't expecting data like this. America is a big place, and it's entirely possible either I was wrong or I grew up in a tightwad part of the country.

As far as opinions toward the unemployed, my google-fu is too weak to find hard data, as current headlines are saturated with the millions of suddenly "not necessary" people losing their jobs, so all I got for you is anecdata. I'm from the Rust Belt, a part of the country that's largely abandoned by Capital, where 30 years ago it was much easier to find a job then than now.

Between your data and jobs now deemed essential which were previously held in contempt (gas station attendants, grocery store workers, etc.) my outlook has become slightly more rosy.

</comment></comment></comment><comment><USER4> If we had a small percentage of our best and brightest working on getting our poorest workers access to the most basic forms of fintech, this would not have happened.

<comment><USER5> Our poorest workers wouldn't be our poorest workers if they didn't lack "access to the most basic forms of fintech". They are poor because they are _exploited_ : by "businesspeople" who can't pay the daily maintenance costs of their own workers and rely on public subsidies to make up the difference, by banks and payday lenders who scrape fees and interest off meager paychecks, by politicians who misdirect their outrage at college graduates.

<comment><USER6> It's expensive to be poor in the US. And, unless you've been poor, it can be hard to empathize with because poor problems are largely solved by having more money.

Example: people who receive their paycheck on, effectively, a visa gift card need to pay relatively high fees in order to access that money. A solution would be to suggest a bank account, but those are also expensive when you're poor as banks often make a healthy chunk of profit from fees that hit poor people the most.

Practically every solution to this problem is some variation on, "just [have more money]." Which is why these people still face exploitation in the wealthiest country in the world.

<comment><USER7> Pardon my ignorance, but is getting paid in visa gift cards a common occurrence for the poor in the US?

<comment><USER5> Not usually Visa _gift_ cards, but getting paid via debit card has become somewhat common for low-wage workers.

[https://www.nytimes.com/2013/07/01/business/as-pay-cards- rep...](https://www.nytimes.com/2013/07/01/business/as-pay-cards-replace- paychecks-bank-fees-hurt-workers.html)</comment></comment></comment></comment></comment>


Safari Technology Preview Release 83 is now available - <AUTHOR> https://webkit.org/blog/8967/release-notes-for-safari-technology-preview-83/ <comment><USER2> A few things that stand out:

* Enabled WebAuthN on macOS! - Web Authentication API on MDN [0]: "an extension of the Credential Management API that enables strong authentication with public key cryptography, enabling passwordless authentication and/or secure second-factor authentication without SMS texts." I think Safari was the last major holdout on this API, so this might be huge. Could anyone that has had experience with this API share any thoughts and experiences?

* `document.hasStorageAccess()` - Storage Access API on MDN [1]: "provides a way for embedded, cross-origin content to gain unrestricted access to storage that it would normally only have access to in a first-party context (we refer to this as an origin's first-party storage)." The feature originated from Apple: Introducing Storage Access API [2]; it's still considered experimental and is only supported by Firefox and Safari. Skimming through the related WHATWG HTML issue [3], the discussion seems worth reading if you're interested in a bit of the reasoning that goes into designing these APIs.

* `line-break: anywhere` - From Chrome Platform Status [4]: "allows soft wrapping around every typographic character unit, including around any punctuation character or preserved spaces, or in the middles of words."

[0] [https://developer.mozilla.org/en- US/docs/Web/API/Web_Authent...](https://developer.mozilla.org/en- US/docs/Web/API/Web_Authentication_API)

[1] [https://developer.mozilla.org/en- US/docs/Web/API/Storage_Acc...](https://developer.mozilla.org/en- US/docs/Web/API/Storage_Access_API)

[2] [https://webkit.org/blog/8124/introducing-storage-access- api/](https://webkit.org/blog/8124/introducing-storage-access-api/)

[3] [https://github.com/whatwg/html/issues/3338](https://github.com/whatwg/html/issues/3338)

[4] [https://www.chromestatus.com/feature/5668660729348096](https://www.chromestatus.com/feature/5668660729348096)

</comment><comment><USER3> Proper WebGL 2.0 support in Safari seems MIA despite occasional tweets and mailing list posts implying otherwise. Seems it's going to hang out half-baked in the "Develop > Experimental Features" menu indefinitely.

<comment><USER4> WWDC is just around the corner

<comment><USER3> Why wouldn't it have been ramped up as part of the Technology Preview releases?

</comment></comment></comment><comment><USER5> This is nice but it's disappointing that Apple's browser improvements are influenced by the cadence of WWDC conferences.

<comment><USER6> The feature set of the browsing engine isn't though. It's on a roughly 6 monthly schedule where changes for the technology previews are released to the wider public.

The last big release was 12.1 last March, far removed from the next WWDC in June (for a release in September).

<comment><USER5> I only said _influenced._ You're responding to a claim I didn't make.

</comment></comment></comment><comment><USER7> They don't make it easy to switch to the preview. None of my Safari settings seem to have been imported, all my bookmarks are gone and the 'import bookmarks from Firefox' doesn't work either :(

<comment><USER6> Something is wrong with your configuration. For me, both the release version and the tech preview share settings just fine.

Making changes to the one will cause them to be applied in the other.

<comment><USER7> I found a way of importing bookmarks: Run 'normal' Safari and preview Safari at the same time, 'view bookmarks' in both, and then dragging the favorites top level across from old to new app worked!

<comment><USER8> Simpler way is to use iCloud sync with Safari.

<comment><USER7> I have that turned on and I still didn't get my bookmarks. Hopefully my empty bookmarks folder in Safari Preview didn't get synced across all my devices before I fixed it...

</comment></comment></comment></comment></comment><comment><USER9> Has anyone been able to get WebAuthN working on Safari with FIDO2 keys? I just downloaded this preview, tried several WebAuthn example sites that work fine on Chrome and Firefox, but on Safari nothing happens and my Yubikey 5 doesn't even light up.

<comment><USER10> in my experience sites still gate on UA rather than available functionality, so maybe UA checks are involved?

<comment><USER9> I know some sites that do this but it's definitely not working on sites where no UA gate is involved, the WebAuthN request is being made but my Yubikey never lights up

</comment></comment></comment><comment><USER11> When will Safari support FIDO U2F keys?

</comment><comment><USER12> Just tested Google 2FA login with a Solokey. Works perfectly. [https://solokeys.com](https://solokeys.com)

<comment><USER13> Are there any chants or rituals I'm supposed to know about, because I can't get my solokey to work with Google or Github?

It did work with Dropbox, so that's nice.

</comment></comment><comment><USER14> Still no push notifications?

<comment><USER15> Is actually _anybody_ using web notifications? Despite being prompted hundreds (thousands?) times - before I disabled it via about:config and dom.webnotifications.enabled - I never opted in for it.</comment></comment>


How Useful Is Tufte for Making Maps? (2007) - <AUTHOR> http://makingmaps.net/2007/08/16/how-useful-is-tufte-for-making-maps/ <comment><USER2> For anyone who hasn't had the opportunity: I highly recommend taking Tufte's one-day class. You get a copy of his books and get to see at least one or two truly historic texts (it's been 20 years for me, so I don't remember off-hand what he had with him).

Plus he's a tremendously bright man with entertaining anecdotes.

So, even though I don't think that anything he shared that day has been useful in my career, it was a life-enriching experience.

<comment><USER3> Interesting; I've also been highly discouraged from attending his class from a recent attendee. She felt he wasn't invested in actually presenting the material and it just felt like an advertising racket to buy his books. Things may have changed in the past 20 years.

<comment><USER4> I went earlier this year and I thought it was a good experience. The key is to arrive on time and sit there and do the silent reading that he assigns before the lecture starts.

I sat in the front and he approached me. He was friendly, asked me what I did, made some suggestions on books and articles to explore. He also signed my book, which was cool.

I'd take the class again for sure.

I think it's important to just go in with an open mind and not treat everything he says as gospel. I think he presents some ideas that very much cut against the conventional wisdom in Silicon Valley and that was nice to hear.

So yeah, I think it'd be worth your time to go. Plus, just because someone else didn't like it doesn't mean you won't get a lot out of it. Unless you go and see for yourself, you can't really know.

</comment></comment></comment><comment><USER5> I feel this is true of Tufte in general (and I own his books and have taken his seminar): he has made, and finds, excellent examples of good design but his heuristics (they are never as strong as "rules") are rarely actionable.

<comment><USER6> If you want actionable, I highly recommend Jean-Luc Doumont's "Trees Maps and Theorems." It's like a way more practical, actionable version of Tufte's work. Probably my favorite book on communicating with data. He's a great speaker as well, do take the opportunity to see one of his talks if you can (I believe some are on YouTube).

<comment><USER7> I completely agree! Doumont often gives talks at universities that are open to the public.

[http://www.principiae.be/X0200.php](http://www.principiae.be/X0200.php)

</comment></comment></comment><comment><USER8> I really don't get people's admiration of "The Visual Display of Quantitative Information." I bought and read it years ago with great excitement, but felt very let down by it. I wrote a detailed Amazon review about it: [https://www.amazon.com/gp/customer- reviews/R11NYC3OE3LBE/ref...](https://www.amazon.com/gp/customer- reviews/R11NYC3OE3LBE/ref=cm_cr_arp_d_rvw_ttl?ie=UTF8&ASIN=1930824130)

<comment><USER9> I think you basically entirely missed the point of the book, to the point of obtuse deliberate misreading. Given the amount of work you clearly put into your review, and your apparent ability to write (and presumably comprehend) coherent sentences, I'm baffled.

You don't seem to understand at all what Tufte means by chartjunk (even though he prints dozens of explicit examples and explains what is wrong with each one at length), you don't seem to understand what he is getting at with the thought-experiment-like demonstrations of chapter 6. You have an overly literal and pedantic reading of his tongue-in-cheek dry humor. And you seem to have completely skipped the detailed analysis and explanations of the principles laid out in the book if you think that "Tufte's principles totally ignore the primary purpose of graphs, which is to show a data set's _patterns_ (or lack thereof) to humans." My one-sentence summary of the book would be "information graphics need to spend more effort on showing patterns." That's the central abiding message of the book, which Tufte hits us all over the head with again and again, on almost every page.

<comment><USER8> > My one-sentence summary of the book would be "information graphics need to > spend more effort on showing patterns." That's the central abiding message > of the book, which Tufte hits us all over the head with again and again, on > almost every page.

I just searched the book for the word "pattern" and it appears on only six pages in the entire book. Tufte throughout the book is far more impressed with how many data points you can jam into a graph than how clearly the graph conveys a pattern or idea.

I'm also curious which of Tufte's statements I quoted that you think were intended to be taken tongue-in-cheek. They all seem pretty straightforward and factual.

Your reply reinforces my belief that most people's admiration of this book has to do with what they imagine it says, rather than what it actually says.

<comment><USER9> I would reply at length and quote extensively from every section of the book, but 15 years of internet arguments has convinced me there's really little point and it would be largely a waste of time. If you can even flip through the pages in a few seconds and come to the conclusion that Tufte doesn't care about how clearly graphics convey data, there's really nothing I'm going to say that can convince you. So I'll just leave it at "bae, you cray-cray".

I can only recommend re-reading the book closely and carefully, ideally spending 5 or 10 minutes really looking at and thinking about each graphic. Maybe start with the first few pages where Tufte lays out his criteria for graphical excellence.

You may also want to look at his 2 subsequent books _Envisioning Information_ and _Visual Explanations_ wherein he goes into considerably more detail about particular aspects and techniques statistical graphics can use to show various types of patterns.

I have probably spent 50 hours over the years studying Tufte's four data-viz books, and every time I look I find something enlightening, fascinating, or inspiring. Some individual pages reward 30 minutes or more of careful study. If you can't find anything useful inside, I don't know what to tell you.

<comment><USER8> > If you can even flip through the pages in a few seconds and come to the > conclusion that Tufte doesn't care about how clearly graphics convey data

That's not what I said. If you project your own meaning onto my 100-word comment, it does not surprise me that you project your own meaning onto an entire book.

<comment><USER9> \----

<comment><USER8> I'm glad that you like the book. If your goal was to share your positive feelings about it, "obtuse deliberate misreading" and "bae, you cray-cray" may not have been your best strategies. If you want people to be kind and understanding, don't start with insults and insinuations.

It is also not convincing when you say that I missed the tongue-in-cheek dry humor but decline to say which of my quoted passages you think were intended to be humorous.

I read this book because I had high hopes for it. It disappointed me a lot.

I understood your sentence. You didn't understand mine: I made a clear distinction between _data_ and _patterns /ideas_. I think Tufte overemphasizes data and underemphasizes patterns/ideas.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Colleagues of mine treat Tufte's work like a literal ten commandments. I can't really fault his logic on the minimalism and he's certainly earned his rep in the GIS space, which really can be applied to pretty much any visualization.

I'm just curious why this post is making a recurrence now, is this because of the twilio post that made its way to the HN frontpage?

<comment><AUTHOR> I hadn't seen that, thanks! For others, it's at: [https://news.ycombinator.com/item?id=15274509](https://news.ycombinator.com/item?id=15274509)

</comment></comment><comment><USER11> > Graphical excellence is that which gives to the viewer the greatest number > of ideas in the shortest time with the least ink in the smallest space.

I think that's good for web design too.

</comment><comment><USER12> " _Commandment 5: Map Layout Matters, includes (19). Layout is a bigger issue than this one point from Tufte and it is an issue that is not stressed in map design texts (although I do devote a decent chunk of a chapter in Making Maps to map layout). It is difficult to talk about map layout (or the layout of information graphics in general) in the abstract. But layout strongly effects the look and feel of the map, and can make a map easy or difficult to read and interpret._ "

Most (all?) states in the US provide free road maps at the welcome centers on major roads entering the state. For many years, the map of the state of Texas had the panhandle, the squarish bit that sticks up to the north, separated and plopped in the middle of where New Mexico should be.

Somebody apparently complained and then the new maps that came out contained the whole of Texas, well connected. As a result, these maps were much, much larger than the previous maps, given that you're kind of limited in the scale of a road map and that they were now including a majority of the states of New Mexico and Oklahoma.

Sometimes the best presentation isn't the best presentation.

</comment><comment><USER13> A more useful book is Alberto Cairo's Storytelling with Data, great examples and the reasoning behind it.

And yes I have Tufte's books too.

</comment><comment><USER14> Tufte is a collector of some good design, but having seen him at a conference and gone through his books, he actually has very little grasp of the general principles at play. I wouldn't recommend him.

<comment><USER15> That seems unlikely, but I'm curious. Do you have an example of a general principle that you think he hasn't grasped and why?

</comment></comment><comment><USER16> OT: Has anyone done a similar distillation for the 12 factor app? As I was reading up on 12 factor, it seemed like you could distill it into 4 principles or so.

<comment><USER17> I have definitely done that in my mind. I don't agree with all of the items in 12 factor. The principles that drive those 12 factors are ones that I follow, just not the specific implementation that is presented. I don't know that it distills down to 4 or whatever number, but I'm certain it is less than 12. For example I don't think that it's always appropriate to store config in the environment variables. But the principle of not embedding config in code is one that I follow.</comment></comment>


Jepsen is a useful weapon for strong data consistency in a distributed system - jamie-vesoft https://medium.com/nebula-graph/practice-jepsen-test-framework-in-nebula-graph-2c07b37466cc <comment> jamie-vesoft Jepsen is the actual benchmark for a distributed system. And it deserves the popularity.</comment>


10 line life – can you summarise your life history in 10 lines? - <AUTHOR> Funny, factual, whatever. Can you summarise the most important phases of your life so far, in 10 lines? <comment><USER2> Born.

Suffered.

Died. (TBA)

<comment><AUTHOR> +7</comment></comment>


Stop sex trafficking by taking snaps of your hotel room with this app - <AUTHOR> http://www.thememo.com/2016/06/28/stop-sex-trafficking-by-taking-snaps-of-your-hotel-room-help/ <comment><USER2> This would be the perfect product for a chat bot. Nobody is going to download AND use this app. But some people might would be willing to send a chatbot within their favorite platform a pic.

<comment><USER3> I don't understand what you mean. Could you explain?</comment></comment>


Envato Marketplaces hit 1 million members (nice infographics) - <AUTHOR> http://million.envato.com/

<comment><USER2> What startups have been bootstrapped by using envato marketplaces?</comment>


Reddit secret plan for world domination - <AUTHOR> http://de.slideshare.net/MikeCole1/reddit-secret-planforworlddomination-21258371 <comment><USER2> Already discussed here: <https://news.ycombinator.com/item?id=5727518>

</comment><comment><USER3> I really would visit reddit more if the UX wasn't so horrible. I feel the same way about RapGenius. Great services, horrible user experience.

<comment><USER4> Tip: You can disable subreddit styles in your profile. Makes the whole thing a lot nicer imo.

<comment><USER3> I'll take a gander, thanks.

</comment></comment></comment><comment><USER5> LOL. I just saw the first slide and I had to up vote it :-D

<comment><USER6> Not to come across as aggressive but people like you are the reason why I stay away from Reddit nowadays. It's become an awful place to visit. Just look at /r/atheism. No real discussion, just poorly used memes.

HN was created to emulate Reddit's early days so please don't bring behavior like that here.

<comment><USER7> To be fair, once you get beyond the default front-page subscriptions, and dive into the long tail of subreddits, you'll find a great deal of compelling discussion on reddit.

I find reddit to be a bastion of 'traditional' internet discourse, with all the positive and negative qualities that implies: sure, there's lots of spam, flamewars, and trolling, but there are also coherent social spaces, opportunities for depth and ongoing dialogue, and interface mechanics that prioritize substance over flashy aesthetics.

Even if it's not quite the Usenet of yesteryear, reddit is certainly superior to the disjointed and simplistic forms of inaptly-named 'social media' we see on Facebook or Twitter.</comment></comment></comment>


Slaves of the feed - This is not the realtime we've been looking for - <AUTHOR> http://000fff.org/slaves-of-the-feed-this-is-not-the-realtime-weve-been-looking-for/

<comment><USER2> So how do can we solve this problem of drinking from a firehose?

I think a system like Google Reader system might have some traction here, wherein friends can recommend items to each other. With enough friends, you could make a metafeed out of those items. Make it a new service; you get paid for drinking from the firehose, and you pay to get human-filtered feeds. Throw some 'liked/hated this firehose drinker' and a pile of people at it, and you get interest spaces.

<comment><USER3> There are decades of research in information retrieval that can easily be applied to this problem. Before Google showed up with PageRank, many algorithms were based on properties of a given document and the historical properties of the set (example, TF-IDF).

You don't need to drink from a firehose. The firehose will be throttled and filtered to given you the useful information that you want. This is where the future of real-time search lies.

Disclosure: I'm CTO of Collecta, one of these real-time search companies.

<comment><USER4> Search clearly isn't the answer. Can you create a search term that encompasses all of your interests? I hope not.

Surely filtering the "fire hose" with the query "programming news" will not yield satisfactory results.

</comment></comment></comment><comment><USER5> He correctly identifies a problem, but no amount of interdevice communication is going to tell me which 5 of boingboing's posts are most likely to be of personal interest.

Here's what'd help me with the bottleneck: a unified inbox with a wicked smart relevance algorithm. VR? Probably not.

<comment><USER6> We've had plain old naive-Bayesian filtering for ages - I'm surprised more feed-readers don't use it.

</comment></comment><comment><USER7> The feed items that truly contain _new information_ is not one trains for traditionally with bayes or so, because it would imply something that has not been seen before, rather than just being similar to something already seen. Searching for meaningfully _different_ stuff rather than _similar_ stuff is a whole different problem.

I'd like to have a treemap view of google reader rather than a list, and where I could visually, in real time filter the feeds by adding negative and positive keywords/tags, and click around in various levels of a treemap.

Click on "technology" => make a new treemap of significant tags in that area, click on the next tag to dive into that space etc, and eventually see all the feed items somehow. Perhaps present them in all levels by some sidebar or hoverthing. Color code items for popularity / activity / freshness.

I'm thinking something like dabble.db but with a treemap interface and cappuchino js interface.

<comment><USER4> That sounds like a great interface. But it doesn't stop you from having to do all of the filtering/categorizing. Maybe if after having done all of that work on your end, there would be a nice way to share that with followers.

<comment><USER5> Nah, the only categorization that really needs to be done is by topic. It's easy to tell if something is, say, a tech article, or tech/programming, or tech/linux, based on source and keywords. If your algorithm did that once per item that's in anyone's feed, everything else is refinement. Ideally, a human won't need to touch it at all. Even if the machine gets it wrong, it could be corrected with a "this is in the wrong place" button. In any case, an article shouldn't rise too high in any category that it's not relevant for.

<comment><USER8> I'd like to see the categories automatically created via SVD. I wonder how people would react to the knowledge that their favorite posts are written by 30-something males on Saturdays, and include the word "has" twice as often as the word "my"?

</comment></comment></comment></comment><comment><USER9> I don't think computers can help anyone find truly interesting things. An algorithm would have to be really complicated to discover the fact that just because so many people are interested in New Moon, or Tiger Woods, that doesn't mean I am.

When "relevancy" algorithms are attempted they don't do nearly as good a job at serving niche groups as "community" moderated algorithms such as HN.

HN is an algorithm, in which each person's brain is an equation that estimates the "worth" of piece of information. As a result the final product is an extremely complicated result of "equations", as it were, that are good at finding relevant information.

I don't expect computers to be good at doing that for another ten years or so.

<comment><USER10> _An algorithm would have to be really complicated to discover the fact that just because so many people are interested in New Moon, or Tiger Woods, that doesn't mean I am._

A Naive Bayesian text classifier could easily learn that. If you fed it news stories that you are interested in it would quickly discover that you never click on stories about Tiger Woods.

It would then classify incoming news for you.

In fact, my old email project POPFile has been adapted to support things like RSS and NNTP filtering with ease.

<comment><USER9> That would work to eliminate "noise" info but such algorithms still do a poor job of helping one find new content and subjects that you have never expressed interest in before. I still trust groups of real people to help me in this regard more than I would trust an aggregator.

<comment><USER8> Theoretically, you could have a (lazily-evaluated) subscription to the entire universe of discourse. It would start out completely hidden, but would gradually become visible in your reader as your filters trim down the stream to a tractable level. Thus, you wouldn't so much be saying "tell me something I don't know," but rather "tell me everything, and leave out the 99.9999% I don't care about."

</comment></comment></comment></comment><comment><AUTHOR> The idea is that interdevice communication creates the knowledge of context by logging everything you do but don't have the ability to to do. I know it needs more thinking but there is something there imho

</comment><comment><AUTHOR> Lots of great comments, thanks so much.</comment>


C++ 11 Auto: How to use and avoid abuse - <AUTHOR> http://www.acodersjourney.com/2016/02/c-11-auto/ <comment><USER3> I'd be more than annoyed if I saw someone name a function "xxInteger()" because it returns an integer.

I don't actually think the first example was that bad, modulo some context. Sometimes even knowing the type for this kind of thing isn't super important to understand what the code is doing; ala opaque types.

<comment><USER4> What exactly is annoying?

I always want my variable names to be as long and descriptive as possible. We're no longer in the teletype era and our monitors are huge. With autocomplete there is no reason to keep variable names short

<comment><USER5> Thats the only acceptable way to write code, but it doesn't mean that names can't be too expressive, for example I wouldn't accept nameing like this:

> RandomizeArrayPositionUsingFisherYatesShuffle

Since the algorithm detail is something I don't want to think about when I use it and something that the implementer should be able to change without changing the contract.

</comment></comment></comment><comment><USER6> "auto a = ConjureMagic();" "SetMagic(a);"

The problem here is actually is an old one of failing to separate a getter from a command.

It looks like ConjureMagic is causing side effects and modifying the state of whatever class it belongs to.

This is also the reason one can't answer the question "what the heck is a?". If the "ConjureMagic" is only a getter and does not modify class state, it may probably need a better name, like "GetMaxMagicPossible". That renders an auto no longer confusing, because this name explains more than the return type. If, on the other hand this is just a command to conjure the magic and we are getting the remaining amount only to immediately pass it to the member "SetMagic" function, then there was no point in returning this value - <USER2> could be done inside the "ConjureMagic" itself.

<comment><USER4> Having Getters for each member variable always seems fine and reasonable. It's when you have getters that do "magic" that I feel a little.. unsure. Like if it's taking a member and returning it in a different unit that seems kosher... But there is a fuzzy line where at some point the Getter is doing too much work to genuinely be a getter. It gives a false impression for the internal structure of the program. But conveying the const'ness is important as you describe (or semi-constness if you have caching)

<comment><USER7> I'm of the somewhat unpopular opinion that "getters for everything!" is a philosophy that sounds good on paper, but results in writing a lot of getter and setter functions and feeling safe, while ignoring these sorts of traps cropping up everywhere.

Member variables are easy to reason about; they behave exactly like the type they are, and in the case of built in types, have extremely consistent behavior. Getters / setters are a black box of mystery; I like to reserve that pattern for when there's going to be extra work to retrieve some value, so my call site knows it needs to tip-toe around possible failures. While I can see the value in using getters/setters for everything in something like an API or framework, I don't see the value in trying to use them all the time, "just in case."

</comment></comment></comment><comment><USER8> No.

In Herb Sutter's words, avoiding auto since it makes the code "unreadable":

 _...reflects a bias to code against implementations, not interfaces. Overcommitting to explicit types makes code less generic and more interdependent, and therefore more brittle and limited. It runs counter to the excellent reasons to "write code against interfaces, not implementations"_

See [http://herbsutter.com/2013/08/12/gotw-94-solution-aaa- style-...](http://herbsutter.com/2013/08/12/gotw-94-solution-aaa-style-almost- always-auto/)

<comment><USER9> Why this dismissive comment? auto is definately overused in ways that are unreadable, exactly like the blog author says. Marking the type explicitely may be less generic in a way, but it helps readability so much by providing redundancy.

<comment><USER10> The author only gives two problematic usage examples, the first of which (ConjureMagic) nercury correctly addressed earlier as a symptom of poor OO design (related to the 'code to implementations' quote above).

The second issue (async) is quite similar in my opinion, and in practice your async handler will be explicitly decoupled and strongly typed at some point for reasons of testability so the example is describing also an OO design issue and not an issue with auto.

There may be real problems with auto but this article did not provide any compelling evidence of them.

</comment></comment></comment><comment><USER11> auto, the new range for and lambdas are my most used C++11 features. Also make_shared/make_unique.

      auto ptr = make_shared<T>()

Reads very nicely so I agree that if the type should be somewhere in the auto expression. That is, use auto to remove redundancy. I just wish they would have extended type deduction to lambda arguments so I could do:

      [](a,b){ ... }

Instead of:

      [](int a, int b) {...}

My understanding is that they're allowing:

      [](auto a, auto b) {...}

Bleh.

<comment><USER12> auto with lambdas can be quite dangerous if you are adding different types inside their bodies. Type promotion rules should be well understood. During code reviews we spotted several overflow bugs when using ints because the dev were thinking auto as a sort of very powerful resource.

Explicit casting if often required to make sure subtle bugs won't show up in production.

<comment><USER11> What do you mean about promotion rules with auto?

</comment></comment></comment><comment><USER13> How much of these concerns could be alleviated by an IDE that makes the types more visible?

<comment><USER14> That's what Herb Sutter argues in his Almost Always Auto post, but I would disagree:

1\. The IDE cannot deduce the type within templates, and more code is moving to templates (e.g. generic lambdas in C++14)

2\. Code is often read outside of IDEs: code review, search engines, etc.

3\. Should C++ become a language that requires an IDE to work effectively, like Java? Probably not.

<comment><USER15> I would be very surprised if someone can meaningfully review C++ templates without an IDE.

Really not reviewing a program inside an IDE is a poor idea in general.

<comment><USER16> Some of us still use emacs and vim.

<comment><USER17> Yeah, some of us still listen to vinyl and tube radios.

<comment><USER16> Unfortunately all the ides I tried make it non trivial to write extensions. I program nearly 9 hours a day and using a tool that prevents automation of common tasks is suboptimal.

<comment><USER17> On my case, they provide all the necessary automation features I care about.

<comment><USER16> Out of curiosity which Language and IDE do you use?

<comment><USER17> Java, Scala, F#, C#, C++, JavaScript, SQL.

VS, Netbeans, Eclipse, Android Studio, SQL Developer.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> Somewhat related, C++14 gets 'auto' for function return types, which really makes me nervous (C++11 has a form of this, but not as powerful).The D programming language uses 'auto' as the return type for many of the functions in the standard library and this makes it, IMO, somewhat cumbersome to use.

In general, I don't think C++ (or D) devs should be using deduced return types in the public interface, if at all possible.

</comment><comment><USER19> So auto allows you to deal more easily with c++ crap, especially STL. My first thing to do in all my c++ project is to import my in-house STL wrapper, which makes STL usable for me. I never understood how people can work with raw STL. I don't like at all working with templates and i am using it only in internal class implementations. C++ without templates is so much more beautiful.

<comment><USER20> Would you mind giving some examples? I don't find STL to be crap at all.

<comment><USER21> std::unordered_map<std::string, SomeClassName>::iterator it = hashmap.begin();

vs

auto it = hashmap.begin();

I find auto useful for cutting down some of the verbosity of templates STL containers, but I can see how over use can lead to code requiring much more referencing if maintaining code that rarely defines types.

<comment><USER20> Oh no, I agree with that. I was specifically talking about fenesiistvan's point about his STL wrapper. I was wondering what his use cases were.

No doubt auto is extremely useful in a case like the one you mentioned. In fact, even more so in here:

for (std::unordered_map<std::string, std::unordered_map<std::string, long>*>::const_iterator it = a.begin(); ...)

<comment><USER19> I am used with the old Delphi / C++ Builder style. I think that it is much more clear than than bot the STL and the new trendy C11 style.

So my hashmap handling looks like this:

MHashMap _userlist = new MHashMap <HUser_>();

HUser *user = userlist->First();

while(user) { user->DoSomething(); user = userlist->Next(); }

</comment></comment></comment></comment></comment><comment><USER22> I think one of the key things that makes 'auto' much more painful than 'var' is that in Visual Studio, the intellisense in C# is much more reliable than C++. Any ambiguous statement like the first example is quickly and resolved in C# with a quick F12. In C++, this doesn't always work especially when you're using any kind of cobbled together or hybrid build system.

A lot of times, the type is unimportant but when it is, this kind of usage can bloat a simple task into 5 to 15 minutes of hunting through headers or grepping.

It's strange to think of an IDE feature so impacting a language feature. The stack is not supposed to affect in that direction but this is one case where it really does.

</comment><comment><USER23> Will best practice for the auto keyword change when c++ concepts finally arrive?

Of the 3 options below, the third seems best to me:

      SomeReallyLongTypeName* x = foo();  // old-school

      auto x = foo();  // c++11

      pointer x = foo();  // c++17 concepts

<comment><USER24> you can already do: auto *x = foo(); Which is actually more readable than "pointer".

<comment><USER23> Perhaps a better example be something like:

      smart_ptr<auto> x = foo();

</comment></comment></comment><comment><USER25> The unlikely return of VB's hungarian notation...

</comment><comment><USER26> The example at the start would be equally mildly confusing if it was written as SetMagic(ConjureMagic());. The problem is not the auto. It's a normal case of non-ideal function names.

</comment><comment><USER27> Unsure of the explicit typing one. Don't the Core Guidelines say to use it in that case? The IDE's going to tell you the return type anyway.</comment>


The Pancake Problems (1975, 1979, 1973) - <AUTHOR> http://www.math.uiuc.edu/~west/openp/pancake.html

<comment><USER2> The D.S. Cohen cited for the burnt pancake problem later became a TV writer and became known as David X. Cohen (there was already a David S. Cohen in the guild). If that name seems familiar to many, it is because he was a Simpsons writer and then co-developed Futurama and served as its head writer.

</comment><comment><USER3> Bill Gates might have been a very good scholar if he chose to be.

<comment><USER4> I didn't even know he had published anything in the field of theoretical informatics.

</comment></comment><comment><USER5> This takes me back to freshman year of CS at CMU. Steven Rudich showed up to the freshman seminar wearing a chef costume and spent an hour explaining the problem to give us a taste of 15-251. Picture here:

[http://www.cs.cmu.edu/~rudich/](http://www.cs.cmu.edu/~rudich/)</comment>


Like.fm is how Apple Ping should work - <AUTHOR> http://news.cnet.com/8301-13526_3-20015614-27.html

<comment><USER2> Or good old last.fm. Funny story: all that talk about Ping [+] got me to resurrect my old last.fm account and to start scrobbling again.

[+] I tested it and it was awful. I actually like iTunes and buy all my music there but Ping is just an abomination.

<comment><USER3> Like.fm != Last.fm

I have no idea about Like.fm since I've never used it, but I agree that Last.fm is better than Ping for now. However, I think that since Ping just comes with iTunes it will be able to garner a much larger userbase, which could make it much more valuable as Ping itself improves. Last.fm is just a little bit too nerdy/difficult for a lot of people to deal with.

<comment><USER4> Yea that was my reason for making Like.fm. I didn't like all the fragmented 3rd party clients. After you sign up for Last.fm it doesn't even take you to the client download page. It really made it hard for someone not really into it all.

I wanted Like.fm to be dead simple install and forget. You don't need to "love" tracks, you can just rate directly from iTunes like you normally do (if you do). And since my user base would be small, I bring Like.fm to the user base via the Facebook tab.

I think someone commented before that the trick is to get the average non- enthusiast user to install a program to monitor your music. Well if tech can't be made easier to use then mother's and grandma's wouldn't be using iPads today! So Like.fm is your less nerdy, easier to setup social music site.

</comment></comment></comment><comment><USER5> Congrats to Chris! I actually integrated like.fm with <http://lystener.com> today and Chris has been super helpful with building the right API's for me to use.

Both ping and last.fm have a lot of potential when it comes to social integration but neither seem to focus on that. I hope like.fm will win based on the nice facebook integration and ease of use, but they'll have to work on their on-site user experience quite a lot before getting there.

</comment><comment><USER4> Thanks Peter!

And also I'm looking for help: <http://news.ycombinator.com/item?id=1662965>.

</comment><comment><USER6> I love how the music player in the bottom right corner of like.fm stays open as you navigate between different pages.

Does anyone know how they did this?

Edit: To clarify my question, this is probably done with AJAX, but like.fm also updates the browser URL bar, without using a hash anchor fragment like gmail. Any idea how that's done?

<comment><USER7> Without looking, one easy way to do it would be to AJAX the entire site, such that when you click on a link, it loads the entire content panel dynamically, while keeping the player div active. Basically, reload everything on the page except the player, but never actually take the user to another page.

<comment><USER6> Right. The next step is to change the URL bar in the browser with each new page, so that history, bookmarking, and link-sharing work properly.

I've seen this done using anchor fragments (in other words, only changing the part of the URL after the hash symbol). That's how gmail does it (gmail.com/foo#inbox).

This site seems to have some other method that doesn't require the hash. I've never seen this on any website, so I would really love to know how its done!!

<comment><USER7> (Sorry to respond to such an old item, but I just got the chance to look)

I don't know what browser you're using, or if they're doing something to mask the URL that they're using, but in IE7, the url IS updated on anchor fragments. The links themselves point to something canonical looking (e.g., like.fm/user/home), but when you actually click on it, the url you end up at is clearly implemented using anchor fragments (i.e., like.fm/#/user/home).

For what it's worth, there's a bug in it on IE7, such that if I keep clicking the same link (even after I get there), it malforms, and keeps malforming with each click (though the pages still seem to work) -- like.fm/user/home#r//user//user//user//user/home

</comment></comment></comment></comment><comment><USER8> I think spotify is also pretty close to Ping.

<comment><USER9> Just much much better.

In fact ping would probably have been fine if they had had FB connect up and running.

It works like a charm in spotify and they don't seem to use any kind last.fm neighbors thingimagic.

<comment><USER10> I'm just glad Spotify has last.fm scrobbling built in.</comment></comment></comment>


Hidden Features of Python - <AUTHOR> http://stackoverflow.com/questions/101268/hidden-features-of-python/101945#101945

<comment><USER2> I'm only done with the first page so far, but I wouldn't call most of these "hidden". Many of them are oft-touted selling points of the language or appear in basic tutorials.

That being said, today I learned about the two-argument form of iter, `iter(f, until)`. So I guess I can't complain too much :D

</comment><comment><AUTHOR> I like the dictionaries have get() method tip; So you dont have to worry about unwanted exceptions in code. Then just check for the None case.</comment>


PacketZoom Summer internship - <AUTHOR> https://packetzoom.com/blog/summer-at-packetzoom-part-2-of-2.html <comment><USER2> It was great working over the summer with you Jatin. You built stuff of real value to the company even in your short stay here. Wish you all the best.

<comment><AUTHOR> It was an amazing summer and I learnt a lot. Thanks for giving me the opportunity to work with you guys !!

</comment></comment><comment><USER3> Sounds like you learnt a lot there. Great job!

<comment><AUTHOR> Thanks Rahul. Yup I did learnt a lot. It was a really productive summer ! :)

</comment></comment><comment><USER4> Great job!!

<comment><AUTHOR> Thanks Pawan. It's been a long time. Hope you are doing good !!

</comment></comment><comment><USER5> Thumbs up

<comment><AUTHOR> Thanks Utsav !! Congratulations to you as well. Hope you are doing good. :)</comment></comment>


Yahoo Buys Associated Content for $100 Million - <AUTHOR> http://adage.com/digital/article?article_id=143947

<comment><USER2> don't they know they could get bloggers for free these days?</comment>


Using a PowerBook G4 Today (2019) - <AUTHOR> https://blog.dbmiller.org/2019-11-22-using-a-powerbook-g4-today <comment><AUTHOR> As the new Macs switch to ARM, I'm left thinking about this blog post I wrote last year. However advantageous the Mac might have been to have at that time, it seems that when it comes to running modern software, an x86 unit from that era is way more practical today (though still probably quite low-spec'd).

As certain people now foresee a massive architecture shift towards ARM, even on desktops, within the next decade, I wonder how this question will be answered 15 or 20 years from now. I am inclined to believe that amd64 units will still be useful in a decade and a half, even if no longer the most commonplace machines. But maybe that's just my bias from living in the moment, and we'll all be building ARM ServerReady rigs for our future Linux workstations.

I'll also add, as an addendum, that it was with debian-ports that my laptop came closest to being useful, but both it and Void came with many compromises at the lowest levels and both are a far cry from what you could eke out of even the most commodity-level of x86 laptops of the time.</comment>


GPU accelerated arrays for Haskell - <AUTHOR> http://justtesting.org/gpu-accelerated-array-computations-in-haskell

<comment><USER2> Awesome. Has anyone tried using Haskell for scientific computing applications like: fluid simulation, finite element simulation, etc. It would be interesting to see benchmarks with traditional tools used in scientific computing industry which are usually done in C/C++.

<comment><AUTHOR> There is an MSR-funded pilot study taking place with 6 labs and startups, <http://www.haskell.org/haskellwiki/Parallel_GHC_Project>

</comment></comment><comment><USER3> GPU acceleration toolkits exist to a ton of languages and these toolkits aren't the only ones. Haskell also has Obsidian (as in Minecraft), Microsoft has one for .NET.

Nor are they had difficult to do, you basically have to implement map and reduce as OpenCL/CUDA code (which is C or C++, but without the nice stuff) and then a DSL from your target language to C (which, at least in Haskell, isn't very difficult).

I wrote one for Scala as a (small) part of a Masters project, but it wasn't very good.

<comment><USER4> If you search HN you will find a wealth of comments on the Accelerate. If you are writing such a library, or you plan to use it, be wary though that _the_ _number_ that a pragmatic user is interested in is the wall clock time. Speed- up plot hides this information. It turns out that it is surprisingly difficult even to beat single threaded array manipulating C code if the code has been written with the cache architecture in mind, the loops judicioulsly un-rolled etc etc.

If you are constrained to remain within the Haskell runtime, or the .net runtime, then speedup curves are fine and informative, but as a metric of comparison with other solutions, it is a bit deficient.

BTW this is by no means an effort to diminish the achievments of the accelerate framework. Writing efficient code using a high level code is an incredibly important and worthy goal and any progress deserve to be cheered, but lets not forget that there are miles to go.</comment></comment>


The fate of self-driving cars hangs on a $7T design problem - <AUTHOR> https://www.fastcompany.com/90275407/the-fate-of-self-driving-cars-hangs-on-a-7-trillion-design-problem <comment><AUTHOR> I found this an interesting read.

NOTE: the title is the original one, but it is quite click-baity.</comment>


Senate and House Pass Sweeping Republican Tax Bill - <AUTHOR> https://www.nytimes.com/2017/12/19/us/politics/tax-bill-vote-congress.html <comment><USER2> How can I as a programmer get involved politically?

<comment><USER3> I don't see how we can use our skill as programmers to solve this problem: at least not legally. Hacking the other side and publishing their shameful secrets might work, gathering and finding information on their sponsors doesn't.

<comment><USER2> I think that you need to build some sort of coordination platform. Fundamentally, I think that people aren't more active because they think that they can't change much. You have to build some sort of system where people can see how their participation directly affects things. The problem that these things generally only work once you have a large number of participants so getting this off the ground would be tricky.</comment></comment></comment>


Router hacker suspect arrested at Luton Airport - <AUTHOR> http://www.bbc.com/news/technology-37510502 <comment><USER2> maybe they should secure their f __*ing routers!</comment>


Show HN: NiftyFeed – Quick hacker news headlines - <AUTHOR> https://play.google.com/store/apps/details?id=niftykick.niftyfeed

<comment><AUTHOR> Here is a android hacker news app I made to quickly get updates

Let me know your feedback

Features:

\- Flashes HN headlines word by word to using Rapid Serial Visual Presentation.

\- Tap a headline to view its link

\- After a headline is read it won't be displayed again so only new content will be shown</comment>


Go lanuage performance test vs C, Erlang and Java - <AUTHOR> http://timyang.net/programming/c-erlang-java-performance/

<comment><USER2> Isn't a little early to be doing performance comparisons for Go?

</comment><comment><USER3> This is just silly, he is testing more the performance of the http server implementations than that of the languages they are implemented in.

Also, he didn't even set GOMAXPROCS, so the results are completely meaningless.</comment>


Show HN: Fun with SQL inside Excel - <AUTHOR> I've built a plugin for Excel that lets you use SQL inside Excel.
Here are two demo/tutorial videos I've made:
Damo 1 -> https://www.youtube.com/watch?v=Ld-mbyAGsow
Damo 2 -> https://www.youtube.com/watch?v=1vjlEd2-bJQ
The website is here:
http://thingiequery.com/
I've already posted about it a week ago, but kinda clumsily so this is a repost (it says in the guide that an occasional repost is fine, so here's one).
This is the original post: https://news.ycombinator.com/item?id=9359128 And here is a Reddit thread on the plugin: http://www.reddit.com/r/excel/comments/2wv52m/ive_built_an_excel_plugin_for_using_sql_in_excel/
If you spend time in Excel and are familiar with SQL, have a look-see, I'm sure you'll love it:) <comment><USER2> Clickable links:

[https://www.youtube.com/watch?v=Ld- mbyAGsow](https://www.youtube.com/watch?v=Ld-mbyAGsow)

[https://www.youtube.com/watch?v=1vjlEd2-bJQ](https://www.youtube.com/watch?v=1vjlEd2-bJQ)

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

<comment><AUTHOR> TY:)

</comment></comment><comment><USER3> As a (lazy) research student who is always playing with data I really like the idea of being able to run a few queries in a graphical interface without the hassle of setting up a proper database, and the interface looks perfect for that. I can't exactly afford it right now but I'll definitely buy a license when I get on the job market.

As for feedback the only thing I can say is that you should maybe look into marketing your software to research labs, as they/we spend a lot of time probing data and a lot of them are not proficient in anything but Excel. Or they are, but are too lazy to use anything else (like myself :)).

<comment><AUTHOR> Thanks for the comment jcos. I'm not sure how to market to research labs, but I'll look into it:) As far as the cost, you can use it for free for 30 days so you can see how you like it, and if do, since you're a student, I'd be happy to set you up with a freebee license for a year. Just drop me a line via the contacts form on the website and we'll take it from there.

</comment></comment><comment><USER2> My impression from the videos is that it is amazingly powerful and easy, but I don't use Excel, so I couldn't try it yet.

<comment><AUTHOR> Thanks:) That was my intention when building it, empower the user considerably but maintain a minimal learning curve.</comment></comment>


The Mighty Awesome Power of Scala - <AUTHOR> http://airodig.com/2010/03/21/the-mighty-awesome-power-of-scala/

<comment><USER2> I'm no Ruby fanboy (I once wrote a little GUI app in what was probably horribly unidiomatic Ruby). I think that he gave terrible reasons for not using Ruby (fanboyism & not enough code?). Plus he's on the JVM, so JRuby gives you access to tons of code.

If you want to use language X, then use it - there's no need to justify your choice by slating language Y.</comment>


Ask HN: Open Source Password Changing Software? - <AUTHOR> Are there any open source solutions to Dashlane and LastPass's mass multiple account auto password changing service? <comment><USER2> encryptr is a good alternative. also i have used KeePass in the past</comment>


O RLY Cover Generator - <AUTHOR> http://dev.to/rly <comment><USER2> That's interesting, but 'The Definitive Guide' seems can not be customized.</comment>