Thunderbird Ups the Email Ante - <AUTHOR> http://www.linux-mag.com/id/7529 <comment><USER2> Random cautionary anecdote about Thunderbird tabs:

My cat stood on my keyboard and opened an email hundreds of times. This made hundreds of new tabs that would re-open every time I started Thunderbird. As far as I could tell, Thunderbird has no function (yet?) to "Close All Tabs" or "Close All Tabs but this one" and so I just gave up after a while and manually closed them all myself by clicking the [X] one at a time.

If I had known how many there actually were (no real way to tell) I would have written a UI automation script (or extension) to close them all, but instead I spent a good 15 minutes closing the same email again and again. To make matters worse it was actually a very depressing email to boot.

<comment><USER3> Holding ctrl-w should close the tabs very quickly, if Thunderbird has the same shortcuts as Firefox.

<comment><USER2> Excellent! Thanks for the tip. It scared Thunderbird into pegging the CPU until I killed it, but it worked great.

</comment></comment></comment><comment><USER4> That's a really funny cautionary tale. I filed it at <https://bugzilla.mozilla.org/show_bug.cgi?id=517489> so we can think about ways to avoid or mitigate...

<comment><USER4> FYI, that bug has now been closed, and "Close other tabs" will be in TB3 final (and nightlies before that).

</comment></comment><comment><USER5> The only reason I can't stand switching out of gmail's web based reader is because I can't stand NOT having conversation-style emails.

Does anyone know if TB3 supports this? If not, does any other email client?

<comment><USER6> I'm not on gmail, so I don't know if this is the same as conversation-style, but Thunderbird has provided the ability to view emails in a threaded view for years. Apparently you can also configure Tbird to maintain this threaded view when sorting by date, subject, from, to, etc.:

[http://lifehacker.com/264317/maintain-threaded-view-in- thund...](http://lifehacker.com/264317/maintain-threaded-view-in-thunderbird)

<comment><USER7> Tbird's threaded view is nowhere near as intelligent as Google's threaded view. When an email client arbitrarily adds a "Re:" is messes it up. Conversation-style view is more or less useless when split up among multiple conversations.

Or at least this was my experience this summer.

<comment><USER8> _When an email client arbitrarily adds a "Re:" it messes it up._

I'm pretty sure Thunderbird uses the Message-ID and In-Reply-To headers to create the threads, not the subjects. But some people don't always use the Reply function, or Reply to an old email when they want to start a new conversation. Maybe Gmail has some logic to get around these limitations.

<comment><USER4> In Thunderbird 3, we use a combination of the two models, as some mail providers (Yahoo! for example, IIRC) strip away the right headers. Thunderbird 3's threading is way better than Thunderbird 2's.

</comment></comment></comment></comment></comment><comment><USER9> I've been running the Beta for months now on OSX, ever since Thunderbird2 started crashing and locking up on me. I've had zero problems with it.

</comment><comment><USER10> This is pretty cool - I used Thunderbird for a very long time and tried the beta out briefly.

Don't count out Outlook 2010 though...it has some pretty solid improvements too. I can't stand the conversation threading in Outlook 2007 or Thunderbird 2, but the way Outlook 2010 does it is pretty comfortable for me.

</comment><comment><USER11> Thunderbird is a shame and it was left behind by Mozilla, just try to fill a bug and they will tell you it's a feature... may be in 100 years it will add a pair of features.

<comment><USER12> I agree, I have been using it for years at my company and it consistently performs very poorly when you have a large mailbox (and it's unusable if you try to have it save messages for offline use). filters randomly miss messages, only to work when you run them manually, opening an email sometimes just hangs forever, it feels sluggish all the time...

I don't like the interface either, you can't tell when it's doing something CPU-intensive in the background like compacting unless you notice that it says something in the status bar, and the status bar changes when you do something, leaving you wondering what the hell it's doing.

I installed the new beta a few hours ago and it seems just as bad, just now it was sitting in the background and it made my brand new macbook slow to a crawl for some reason. so I tried telling it to do the new archive feature on my inbox, and it gave me a folder for the years 2005-2009 with an extra folder for 2000 with nothing in it, and the 2005 folder ended up with a bunch of messages from 2005-2009. awesome. it's still hanging for long periods of time just trying to open single messages. I'd say it's my fault for using a beta but the release isn't really any better.

<comment><USER12> ah, and it just crashed when I tried to delete a bunch of messages. it was trying to index them, using 60% of my cpu, despite the setting telling it to automatically delete them because they were more than 30 days old. which has been set for a long time, leaving me wondering why they are still on the server in the first place. I'm not sure I would recommend Thunderbird for professional use. I haven't seen it lose messages or corrupt my mailbox, but it sure is flaky for me.

</comment></comment></comment><comment><USER13> yeah, it'd be a simpler menu than Firefox, maybe Close Other Tab, Open in New Window, Close All Tabs. No need for reload, new tab, or bookmarks.</comment>


Do you need a Blockchain? Probably less than Wüst and Gervais think you do - <AUTHOR> https://davidgerard.co.uk/blockchain/2018/02/10/do-you-need-a-blockchain-probably-less-than-wust-and-gervais-think-you-do/ <comment><USER2> Whatever the issues surrounding cryptocurrencies, their underlying blockchain networks have a remarkable record. [https://semiengineering.com/blockchain- hype-reality-and-oppo...](https://semiengineering.com/blockchain-hype-reality- and-opportunities/)</comment>


Collecting huge amounts of data with WhatsApp - <AUTHOR> https://www.lorankloeze.nl/2017/05/07/collecting-huge-amounts-of-data-with-whatsapp/ <comment><USER2> If you think there is no problem, you are wrong. The blog post does not show all the information leaks that this implies. Example: I can modify the script to monitor all the numbers I've in my phone, so that based on the online/offline status in a few weeks I can be able to guess who is having conversations together, discovering cheatings, work affairs, ...

EDIT: Practical example. After collecting enough data about user X I create a table about the probability of this user being online in a given few-minutes time ranges. Then I check the online frequency of that user compared to the online statuses of another user Y. If the difference compared to the expected probability is significant, than I can suspect the two are chatting.

Another thing I can use is that attivation delay of the online status, since often X sends a message to Y and this results in, a few seconds after, Y to be online, and then the contrary.

<comment><USER3> Well, maybe. I don't want to discount this concept entirely because some info is being "leaked" if that is the right word, but...

Let's say one of your contacts chats a lot because it's a chatty person. They're online far more than another person. What if that other person only chats on the bus on the way to and from work at roughly the same time every day to tell their wife they're on the way home. This activity will overlap with the chatty person's activity all the time.

By your rationale, they are having a conversation, maybe cheating, and maybe having a work affair.

I think the more contacts a user that are active, the higher probability that your model predicts they are having a "conversation" with another user. You'll probably find that your thresholds are really hard to fine-tune: maybe we say A chats with B if abs(A.activeTime - B.activeTime) < threshold, but that threshold is going to be __super hard to find __* and even __harder __to validate.

Sure, there is some information here (the picture probably being the most concretely weird) but the fact that you can just go to the App and check a box for privacy means that this seems like not a huge issue.

Yes, WhatsApp made the software, but its your responsibility to apply your own privacy settings.

<comment><USER2> If you check the model I described in my comment, it should filter the "bus problem", since it will detect a chat only if, compared to the standard "bus time" probability of the user A chatting, it is chatting more if in the same range also B is chatting. If you add to this that people on Whatsapp usually do not talk to the exact minutes, it is definitely possible to create a robust system for guessing with good probability of two have often conversations. Also note that the phone numbers in input are not random, are the ones of a connected circle of persons. Add to this the fact that we can split the ranges even, potentially, by few minutes, and you can even detect interesting stuff for people having continuos chats with multiple persons like teenagers. Another thing that is possible probably is also "groups detection", since at new messages a set of users will activate at the same time.

</comment></comment></comment><comment><USER4> Just checked if I was affected and happily I found I'd set every possible setting to private or disabled.

I figure five eyes already had this information. I think they would have tools to decrypt all communications from any app, by using rooted phones that scan their own memory for common crypto libraries and then extract the keys.

On the initial run it would not know where to look, and the phone would be set up to go through a proxy that blocks all non-decryptable communications, to avoid detection. A profile would be extracted to quickly and silently extract the keys from the phone's memory and subsequently send them to the decrypting proxy.

Then on the second run, the phone would be wiped/reset and the decrypting/blocking proxy would attempt to decrypt the communications that are now extracted from the phone in real-time. The wipe functions to avoid detection (it makes it look like the phone is simply crashing). Perhaps the wipe would include changing some device ID's and the source IP.

Rinse, repeat until only decryptable signals leave the phone.

(Something similar could be done with stubbing the encryption code in memory and then "moving" it to the proxy.)

Either based on virtualization tools or on memory inspection. Or perhaps ring -1 based.

The kind of tool I wish every techy had, so they could easily discover what their apps are really doing.

 _I 've seen footage, I stay noided, I've seen footage, I stay-_

Edit: If you know of similar or related tooling, please let me know! I want this software.

<comment><USER5> If there was a way of tricking the app to think it is always online, the real status could be obfuscated. WhatsApp probably uses some Android and iOS API to know when it's open, tapping into that could confuse the app and make the online status pretty useless.

LineageOS (previously CyanogenMod) had a Privacy Blocker or something like that, which you could block specific apps access to major APIs like Media Access, Phone ID Access, etc. It's been a while since I last used that, don't know if it still exists, but it sure helped my paranoia. It was fun seeing apps trying to access all sorts of stuff on my phone just to see them being denied access.

Nice Death Grips reference btw.

<comment><USER6> I think that rather than deny access, it feeded the app with randomly generated data.

</comment></comment></comment><comment><USER7> Seems to me that Whatsapp should be able to rate-limit these requests and work to secure the interface so only the legit website can actually pull the info?

The initial website display comes from a QR code you can on your phone, which the website then gets authorized by. Could they not then limit queries to that account?

I could be way off the mark, but it seems to me like the worst of this could be mitigated quite easily without much loss in functionality for users?

<comment><USER8> WhatsApp does monitor their network and API calls being performed. This way they ban spammers and fake clients going on the WhatsApp network. I suspect they use some form of Machine learning to filter out the non-users and when you're identified: you're getting banned. This means that you can no longer use your phone number and need a new SIM. So this story isn't feasable for "huge amounts of data". You might be able to download a few 100k of profile picutures but you will get banned.

</comment></comment><comment><USER9> > Some of the information that's being sent back include the following:

Reality:

> All of the information sent back is the following:

Why would you post information in a status update if you don't want it to be public? Why would you use a picture you want to keep a secret?

<comment><USER10> I think the concern is that the information is now associated with your phone number. Personally I don't care, but who cares can just enable correct privacy setting.

</comment></comment><comment><USER8> I don't get why people make such a big problem about this.

First of all, the privacy issues from WhatsApp have been discussed many times before. Yes, the default option "public" is bad, and just like making your profile picture on facebook "public" means anyone can scrape it. The fact that its a mobile app doesn't make it different from a website.

Secondly; people in the comments talk about the fact that you cannot control your precense in WhatsApp, and yes that is indeed a serious privacy problem which has been discussed before, but this article mentions nothing about that.

Third; WhatsApp monitors their network for non-user clients (to prevent spam and non-official clients). You may be able to request profile pictures of 500 people, but what about 1 million? Iterating over such a large set will likely cause a ban of your WhatsApp account, which means you need to spent another 10 bucks on a SIM card which will make it unfeasable to exploit.

Source: 4 years of experience with chat-bots on the WhatsApp network. I got a lot of SIM cards banned from WhatsApp by experimenting how far I could go. Not only sending messages, but also scraping.

<comment><USER11> Do you have contact info somewhere? I'd like to chat. (Or you can reach me at <username> at gmail.)

</comment></comment><comment><USER12> When you give your phone number to LinkedIn you're not surprised either if people will find your job title, photo and name based on your phone number right?

I'd think most people are pretty aware of how public the Whatsapp info is.

<comment><USER13> If I ask the semi- and non-technical people within my rech, I find that the majority is shocked by the described possibility.

Sadly not shocked enough to even change the privacy settings. Or - beware - deleting WA.

<comment><USER8> Why do people think "public" does not mean the same as "public" on a website? Essentially there is nothing different here..

</comment></comment></comment><comment><USER14> Being able to see this information for everyone in your contact list without having to add them is one of the main features of whatsapp

<comment><USER15> What was the service called again?

</comment></comment><comment><USER16> Ah the HN hug of DOS... obligatory link to the cached version

[https://webcache.googleusercontent.com/search?q=cache:gR6rTz...](https://webcache.googleusercontent.com/search?q=cache:gR6rTzHumvAJ:https://www.lorankloeze.nl/2017/05/07/collecting- huge-amounts-of-data-with-whatsapp/+&cd=3&hl=en&ct=clnk&gl=de)

<comment><USER17> It's working for me now.

</comment></comment><comment><USER18> What's more. If you see their profile pic, you can image search google to check if that picture matches some social networks. Now you have phone->name identification.

</comment><comment><USER19> Wow. Combine this with a reverse image lookup to try to match numbers with celebrities and other noteworthy people and there are a lot of opportunities for a lot of bad things.

I wonder if Trump uses Whatsapp on a personal phone?

</comment><comment><USER20> This is nothing new but well explained and nice script.

I'm totally shocked... maybe I will make a story or picture on my public Instagram about that issue ;)

</comment><comment><USER21> It clearly says so in the WhatsApp settings what people can and cannot see. This is the modern day equivalent of cold calling a range of home numbers and see who answers. If you don't want that information to be public, disable it. Simple as that.

This functionality is pretty much what made WhatsApp so easily accessible for anyone in the first place.

<comment><USER22> If you get cold-called, you will catch on that somebody is checking your status (home/not home) or tries to elicit information from you – because you are directly involved. With this API, you'll never notice that somebody tracks you. Most non-tech people will never check the settings tab and even fewer will check the privacy settings. They are not aware they are sharing their info publicly.

<comment><USER21> You are directly involved by installing the Whatsapp application and agreeing to the ToS, which clearly states:

>We collect information about your online and status message changes on our Services, such as whether you are online (your "online status"), when you last used our Services (your "last seen status"), and when you last updated your status message.

And

>Your phone number, profile name and photo, online status and status message, last seen status, and receipts may be available to anyone who uses our Services, although you can configure your Services settings to manage certain information available to other users.

"B-but people don't read those!" \- well then maybe that's something to worry about instead of complaining about an API which is the nature of the product.

</comment></comment></comment><comment><USER23> This could be extended slightly to get usernames, I believe.

When you're added to a group with a person in it who's not in your contacts, their messages have the name linked to their account in the corner.

<comment><USER9> The push name is not a username and if you don't want to 'expose' it, leave the group without sending messages. They won't see your name.

<comment><USER24> The username is visible in the group info screen. Also, if anybody types '@' it will show a list of group members and their usernames.

<comment><USER9> Not if you've never sent a message to the group or the specific user who's looking.

</comment></comment></comment></comment><comment><USER25> >Please, use it wisely!

Made me laugh.

</comment><comment><USER26> This reminds of the Citibank incident a few years back. Not technically a hack but can land you in trouble.

</comment><comment><USER27> I did almost the same, its insane how much data you can collect on a person.

</comment><comment><USER28> Man, my public GitHub profile ties my email address to my photograph. And that stuff is also in each of my public commits.

With modern Android's anti-spam features, I can even dodge spam calls to my phone, so this is not a problem for me.

<comment><USER22> What is the point of your comment? That it isn't a problem for you so therefore it shouldn't be a problem for the remaining billion of WhatsApp users?

<comment><USER28> I went back and forth on this, but I think it's quite clear what the point of the comment is so I'm not going to explain.

</comment></comment></comment><comment><USER29> This has been done before.

<comment><USER30> By who and when?

<comment><USER29> eg [https://nakedsecurity.sophos.com/2015/02/17/whatsapp-spy- too...](https://nakedsecurity.sophos.com/2015/02/17/whatsapp-spy-tool-lets- anyone-track-when-youre-online/)</comment></comment></comment>


Microsoft Research: Speller Challenge Registration opens - <AUTHOR> http://web-ngram.research.microsoft.com/spellerchallenge/Default.aspx

<comment><AUTHOR> Just saw it last night. Hopefully, it will be fun.</comment>


Write your first MapReduce program in 20 minutes - <AUTHOR> http://michaelnielsen.org/blog/?p=529 <comment><USER2> Hey dude, 2004 called, they want their news back.

<comment><AUTHOR> What's your standard for posts? That they should only discuss things that have been invented in the last few months? By that criterion much of the best material posted to HN would disappear.

<comment><USER2> <http://www.theregister.co.uk/2008/08/11/hadoop_dziuba/>

_It's got all the makings of a blogosphere hit: cluster computing, large datasets, parallelism, algorithms published by Google, and open source. Every four days or so, a nerd will discover Hadoop, write a "Basic MapReduce Tutorial with Hadoop" tutorial on his blog with some trivial examples, and feel satisfied with himself for educating the world about a yet-undiscovered gem_

You even did word count... same as everyone else. In painful self- referentiality, you can even Google for "map reduce word count" and get 264000 hits.</comment></comment></comment>


Meet Mito: Edit a spreadsheet. Generate Python. All in Jupyter. - <AUTHOR> https://trymito.io <comment><AUTHOR> Heyo, I'm Nate! Long-time lurker :)

In quarantine, I've been doing lots of data analytics challenges. Since I'm new to data analytics in Python, I spend most of my time furiously browsing Stack Overflow to find the right functions :)

At school, I learned to do data analysis in a spreadsheet. Because they're so visual, data cleaning and manipulation is easy. I wanted this simplicity in my Python workflow.

So I built Mito! [1]

Mito is an editable spreadsheet in your Jupyter notebook. Pass in a Pandas data frame, make the edits you want, and Mito will automatically convert your edits into production-ready Python code.

You can clean, filter, find/replace, and use standard spreadsheet functions in Mito, giving you the visibility and ease of a spreadsheet with the power and repeatability of Python.

It's also a great way to get less-technical friends involved in your Jupyter projects - they can contribute their spreadsheet skills while learning Python!

I'd love to hear your thoughts about how this might be useful to you. I'll be in the comments with my co-creators aarondia and jjdr123. You can see it in action here! [1]

[1] [https://trymito.io](https://trymito.io)</comment>


Japan's Prisons Are a Haven for Elderly Women - <AUTHOR> https://www.bloomberg.com/news/features/2018-03-16/japan-s-prisons-are-a-haven-for-elderly-women <comment><USER2> Have any of you guys deployed to a combat zone? For us fobbits (people hopelessly stranded to the safety of the forward operating base) all the stresses of daily life are gone.

There is no commute, no worrying about what to eat, what to wear, picking up kids, or anything else that consumes a normal person's time. In a way it is kind of like a vacation. You have so much disposable time to spend on hobbies, exercise, or education.

It is very much like being in prison, except that I am not afraid of my fellow inmates. It is strange though, because you don't get to pick your friends, much like prison. I suspect the fellow fobbits are substantially more educated on average than a typical prison population and probably generally healthier physically and mentally. You would be surprised, though, at just how mentally unhealthy many of your coworkers are when you are around them long enough to really see it.

Unless you are extremely ambitious and psychotically disciplined that much downtime grates on your soul. Being deployed for too long can be depressing and you cannot escape a certain amount of emotional isolation. It is also weird having a spouse and children and yet living apart for a year or more like a single person.

The long term consequence of the environment is an unhealthy dose of apathy. If you are too bored for too long you really don't care about most anything. Unfortunately, the environment provides little motivation to care as you are less likely to die in a combat zone stuck on a fob than driving to work in the civilian world.

<comment><USER3> > It is very much like being in prison, except that I am not afraid of my > fellow inmates.

I don't know - our fellow FOB inmates (Afghan security forces) kept turning on us and shooting people.

<comment><USER4> My buddy had to shoot their translator. Funny how you don't see things like that on the news.

<comment><USER5> Whoa, more details? That's wild.

<comment><USER4> I'm probably not supposed to.... but... Their guy took them to a spot, they camped out, he came back with an AK that night, he wasn't supposed to, they saw him coming from the wrong direction, he raised the rifle up, one or two of them watched the whole thing through NODs. They found out other info on the guy later.

</comment></comment></comment></comment></comment><comment><USER6> >> "I can't tell you how much I enjoy working in the prison factory. The other day, when I was complimented on how efficient and meticulous I was, I grasped the joy of working. I regret that I never worked. My life would have been different."

I think this is a core human drive and it makes me wonder why so many organizations seem to be fundamentally incapable of leveraging their employees' desire to do good work, regardless of the task.

<comment><USER7> Imagine as many jobs go away as technology takes over, what this mass feeling will be like.

</comment></comment><comment><USER8> > > [https://assets.bwbx.io/images/users/iqjWHBFdfxIU/ixs8sfqT3Wp...](https://assets.bwbx.io/images/users/iqjWHBFdfxIU/ixs8sfqT3Wpw/v0/800x-1.png)

You know the article has a clear agenda when they use fancy graphcs showing the increase of 60 years old crime without showing in comparison the increase of 60 years old in general population in the same time frame. Which would make sense, you know, because we are all aware Japan is aging fast.

[https://en.wikipedia.org/wiki/Aging_of_Japan#/media/File:Jap...](https://en.wikipedia.org/wiki/Aging_of_Japan#/media/File:Japan_Age_Makeup_1920-2010_with_Projection_to_2060.png)

Actually hardly any difference in ratio.

</comment><comment><USER9> It would seem more practical to put these people in a "prison" that's more of a dormitory with a chicken wire fence than one with walls, barbed wire and bars.

<comment><USER10> Many countries offer retirement homes and financial aid for their seniors but the Japanese are a people with a strong sense of honor and admitting that they are in need of social, emotional and financial help can be very difficult. So difficult that they evidently prefer going to prison.

<comment><USER11> Wow, Reading your comment made me wonder how bad it was, 1 in 6 will be over 80 and by 2025 they will need an additional 130,000 caregivers.

<comment><USER12> Good observation.

And I gotta say, while I once scoffed at the idea of robots helping out at home and giving some sense of company, it seems that such things actually might help in this case.

My colleague was recently in a car accident and is now wheelchair-bound. I can tell sometimes that when I'm helping, he feels conflicted in that he doesn't want to appear helpless and pitiful, but at the same time needs help doing some things. Having a handy robot helper would be an enormous emotional relief for him and would give him the sort of empowerment he really needs.

<comment><USER13> They don't need robots, they need immigration. Japan has been relatively xenophobic compared to other nations/cultures.

<comment><USER14> I do believe they don't need to be replaced, they need to fix their birth rates instead.

<comment><USER15> In a world with affordable and effective birth control having children is a choice so it's really a question of why young people are choosing not to have children. Why do you think that is?

Birth rates in the US are plummeting. They peaked in 2008 at 2.1/woman(the replacement rate) and are now down to 1.7.

I can only offer anecdotes but I know several people of prime child rearing age who don't have families. From my discussions with them, they don't feel secure financially. Maybe people raised in a middle class environment aren't willing to risk poverty to have kids?

Or maybe it's the endless distraction we have available to us. Or maybe it's the increasing isolation of modern life. If you weren't raised in a coherent household maybe you feel less of a need to create one yourself.

<comment><USER16> Again, anecdotally, but I have a lot of female coworkers who are in their 30s. Their biological clocks are ticking hard (they talk about babies and children all the time). As far as I can tell, the problem is none of them can find a guy that is willing to settle down and start a family. Not because the guys they date can't afford it, but they don't want to give up their single lifestyle (and let's face it, they don't need to get married to have sex, which is what used to convince guys to settle down decades ago).

One of my coworkers was so desperate when she hit her late 30s that she stopped taking birth control and had unprotected sex with any guy that was willing until she got pregnant. Whoever the guy was, he has no idea he fathered a child. She just wanted him for his sperm. The kid is basically being raised by child care centers while she continues on her career path. The other female coworkers think she is smart and are planning on doing the same thing if they find themselves in a similar situation when they reach their late 30s.

<comment><USER17> > Whoever the guy was, he has no idea he fathered a child.

That's just unethical. I feel sorry for the child already...

<comment><USER18> I wonder why she wouldn't just go to a sperm bank...?

<comment><USER19> I guess you get to know the genes you're going to use this way. It doesn't make it any more ethical though.

<comment><USER20> I would imagine sperm banks do something similar. They have standards for who they accept, they won't take donations from just anyone. And I really doubt they just roll dice and give you a random man's sperm.

Sleeping with some person doesn't tell you anything about, say, their family medical history. Sperm banks check that stuff.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> I still don't understand how a country with a fast aging population and alienation of it's youth (herbivore men) has the allegedly most reliable bonds to pay in the distant future.

Do investors see something else? Are they factoring robots or something?

<comment><AUTHOR> They've been buying their own debt with their central bank, aggressively debasing their standard of living to try to relieve the extreme debt pressure & interest that has been consuming nearly half their tax revenue.

The central bank buys up the government's outstanding debt at zero interest, removing external holdings of debt, while punishing the Yen and anyone holding Yen assets in the process. For the government it becomes a low cost approach to cancelling out debt. For the people of Japan, it becomes a stealth inflation attack on their standard of living. The choices are slim though, they already have high taxes, and the national savings rate has dropped from high to nearly zero (formerly the people of Japan funded the big debt binge with the high savings rate).

It's the next level up from what the Fed was doing with QE. The Fed - supposedly - will sell a lot of its assets back into the market. The central bank of Japan plans to just buy up its own debt and cancel it perpetually. The Bank of Japan owns something like 43% of the Japanese Government's debt at this point.

You can almost guarantee the US Government & Fed will do the same thing in the next ~15 years, as US public debt hits $30+ trillion. If the US wanted to push its debt interest costs toward zero over time, it could have the Fed start buying up all the public debt. The cost would be debasement of the USD (the dollar would fall, commodities would soar, the US standard of living would fall, real inflation would spike). If you want a functioning market for your debt, you have to pay investor's rate of desired interest. You can massage that to some degree, which the Fed does, to try to keep interest costs under control. In Japan's case, they've gone full QE, entirely dropping the pretense of a market for their debt.

<comment><USER22> Just out of curiosity, what does that mean for Japan's real estate market? Does that policy cause RE prices to fall or rise?

<comment><USER23> QE is definitely a boost for asset prices, but the economy is way too complex and interrelated to draw such direct inferences.

All things being equal, a QE program ought to raise real estate prices.

<comment><AUTHOR> It'll only raise real-estate prices in that domestic currency, and only insofar as the broader program consequences don't result in a collapse of confidence in your economy, with a spiral of damage from there (otherwise Venezuela would currently be the richest nation in world history).

You can get away with light QE. Once you go full QE, to the extent you do it and depending on how long you do it, you'll start to see it destroy the nation's standard of living, eventually collapsing asset prices in real terms.

</comment></comment></comment></comment></comment><comment><USER24> This reminds me a Japanese movie I saw long time ago: The Ballad of Narayama ([http://www.imdb.com/title/tt0084390/](http://www.imdb.com/title/tt0084390/))

which is about a village where old people have to climb a mountain and left there to die once they reached certain age; this is to save limited resource to younger

a sad story, hope it won't become somehow true in future

<comment><USER25> This is called ubasute ([https://en.wikipedia.org/wiki/Ubasute](https://en.wikipedia.org/wiki/Ubasute)) and is a common theme in Japanese folklore.

<comment><USER26> See also [https://en.wikipedia.org/wiki/%C3%84ttestupa](https://en.wikipedia.org/wiki/%C3%84ttestupa) for a similar but mythical nordic equivalent.

</comment></comment></comment><comment><USER27> Those are really long sentences for the crimes described

<comment><USER28> Yeah 2-3 years for shoplifting stuff worth less than 50$ seems harsh.

<comment><USER29> On the other hand, shoplifting rate is really low. A lot of merchandise is literally out in the streets. Security is minimal. In many European countries shit would get stolen in no time. Yet high social trust in Japan allows this.

Well, till nanny punk comes..!

<comment><USER30> The old woman will just keep stealing a mango once in a while, until people finally understand her, and allow her to come to rest in a better environment.

<comment><USER29> .. and prison happens to be better environment. At least in her mind. So win- win, harsh punishment keep youngsters at bay AND gets elders sent for rest :D

What is weird, they do have "life-long learning centers" and hobby communities geared towards elders and whatnot. Maybe her pride didn't allow her to go to those and declare she needs human contact? Meanwhile prison helps her to save face in some twisted way?

</comment></comment></comment></comment></comment><comment><USER31> Particularly powerful when you look at it in the context of poverty in Japan in general.

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

</comment><comment><USER32> The hung that shocked me the most about the article was the incredibly long sentences for petty crime. I guess I've spent so long hearing about how horrible sentencing is in the US that I automatically expect other first world countries to have shorter or no jail time for such things.

In California for example, theft of less than $950 worth of goods is considered petty theft, and would normally result in a misdemeanor or infraction and a fine.

</comment><comment><USER33> Reading this somehow reminded me of Tokyo Story - [http://www.imdb.com/title/tt0046438/?ref_=nv_sr_1](http://www.imdb.com/title/tt0046438/?ref_=nv_sr_1)

</comment><comment><USER34> Is there a correlation between Prostitution and Poverty [https://en.wikipedia.org/wiki/Prostitution_statistics_by_cou...](https://en.wikipedia.org/wiki/Prostitution_statistics_by_country)

</comment><comment><USER35> Why is this on Hacker News?

<comment><USER36> > On-Topic: Anything that good hackers would find interesting. That includes > more than hacking and startups. If you had to reduce it to a sentence, the > answer might be: anything that gratifies one's intellectual curiosity.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

</comment></comment><comment><USER37> Uh..but aren't Japanese prisons horrid? Why are they a haven?</comment>


DailyBooth's (YC W09) iPhone app: Picturing the Future of Status Updates - <AUTHOR> http://www.fastcompany.com/1709232/why-your-next-status-update-is-likely-to-be-a-photo-of-yourself

<comment><USER2> The "Photo Ghosting" feature wouldn't be a priority for most photo sites. It illustrates how diverse the needs are among people who share photos for different purposes. This bears repeating: asking if there's room for another photo-sharing site is as silly as asking if there's room for another word- sharing site.</comment>


Just Read: Chrome extension to remove styling, ads, popups, comments - <AUTHOR> https://chrome.google.com/webstore/detail/just-read/dgmanlpmmkibanfdgjocnabmcaclkmod?hl=en <comment><USER2> Looks like most beloved tool by Reddit and HackerNews users. Thanks for sharing, I will make a little experiment this evening with reading ~10 bookmarked articles.</comment>


Ask HN: 301 redirects bad for SERP ranking? - <AUTHOR>

Hi all fellow HNers,
What is the best way to keep a website's search engine ranking while rebuilding it with a better url structure?
The case in point is a potential customer that has a very messy and broken website running on PHP. It fails on many levels including not using descriptive urls (e.g. /Product.php?10) and very bad table based markup.
I wanted to develop a online shop on Ruby with better urls and better on page SEO but that would break the current url structure.
Will doing 301 redirects from every old page to the its new sibling harm in terms of search engine ranking?
Thanks
Filipe Moreira <comment><USER2> It's certainly better than breaking all the currently-valid URLs.

<comment><AUTHOR> Do you think the 301 redirect would impact the ranking?

</comment></comment><comment><USER3> With 301s the search engine juice flows to the redirected pages.</comment>


Show HN: Feeding Cards Against Humanity responses into a neural net - <AUTHOR> http://cards-against-the-machine.glitch.me?resubmit=hn <comment><USER2> Well... that was an interesting blend between fascinating and disturbing.</comment>


Steam's price disparity between countries - <AUTHOR>

In Australia the traditional price point for new release PC/Console games is around $100. There used to be a number of justifications offered for this. Including local distribution costs and the value of the Australian Dollar.
However Steam uses the same distribution model in Australia as it uses in the US. The Australian dollar is almost at parity, which shouldn't even matter since Steam purchases are made in USD. Yet games here are consistently priced higher. For example Skyrim is priced at $89.99USD.
Am I missing something, or it this just an opportunity to extract more money from Australian consumers? <comment><USER2> The only thing I can imagine at the moment of writing, is taxes.

If there is such a thing as taxes on virtually imported goods. Only a guess though, I wonder what the real deal here is.

</comment><comment><USER3> I believe valve games' price are consistent. It's the publishers that think Australia's easy for upselling.

</comment><comment><USER4> From what I recall Australia has a higher minimum wage compared to the US that is way the price is scaled.</comment>


The Curry-Howard isomorphism (types are theorems, programs are proofs) - <AUTHOR> http://en.wikibooks.org/wiki/Haskell/The_Curry-Howard_isomorphism

<comment><USER2> Doesn't this sort of thing put lie to the idea of patenting algorithms, as mathematics is unpatentable, types are theorems and programs are proofs?

<comment><AUTHOR> I don't know. You could equally argue (at least to a judge) that everything that can be coded in binary is actually an integer.

</comment></comment><comment><USER3> Cool.

I'm also a fan of intuitionist logic in the context for this discussion, because uninhabited but "true" types such as ((a -> b) -> a) -> a are not theorems.</comment>


Hosting for Java Web App? - <AUTHOR>

Any recommendations for hosting services for a java web application? <comment><USER2> try heroku, or aws elastic beanstalk for easy deployment.

<comment><AUTHOR> Thanks, already signed up for AWS.

</comment></comment><comment><USER3> hetzner.de

There's no VAT if you are outside Germany.

10x the performance of 'cloud' VMs at the same price.</comment>


An interesting, useful new web service - <AUTHOR> http://www.rememberthemilk.com/

<comment><USER2> This is indeed a useful service. Its certainly not new (<http://tinyurl.com/ynvea7>). Combine this with www.jott.com and you have a pretty good system.

I am more of the Hipster-PDA user as I don't always have internet connectivity so I can't get to my lists from everywhere. Plus I happen to like pen/paper :D

</comment><comment><USER3> Not new at all.</comment>


Google, Apple ditch college degree requirements - <AUTHOR> https://www.axios.com/google-apple-college-degree-hiring-a290bca8-65a7-4de2-8fa9-d93b4c30457a.html <comment><USER2> A google recruiter approached me after a talk at pycon years ago (I am a self- taught programmer of 20years) asking if I was looking for a job because I sounded like just the kind of person they were looking for. I informed him that his company was not interested in hiring under-educated plebs like myself, took his google yo-yo and walked off. I still have it as a trophy :)</comment>


April Fools' Day Announcements - <AUTHOR> I did this a few years ago and it was well received.<p>Instead of cluttering the front page with fake product announcements, let's just post them in here instead. One thread where each top-level comment is just a title and a link. <comment><USER2> Title: Introducing Data Brick™: The Building Block of DataBricks' Unified Analytics Platform Link: [https://databricks.com/blog/2018/04/01/introducing- data-bric...](https://databricks.com/blog/2018/04/01/introducing-data-brick- the-building-block-of-databricks-unified-analytics-platform.html)

</comment><comment><AUTHOR> Find Waldo on Google Maps - [https://www.theverge.com/2018/3/31/17183606/google-maps- wher...](https://www.theverge.com/2018/3/31/17183606/google-maps-wheres-waldo- game-april-fools-week)

</comment><comment><USER3> Someone already tried that this year, but it doesn't seem to be very popular:

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

</comment><comment><USER4> HummusAPI from Google Cloud: [https://youtu.be/0_5X6N6DHyk](https://youtu.be/0_5X6N6DHyk)</comment>


Largest-ever study of controversial pesticides finds harm to bees - <AUTHOR> http://www.nature.com/news/largest-ever-study-of-controversial-pesticides-finds-harm-to-bees-1.22229 <comment><USER2> My prediction: any of these pesticides that are not already restricted will be deregulated by the current administration.</comment>


The New Haskell.org - <AUTHOR> https://www.haskell.org/?new <comment><USER2> I'm new to Haskell, and I like this page. So, wanting to get a feel for it, I tried typing the sieve example from the top of the page into the "Type Haskell expressions in here." box right beneath it.

First, I got

        <hint>:1:8: parse error on input `='

Hm so apparently definitions aren't expressions? Or something?

I decided to remove the `primes = ` part, which made my browser really slow and had no result. I'm assuming it was computing all primes in the background.

Now, of course, maybe I should try to _understand_ the sieve example before running it, but isn't the whole point of having a REPL box on the front page that you can facilitate people who learn the other way around? It would be great if there'd be some code or expressions available at my fingertips that would actually _work_ in that REPL.

In other words, maybe make the first example be something that actually terminates?

Please read this as constructive criticism, which is how it is intended.

EDIT: Only now I'm noticing that exactly the things I ask for are listed to the _right_ of the "try" box. Pardon my lazy reading, I'm really enjoying the tutorial right now. Still, making the `sieve` example terminate would be nice. But I believe my nitpick is maybe a bit much of a nitpick now.

<comment><USER3> The biggest problem isn't what others have said. The biggest problem is that _the try box doesn 't let you define your own functions or variables._

Therefore, even if you were an old hand at GHC and GHCi and so on, you'd still be unable to run the code it shows at the top of the page.

This is probably bad website design. Especially since the website still lets randoms burn themselves by entering non-terminating code that makes their browsers slow.

<comment><USER4> I agree with the problems but am curious how you would solve the non- terminating code problem?

<comment><USER3> > I agree with the problems but am curious how you would solve the non- > terminating code problem?

I thought it was running on the browser, based on what the OP said, so that would entail opcode-counting or, if you can use multiple threads, watchdog timers. That is, don't try to solve the halting problem, just enforce an arbitrary limit to how long code can run.

However, if the code is being run on the server, you could enforce CPU and RAM quotas to do the same thing with the OS's help.

</comment></comment></comment></comment><comment><USER5> I really like the new design. The old site was certainly showing its age--very dense and hard to navigate. Never mind the lovely 1990s motif. This is far more welcoming and user-friendly, especially to those who might be curious about Haskell.

It's exciting to witness Haskell gain traction within industry. Facebook announced last week that its building an entirely new Haskell team to focus on distributed systems, data mining, and machine learning. They're also hiring for a second team to support Haxl [1].

For those eager to use Haskell in the workplace, I imagine the new design should make it easier to formulate a compelling business case. Being able to point your project manager and/or colleagues to a website that clearly explains what Haskell is--and what sets it apart--is a big plus.

The source code for the site can be found on GitHub [2]. Awesome work by Chris Done, who kicked this off last year; see his blog post about the motivation for the new site [3].

[1] [http://www.reddit.com/r/haskell/comments/2useoq/haskell_oppo...](http://www.reddit.com/r/haskell/comments/2useoq/haskell_opportunities_at_facebook/)

[2] [https://github.com/haskell-infra/hl](https://github.com/haskell-infra/hl)

[3] [http://chrisdone.com/posts/haskell- lang](http://chrisdone.com/posts/haskell-lang)

</comment><comment><USER6> This new, awesome site is using the framework Yesod[0], which is kinda like the Rails of the Haskell world, only it can do rad stuff like prevent XSS and 404s at _compile time_. Yes, you read that right.

[0] [http://www.yesodweb.com/](http://www.yesodweb.com/)

<comment><USER7> You know what is REALLY cool? Almost all haskell web frameworks use the Web Application Interface[0]. Which is a unified interface for haskell web applications. This means you can mount web applications written in OTHER frameworks under your routes and vica versa.

[0] [http://www.stackage.org/package/wai](http://www.stackage.org/package/wai)

<comment><USER8> Yeah, wsgi was also cool when it appeared for Python, back in 2003.

</comment></comment></comment><comment><USER9> Interestingly, my love for Haskell was re-kindled today and I went to the site to download the latest platform. There is so much wrong with the new site -

1\. Earlier, there was a lot of information on the Home Page. Now there's almost nothing. Yes the earlier page was a bit too busy, but crucially comprised simple HTML links and was fast to load. 2\. Now there's a big banner saying "Open Source Community Effort for 20 Years" with Vimeo links, which itself is a bad idea. What happened to simple HTML anymore? Anyway, I don't care about the effort - show me the results e.g. Hackage, Hoogle, IDEs, etc. all of which was readily available in the old page but not anymore. 3\. Earlier, it was easy to locate the Haskell platform for Windows. Now it takes to a cryptic download page and I am not sure what I am downloading. What is MinGHC?

These are just my initial impressions. Anyway, I wonder why people don't realize that not everything needs to be converted to the "modern web". Sometimes the old web is vastly superior to any modern alternatives.

<comment><USER7> A new website will never be perfect. Luckily They're very open to suggestions and criticism . There seems to be an active issue tracker here [0] that is used to keep track of feedback. Pull requests seem to be welcomed as well. Quite the friendly community it seems.

By the way. the old website moved to [https://wiki.haskell.org/Haskell](https://wiki.haskell.org/Haskell)

[0] [https://github.com/haskell-infra/hl/issues](https://github.com/haskell- infra/hl/issues)

</comment></comment><comment><USER10> I don't understand why they want to use this code

primes = sieve [2..] where sieve (p:xs) = p : sieve [x | x <\- xs, x `mod` p /= 0]

As their first example of Haskell. It's a prime generator based on trial division. And not even trial division up to sqrt of the number you test, but all the way up.

I like the idea of a small snippet showing of the power of haskell, but there are many much better examples imho. Perhaps the website could just choose one at random at each load?

<comment><USER11> It's the Sieve of Eratosthenes, which is a fairly classic algorithm.

<comment><USER12> No it's not. It is only superficially[1].

The sieve of Eratosthenes goes like this:

1) Mark 2 as prime. Let it be n.

2) Mark all numbers of the form i times n as composite, where i is a positive integer. (We can do this by stepping over multiples of n. No multiplication needs to take place.

3) The next unmarked number is prime. Let it be n. Goto 2

Notice how this alogorithm does not use division. Division in modern CPUs is slow.

The algorithm presented uses the `mod` operator, which does division. This algorithm is equivalent to the Trial Division Algorithm. Instead of "deleting" multiples of n as composite, this algorithm tests _all_ numbers greater than n for divisibilty by n, and then only does it "delete" the number.

For a more detailed explanation, see [http://www.cs.hmc.edu/~oneill/papers/Sieve- JFP.pdf](http://www.cs.hmc.edu/~oneill/papers/Sieve-JFP.pdf)

[1] [https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes#Trial_di...](https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes#Trial_division)

</comment></comment></comment><comment><USER13> The new web site looks better than the old one but it also makes everything harder: finding documentation, downloading the compiler, explaining the environment and tool chain, etc... All these very important tasks are now hidden behind links to links to links.

I wouldn't be surprised that the average time that users spend on haskell.org goes down as a result (assuming the Haskell team even cares about measuring these things).

</comment><comment><USER14> I'm glad the page is getting a design refresh, as it needed it, however it may have swung too far in the direction of the latest web scripting language du jour. The 'try it now' box is appealing to the short attention span scripter and not to the engineer. Already you are having to mention IO actions which is a subject that can't be properly explained through a web form.

As for the image, I don't know why it would be interesting to see a picture of a bunch of people at a conference, especially if you go back to the page frequently. Why not some original Haskell art like the Diagrams factoring image?

Regarding the 20 years in development, I agree this fact should be front and center, this is a serious tool that has had a lot of work by very high level thinkers, it is a world away from the origins of Java as far as engineering integrity.

</comment><comment><USER15> It looks good, but they have to get rid of the out of focus photo. Photos that are entirely out of focus are really annoying and give a lot of people headaches.

Usually out of focus areas should be used to bring the eye to an object in the photo that is in focus. But if such an object does not exist, then the eye wanders and tries to adjust itself to focus (the eye has its own focusing mechanism). But of course it cannot do so, so what you get as a result is strain on the eye and a headache.

Out of focus photos have no business in what hopes to be a mainstream website.

<comment><USER16> I agree... I didn't even realize there was a videos section between the "Try it" and the "Features" section until I read your comment.

</comment></comment><comment><USER17> λ do line <\- getLine; putStrLn line

> л

mueval-core: Imports.hs: removeLink: does not exist (No such file or directory) ExitFailure 1

What did I do wrong?

<comment><USER18> You need to use curly braces in single-line do-expressions:

        do { line <- getLine; putStrLn line }

<comment><USER17> First of all, I took that example from the webpage. And it works in ghci (if printing ? back to me "works", then I guess it works)

<comment><USER18> Ah, right, sorry. I completely misread your post.

I guess there's something funky in the unicode handling on the site.

</comment></comment></comment></comment><comment><USER19> If I go to downloads for Windows, I get the opportunity to download an installer for something called MinGHC with no indication of what version it is, and no indication if it is a 32 or 64 bit GHC. Whichever it is, if I want the other one, I'm apparently out of luck.

The Haskell Platform is nowhere to be seen, why?

It looks nice on the surface, but the actual content needs work. And the link to more content is well-hidden at the absolute bottom of the page.

</comment><comment><USER20> great! I love the fact that "try it" takes center stage. Though there was a lot more information on the old site, I feel the new one does good job of breaking it up into more meaningfully grouped segments.

The sponsors section is confusing to me though, are these actual sponsors or just services that haskell.org uses? Its not actually clear to me based on the text and the relative prominence each is given.

</comment><comment><USER21> This is a step backwards imho. The fit and finish of this site betrays much about the language and its amazing community.

This feels amateurish, with enough people complaining about the interactive repl and lacking information, this should have gone through more iterations and feedback loops with people outside the Haskell community.

<comment><USER22> Luckily for everyone, the current discussion here is just such an iteration!

</comment></comment><comment><USER23> Out of curiosity:

Who has written Haskell & deployed to production in the last 24h and if yes for what kind of app?

<comment><USER2> I know Amsterdam startup [http://www.silk.co](http://www.silk.co) has their entire backend written in Haskell. I'm not sure they deploy in weekends though.

Their CEO Salar told me that that, among other things, it gives them a hiring edge. People move to Amsterdam from all kinds of places just so they can write Haskell professionally.

<comment><USER24> No we usually don't deploy in weekends. Only if we break stuff just before the weekend. :)

<comment><USER2> Indeed! So you didn't deploy Haskell in the last 24h so you don't count :-)

</comment></comment></comment></comment><comment><USER25> I started the tutorial. Then I got stuck in the second step - Let's try something completely different. Type in your name like this: "chris".

The problem is: the input box doesn't get the quotes I write on my Mac. I tried double (") and single (') quotes

</comment><comment><USER26> I found a bug in the tutorial that introduces map.

Typing in: map(+1) [1..5] won't advance to the next step (even though the interpreter handles it fine), but map (+1) [1..5] will (note the space after map).

</comment><comment><USER27> The old site moved to [https://wiki.haskell.org](https://wiki.haskell.org)

</comment><comment><USER28> Looks neat, although I don't feel it's some big news. But there's some new weird font in "Haskell" logo now, isn't it?

Anyways, I'll always remember that cute cherry-flower (I guess) background on the old front page. It was nice first impression somehow.

</comment><comment><USER29> It's a good start to make people want to try it out, but I feel the tutorial could go a bit further.. chaining functions together? defining functions? map functions and branching?

</comment><comment><USER30> This appears to be broken in my browser. Screenshot: [http://m.imgur.com/uXcS2ZS](http://m.imgur.com/uXcS2ZS)

</comment><comment><USER31> Rakspace logo that appear on the footer should be light or white version, so it can match with the footer background

</comment><comment><USER32> This redesign appears to take the position: the first page on haskell.org is for people who are brand new to the language, not for people who are already learning the language or currently use the language. I don't like that choice. I think the page should be trying to be the most useful for users of the language with a link to an About or Getting Started page that is geared toward new users. To me, a user of the language visits the site dozens or hundreds of times over the course of a career, while the average brand new user only visits it (I'm guessing here) 1.1 times. But I can appreciate the difference of opinion and priorities and from the creator's perspective I think the page does an ok job.

It makes me wonder though, what if news.ycombinator.com took that position. What if it were a page describing what Hacker News is, how posting and commenting and voting works, and how long the community had been around, etc. And then there were a link in a menu that said "Submissions" that took you to the actual content.

For someone currently learning the language (past the first 5 minutes) or that uses the language regularly, the only useful things on this front page are the four links along the top.

As for improvements, I think some sections (e.g. community banner) should be removed. I think the videos should, given the focus on brand new users, probably be removed too. The community banner is, I believe, only there to facilitate displaying the titles when people click on the videos. I haven't watched any of the videos, but from their titles I am skeptical that they should be watched before the next section (Features) is read, so they should, at a minimum, be moved further down the page. I don't like the alternating dark/light sections, so moving them further down would give you a more traditional dark header, light content, dark footer look.

I assume the videos are not going to change regularly, because they appear to all be from a single Vimeo account that has more recent videos than those that are displayed. If the videos are kept, I think the titles should be visible without clicking on the video, because I thought (which means some others will think) that clicking on the video would start playing it. Hovering one by one to see the title is not a good solution.

Congrats to the people who built and deployed this, I'm sure it took a long time to get it live (since I remember seeing this page hosted elsewhere many months ago).

<comment><USER33> > This redesign appears to take the position: the first page on haskell.org is > for people who are brand new to the language, not for people who are already > learning the language or currently use the language.

Correct! See here for a complete report on the motivations behind each design decision: [http://chrisdone.com/posts/haskell-lang#the- audience](http://chrisdone.com/posts/haskell-lang#the-audience)

> To me, a user of the language visits the site dozens or hundreds of times > over the course of a career, while the average brand new user only visits it > (I'm guessing here) 1.1 times.

In practice this isn't true—it's generally agreed in the Haskell community: nobody goes to the home page, they go to either Hackage, Hoogle or google something and reach a page on the Wiki.

</comment></comment><comment><USER34> The 'Click to expand' below each feature could be changed to 'Read more'.

</comment><comment><USER35> Small thing but the favicon should be updated to look crisp on retina displays.

<comment><USER33> Huh, thanks for noticing. I have a retina display but on Linux Chrome and Firefox both ignore any kind of global font size settings for their tabs, so the icons are tiny and look crisp, didn't realise. That kind of thing bugs me too. The rest of the layout itself should be retina-friendly, though, as I developed it like that.

<comment><USER35> Yeah that is the only reason I mentioned it as the rest of the site was spot on.

</comment></comment></comment><comment><USER36> Dam this is cool.

</comment><comment><USER37> Nice new design!

</comment><comment><USER38> "advanced" purely-functional. Does -advanced- actually means something?.

<comment><USER39> Two different unrelated adjectives: it's an advanced language, and a purely functional language

<comment><USER40> This is about [https://news.ycombinator.com/item?id=7475631](https://news.ycombinator.com/item?id=7475631)

You asked a year ago:

>You say it's used all the time -- so how about you give an example of a "lazy" solution to a problem in, say, C?

but I was just reading that old thread now, so replying here.

short-circuit evaluation would be an example in C, because the programmer can ask the compiler to do something, but at run-time it won't do it if the results aren't necessary - it just won't execute despite the programmer explicitly writing those instructions.

e.g. in the condition if (is_prime(a) && is_something_hard_to_compute(a)) then even though you're calling the function is_something_hard_to_compute() about a, at run-time if it's not necessary for the result, then purely out of laziness it won't get called. (i.e. if the first test returns false.)

this meets the condition you asked about.

reference: [http://en.wikipedia.org/wiki/Short- circuit_evaluation](http://en.wikipedia.org/wiki/Short-circuit_evaluation)

</comment></comment></comment><comment><USER41> "Hi there, [name]! That's a pretty name. Honest. You're getting the hang of this!"

I fear that this style of childish and somewhat condescending tutorial content is becoming fashionable. Was it the best fit for the audience?

<comment><USER33> The tutorial is 5 years old, so I guess that makes me a hipster tutorial writer because I was doing it back when it wasn't fashionable? =p</comment></comment>


Facebook and Google are considering banning micro targeting for political ads - <AUTHOR> https://www.theguardian.com/media/2019/nov/07/google-facebook-considering-ban-micro-targeted-political-ads <comment><AUTHOR> This seems like a positive move. If you can't isolate your messages you have to be more generally appealing, and probably honest.

<comment><USER2> +1. Also it removes the ability to send contradictory messages to different audiences.

<comment><USER3> It also removes the ability to target problematic messages to audiences which are more likely to receive those messages favorably. Which is good!

For example, if a candidate were to promise to "drive <group> out of the country", they should not be able to limit that message's visibility to audiences which exclude that group.

<comment><AUTHOR> exactly. you force them to just deliver one message to everyone and it has to be consistent. it would force all parties back towards the political centre ground.

i hope this happens, and quick. we have an election happening here in the UK and facebook just said they're happy for the tories to use misleadingly edited clips in their ads.

a massive problem deserves a massive response and this should be it.

</comment></comment></comment></comment><comment><USER4> I've wondered if you could fix some of the problems with the modern internet / political landscape by making targeted advertising illegal.

You would still have advertising, but less incentive to collect data on individuals.

I would love to hear feedback / criticism on this idea.

<comment><USER5> > making targeted advertising illegal

how do you define targeted though? General definition would make almost all of the political ads illegal.

<comment><USER6> You could prohibit targeted advertising based on membership in a "protected class"[1] (race, religion, sex, etc.) - I think one of the problems with targeted political advertising on social media is that a lot of it seems created for the purpose sowing conflict between these groups. I struggle to come up with a legitimate reason a candidate would ever need to tailor their messaging based on those groups.

[1] [https://en.wikipedia.org/wiki/Protected_group](https://en.wikipedia.org/wiki/Protected_group)

<comment><USER7> The targeting can easily be neighbourhood, so you can say neighbourhood 1 (that likes Pizza) gets messaging that says candidate A loves pizza and everyone should get a free one, and also tells that neighbourhood that candidate B hates pizza. Then in another Neighbourhood that hates pizza they advertise the opposite.

You can get a reasonable approximation of that targeting in real life as well, but it is harder to hide that that is what you're doing. Whereas with online targeting you are never aware that the other ads exist.

</comment></comment></comment></comment><comment><USER8> To me, this seems like a very balanced approach. Interested in the HN take, what level of targeting would be appropriate to allow? I can think of arguments both for and against even relatively broad targeting based on location and demographics.

<comment><AUTHOR> i would say age, gender, location, and leave it at that!

<comment><AUTHOR> maybe not gender actually, now I think of it, and maybe not age or location either.

force them to just broadcast the same message to everyone, and that's it.

<comment><USER8> Yeah I've been going back and forth on this. I think some location targeting is important though. For example, if you're running for mayor I don't think you should have to advertise to the whole state or country. I think the real question is should you be able to sub-target the voting populace? (i.e. I'm running for a statewide race but only want to advertise to certain cities)

<comment><USER7> If you're up for election in region X, then your ads should have to be shown to everyone in region X.</comment></comment></comment></comment></comment>