Scraping Recipe Websites - <AUTHOR> https://www.benawad.com/scraping-recipe-websites/ <comment><USER3> I highly useful tool in my household for dealing with the SEO/tracking scourge that recipe blogs have become is [https://www.paprikaapp.com/](https://www.paprikaapp.com/).

Hoping someday to have some spare time to integrate this with [https://grocy.info/](https://grocy.info/) and have a pipeline for recipe -> preparation automation.

<comment><USER4> You might want to checkout an app I built called Cooklist. It has the features of Paprika + Grocy + Instacart + Pinterest all in one. [https://cooklist.co](https://cooklist.co)

<comment><USER5> works in Canada?

<comment><USER4> Only in the US at the moment but planning for Canada later this year

</comment></comment></comment></comment><comment><USER6> I'm surprised nobody has mentioned "Recipe Filter" [https://addons.mozilla.org/en-CA/firefox/addon/recipe- filter...](https://addons.mozilla.org/en-CA/firefox/addon/recipe-filter/)

Cuts the fluff and puts the recipe front and center. I wouldn't be able to find recipes online without this.

</comment><comment><USER7> Paprika 3 (I use the iOS version, but I believe the Mac version has the same function) has a fantastic web scraper for recipes. I've had to correct maybe 1-2 errors across 100 recipes I've brought in from a bunch of different sites. It's super helpful to look through them in a standardized way (and you can sort by ingredient/category) to figure out what to make.

<comment><USER8> I think most recipes are published using a microformat that makes this pretty easy, and that's why Paprika (I use it too!) so rarely screws up.

<comment><USER9> Yep. And if Google detects that your page contains a recipe and the microdata isn't perfect, or doesn't include all the things that Google wants so it can show your recipe to people without them clicking through to your site, Google sends you an e-mail through Webmaster Tools telling you to fix it, with the implied threat that your page won't be listed if you don't allow Google to use your work for free.

<comment><USER10> I'm a little torn with this. On the one hand, it's messed up that Google forces these companies to basically hand over their data, as you put it, but on the other hand, if they _don 't_ push companies to do things like this, single-visit webpages like lyrics and recipes inevitably become ad-infested, SEO-driven trash.

Maybe if they used a carrot in addition to the stick, it'd feel less sleezy, but I'm not sure what exactly that would look like.

<comment><USER9> _other hand, if they don 't push companies to do things like this, single- visit webpages like lyrics and recipes inevitably become ad-infested, SEO- driven trash_

The opposite may also be true. If Google sent visitors to these sites instead of displaying their content without compensation, the sites wouldn't be so desperate to extract every last penny out of the reduced number of people who click through to them.

</comment></comment></comment></comment></comment><comment><USER11> But how will I read about "Dakota", an avid yoga enthusiast who just happens to be a mom, who enjoys making healthy and savory meals for her family while blogging?

Seriously, I hope this spells an end to the Google ranking imposed nonsense that makes the simple act of searching for a recipe so insufferable.

<comment><USER12> It's a running joke in our house. I start off wanting to make some mashed potatoes, and time and time again, I have to suffer through someone's life story--the camping trip in North Dakota when Susan's husband first discovered his love of homemade sour cream--etc. Makes me wonder if a super barebones recipe site that literally just has recipes and absolutely no fluff would be something people would gravitate towards.

<comment><USER13> "Why doesn't everyone who is putting information out there for free not cater to exactly my needs".

What an utter load of bollocks. These are people who are creating something that they enjoy doing and giving you information you apparently need for free. I don't understand why anyone would trash their desire to write something that is personal and/or interesting to them about it.

And that's setting aside that these usually make the recipes far more readable and interesting to the vast majority of people.

<comment><USER14> It's a sweet world view, but the truth is that the majority of these cooking sites are filling in content for SEO and ad purposes, and the "stories" are fictions written by Tom, a 22 year old freelancer who isn't a yoga enthusiast but is just trying to make ends meet at 3¢/word.

<comment><USER15> And, the real farce is that Google mistakenly sees all that scrolling up and down the page, looking for the recipe as 'engagement' and "Dwell time".

<comment><USER16> Is that mistaken? Does no one click on ads on the page while doing this?

<comment><USER15> the algo thinks you're having a good time.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> Interesting! I wrote [https://plainoldrecipe.com](https://plainoldrecipe.com) (open source!) to solve this, an inadvertently discovered many of the metadata tags described here.

The irony is that the content is required for SEO purposes, but once you've landed on the page you don't want to see it. I wonder if there would be a way to write SEO that only the google bot sees and hide it from humans...

<comment><USER18> Your header says "plan old recipe"

<comment><USER19> Which is just dripping with irony? serendipity?

</comment></comment></comment><comment><USER20> Are there any legal issues with scraping recipe sites in a commercial app like that?

I'm assuming ingredients and directions are "facts" so can't be copyrighted, but what about the pictures?

<comment><USER21> Scraping is LEGAL, all search engines scrape to some degree for example, there is a fair use component, so you can't "scrape" 100% of a site and stick it on your domain, but you can still scrape more than zero. In general it is leaning more acceptable than less.

<comment><USER20> Yeah I understand that part, my question is about showing the scraped data to your users.

[https://www.yummly.com/](https://www.yummly.com/) used to have a paid API for recipe search and currently still lets users search their index. Did they have to go and get permission from each site that they index or is it fair use?

<comment><USER21> It looks a shade more detailed than google's recipe cards, they link back to the original source for the instructions, I would bet they didn't get permission, and that they count as a fair-use search engine. The law isn't (can't be) perfectly prescriptive here, there's some line that you have to sue about to know if it has been crossed.

</comment></comment></comment></comment><comment><USER22> This could also be useful for websites that do not print well. I have run into a few occasions where adds and other website elements printed with the actual recipe. The result was a small recipe divided on several pages mostly covered with other content. There were pictures and text formatting that I could not copy out. Often for stuff like that I just pull the HTML and edit until it prints well but I would rather have an easier way.

</comment><comment><USER23> Here's the question... why is it so difficult to do this in Android?

Seriously, AndroidDriver for Selenium was last updated 2013... and importing it throws an HttpClient error now. Update that client and you get a class duplication hell that is impossible to exit.

All I needed was to interact with 2-3 fields on a webpage but it's been eight hours and now I hate my life.

<comment><USER24> Checkout BrowserStack -- it's dead easy -- and even if you're not using their platform, their docs are good for showing the Selenium/Driver usage.

</comment></comment><comment><USER25> Cool, now the next interesting step would be to categorize recipes, maybe some kind of clustering algorithm, to see how similar they are and whether they have a common ancestor.

When I look at a recipe and notice some unusual proportions I usually check against Joy of Cooking or some other standard book. I've noticed that often everything old is new again.

</comment><comment><USER26> This is great! Its a wonderful write-up.

I've also made something almost identical - a Go library for recipes scrapers for ingredients [1] and instructions [2]. Instead of the LCA method here, in my version I try to find the longest sequence of highest scoring HTML tags and those are "ingredients" or "instructions". It works very well (although I think this one works better).

Like the article mentioned, I found that the heuristics for finding HTML elements with ingredients turn out to be surprisingly simple - they usually include just a number, a measurement, and a food! This simple heuristic worked better than other sophisticated things I tried.

[1]: [https://github.com/schollz/ingredients](https://github.com/schollz/ingredients)

[2]: [https://github.com/schollz/instructions](https://github.com/schollz/instructions)

</comment><comment><USER27> The simple truth is that the core recipes are fact-based and non- copyrightable, and the 1000-word blogspam recipe header is both copyrightable and garners better search result rankings.

So the business model is to take facts from the public domain, wrap it in bullshit prose, and then SEO the bullshit to have higher ranking than the naked source facts, for more unique visitors and ad revenue.

Making comments about "providing recipes for free" are exactly as useful as comments about "providing phone numbers for free" or "providing mailing addresses for free" or "providing the original text of 'Little Women' for free" or "providing the steps of the long division algorithm for free".

Obfuscating the public domain is not a valuable service. Automatically removing the obfuscation is valuable. A "Project Gutenberg" style repository of recipes would be recurringly donation-worthy.

</comment><comment><USER28> I just started transcribing every recipe I make. Even if you can extract all the essential information from a recipe site, some changes are needed:

\- I need to convert recipes to metric. I am neither equipped nor inclined to cook in freedom units.

\- A "can" or a "packet" is not a standard unit of measurement.

\- Package sizes vary between countries. I often adjust recipes to avoid wasting food.

\- I cook by mass, not volume. I convert the units them round them.

\- Instructions are sometimes too verbose. I make them easier to follow while my hands are busy.

\- I will make my own changes and I must write them down somewhere.

Besides, sites go down and links break. Food.com broke many of my bookmarks a few years ago. Other sites went dark. My recipes are plain text. They are editable, searchable, editable, and available offline.

<comment><USER29> I wish I had the willpower to do this consistently...

</comment></comment><comment><USER30> Hey Ben, thanks for that write up! You may not have time for this, but your article and the intersection of food/recipes and computer science would make a good book, at least I would read it.

I wrote [1] about 12 years ago in Clojure because for health reasons I had to track my intake of vitamin K, then decided to track all nutrients in the USDA nutrition database. I am working on a semantic web product (with another semantic product in planning) but maybe the end of this year will get to rewriting my food web app in Common Lisp and as a macOS app. I am adding a link to your article and these comments here to my notes for that project. Useful stuff.

[1] [http://cookingspace.com](http://cookingspace.com)

</comment><comment><USER31> Neat write-up, and thanks for putting me on to jsonld.js - looks useful.

I'm building [https://simplescraper.io](https://simplescraper.io) and we're trying to create heuristics to update CSS selectors whenever a website changes. People become unhappy when a scrape task that ran smoothly on Monday suddenly returns nothing on Tuesday so while it's a tough nut to crack it's super important.

We use a combination of XPath, historical data and data type (the value may change but the type and length often remain the same or similar) to narrow down the options.

Of course there's more sophisticated methods using Machine learning etc. but it's fun to try different approaches to solve this problem.

</comment><comment><USER32> In 2011, Google released "Google Recipe Search". With filtering based on ingredients, cook time, and calories.

[https://www.wired.com/2011/02/google-recipe- semantic/](https://www.wired.com/2011/02/google-recipe-semantic/)

[https://latimesblogs.latimes.com/technology/2011/02/google-d...](https://latimesblogs.latimes.com/technology/2011/02/google- debuts-recipe-view-search-function-for-cooks.html)

</comment><comment><USER33> I personally just find recipes, make it as written from the website, and then (if I actually like it), I'll convert it to be sane for actually following and output into Apple Notes.

What I mean by that is most recipes call for using wwwaaayyy more intermediary bowls/plates than actually required (e.g. if spices, chopped veggies, and minced garlic are going into the pot at the same time, there's no point in using three bowls) or list ingredients out of order of how you'd actually use them.

</comment><comment><USER34> So far the best way I've found to search for recipes is to search in a foreign language. Translate what you're looking for, then search and translate back to English. There are still recipe blogs, but 5 instead of 5,000, and usually an authentic dish, not what Michelle The Stir Fry Queen From Michigan thinks constitutes a "Moroccan" dish because it has cinnamon and tomatoes.

Would love to see someone put together a search engine that excludes recipe blogs and penalizes SEO.

</comment><comment><USER35> This is pretty interesting. I wonder how the recipe parsers from MyFitnessPal or Pinterest compare to this. Sometimes I think they do pretty good, but often they do miss the mark. My guess is on Pinterest they only treat something as a Recipe if it contains the metadata mentioned in the article, and do the easy parse if so. MFP seems to try something a bit more advanced, but I've never been super-impressed with its parsing abilities.

</comment><comment><USER36> This is great. I made a similar product at No Nonsense Recipes [https://nononsense.recipes](https://nononsense.recipes) because I was also tired of dealing with all the dreck on recipe sites. I did scrape some recipes to seed the site with but haven't integrated it as a feature yet.

I did ignore the photos though, since while recipes are not subject to copyright, photos are.

</comment><comment><USER37> Off-topic, but I just wanted to mention that Ben's been one of my favorite 'teachers' in YouTube. He has some quality content on React and JS stuff. For those wanting to learn React (including some advanced stuff), check out his channel! And no he didn't pay me to post this here. Hey thanks Ben - I know a bit of React and have used it on a few projects thanks (also) to you.

</comment><comment><USER38> I saw all the terrible SEOd recipe websites and my first thought was: I should make a better recipe website that is simpler and is better SEOd.

\---

FIRST EXAMPLE:

How to cook chicken on a skillet

Step 1 -- get this much chicken [picture]

Step 2 -- cook on skillet for 5 minutes

OPTIONAL -- here are seasonings you may add [pictures]

RELATED:

\- How to cook a lot of chicken on a skillet [LINK]

\- How to fry chicken breast [LINK]

\---

But then I didn't understand how any of these websites are making money so I didn't do it.

<comment><USER39> The reason all of these websites are so terrible with the long winded intro- stories is precisely because they do better with SEO.

<comment><USER38> Only if the page is low quality.

Leaving a low quality page after 60 seconds is way better than leaving a low quality page after 5 seconds.

</comment></comment></comment><comment><USER21> Any recommendations for a js lib that does all the "easy" scraping (microdata, og tags, jsonld, etc)?

<comment><USER40> I thought that's what this blog post was going to be about but it's just an ad for their app. I just need the scraping functionality.

<comment><USER41> While they do end with pushing their product, I think they did a good job of outlining how they scrape the recipes. They inform the reader about json+ld, microdata, and how to scrape the sites that don't use those. They even link to a JS lib that handles the parsing for you. I think calling it "just an ad" is inaccurate.

> There are libraries like > [https://github.com/digitalbazaar/jsonld.js/](https://github.com/digitalbazaar/jsonld.js/) > to parse JSON-LD + Microdata for you.

</comment></comment></comment><comment><USER42> A surprisingly good UX for recipes is Google Home. Ask it for a recipe, and it will ask if you want directions or ingredients. If you ask for ingredients, it will say them one by one, and pause between them until you ask it for the next one. My son has used it to great effect to make pancakes.

</comment><comment><USER43> Really nice! I often copy and paste recipes into text files I have locally so this is a great alternative.

One feature request (if I may be so bold): it would be great to offer an imperial<->metric convertor. This is predominantly one of the reasons I keep copies of recipes I find and use.

<comment><USER44> It's really the conversion to weight (grams, from cups/tbsp/tsp/hogsheads) that would be valuable. It's just so much easier to clean to stick a scale under the mixing bowl.

<comment><AUTHOR> this is coming soon!

</comment></comment></comment><comment><USER45> I've been working on something similar for the past couple of days, but the trouble comes with wanting static types. There are a few projects out there that offer either a microdata parser, or types derived from schema.org but nothing that combines the two as yet

<comment><USER46> I've been working on this and will have a recipe-specific solution up in a couple weeks. See [https://rcpe.io](https://rcpe.io)

</comment></comment><comment><USER47> [https://www.eater.com/2020/3/31/21201374/why-are-free- online...](https://www.eater.com/2020/3/31/21201374/why-are-free-online- recipes-so-long-stop-shaming-food-bloggers)

<comment><USER48> Ha! I should totally know better, but for a second, I mixed up .com and .net and thought, "Ben has a blog? And posted about recipes? Did he pull them into his 8 bit computer or something??" I didn't realize my mistake until I clicked.

</comment></comment><comment><USER49> This is pretty interesting, I wonder if this meta could be reused for tutorials of any kind (and not only of food, a.k.a. recipes). A tutorial normally has some requisites, and then step by step guide of how to achieve it, and then the final result.

</comment><comment><USER50> I did something similar a while ago. I still have somewhere a DB with half a million recipes somewhere. I didn't continue it because I got stuck with the client side and I didn't find anyone interested in helping me.

</comment><comment><USER51> Is there any recipe tool out there that can do at least one of the following:

1) Scale the quantity of ingredients and cooking time as number of people to be served increases?

2) Tell me what dishes I can make with the ingredients I have?

<comment><USER52> I enjoyed the recipe scaling abilities of Gourmet: [https://thinkle.github.io/gourmet/](https://thinkle.github.io/gourmet/)

You can also filter and search by ingredient, but that might be somewhat simplistic depending on what you had in mind.

</comment></comment><comment><USER53> Pleasantly surprised to learn that most recipe sites include structured metadata. Makes sense given the combination of a relatively straightforward schema, and SEO incentive from Google.

</comment><comment><USER54> I've been using Tasty. Quick videos showing all the steps and the how it's supposed to look like along the way. That's the only way I can accept recipes anymore.

</comment><comment><USER55> This is pretty awesome. I'm currently working on a data pipeline to demonstrate recipe scraping with kafka streams. This is going to be a big help in part of it.

</comment><comment><USER56> Googling for recipes drove me to install ad-blocker. Have to say I never considered how google created recipe card featured snippets -- cool stuff!

</comment><comment><USER57> Almost every comment on this page is helpful and from people's direct experiences. Wonderful :)

Thank you everyone for all of this information!

</comment><comment><USER58> I wish I had this when I first started cooking! I love this concept, but wouldn't this also harm the creator's traffic???

</comment><comment><USER59> This case is a perfect 'recipe' for reinforcement learning. Let me know if you want help here.

<comment><AUTHOR> I considered going down the ML route, but didn't know where to start. I'd love to hear how you would approach it.

</comment></comment><comment><USER60> Neat! I am interested in developing REST API around it to support more functionality, wanna collaborate?

</comment><comment><USER61> Next level : Shazam for cooking shows.

<comment><USER62> That'd be sweet for YouTube videos! I watch so many food/cooking YouTube videos.

<comment><USER61> That's the point : Similar to Shazam for music, you would build a mobile app that would use voice recognition to identify the cooking show and give you the recipe. Additionally you could find a restaurant that makes something similar and offer to have it delivered for a fee.

</comment></comment></comment><comment><USER63> Hey Ben, if you read this, thanks for your helpful and entertaining youtube videos!

</comment><comment><USER64> There is markup specifically for recipes. I wonder why it isn't more often used.

EDIT: Yes, the article mentions it, but doesn't give a clue why it isn't more prevalent.

<comment><USER65> Probably to make stuff like this less effective - the person who posted the recipe only makes money from it when people actually visit the page and see the ads.

</comment></comment><comment><USER66> So, Google actually encourages open semantical web? That is news

<comment><USER67> It's been the case for quite a while. However, it's mostly useful if you have a huge web crawl, elsewise discoverability is a bit poor.

</comment></comment><comment><USER68> Another tool for difficult-to-scrape sites is OCR. There are a few decent free/opensource options available:

[https://source.opennews.org/articles/so-many-ocr- options/](https://source.opennews.org/articles/so-many-ocr-options/)

</comment><comment><USER69> Be careful with this, some recipes are subject to copyright law. I think you can list ingredients of a recipe with no problem, but once you get to exact measurements and prep it somehow switches over to falling under copyright law. There used to be a bunch of open sourced recipe repos/databases...but almost all of them are gone.

<comment><USER70> Among other things, I am a cookbook author, so I know a fair bit about this.

Ingredient amounts are not subject to copyright protection. Any prose - intros, descriptions, instructions are covered by copyright the same way that any other book would be. So, yes, this kind of activity is likely in violation of copyright.

Let me also say that I find it a bit insulting that people who make a living creating IP (software) would be happy to disrespect the IP of these recipe authors. By taking the recipes from outside of the revenue source (a book, a banner ad, a cookie, whatever), you are stealing from the author and the publisher.

I make 25 cents on every book that is sold. So I don't actually care if you steal from me. The money is tiny. But it is a bit insulting when people - <USER2> my own living room, reading my copy of my book - decide that they want to take a picture of a recipe instead of buying a copy. It devalues the hundreds of hours and thousands of dollars that I sunk into the creation, cooking, and photography of the book.

So here's the moral of the story. Waiters should leave good tips because they know that waiters depend on tips. And IP creators should know better than to steal IP.

</comment></comment><comment><USER71> Is this post illegal as it contains information on how to commit crimes such as copyright infringement?

<comment><USER72> Is the instruction manual for a photocopier illegal?</comment></comment>


Why hunting for unicorns is bullshit - <AUTHOR> http://blog.landing.jobs/why-hunting-for-unicorns-is-bullshit-and-how-to-hire-a-great-ux-designer/

<comment><USER10> "Design a challenge to evaluate the selected candidates' skills. Good professionals love challenges. If the candidate refuses to do a challenge, consider this a red flag about their future commitment."

To me a bigger red flag is if someone has the time and desperation to put up with this kind of bullshit. Good professionals love money and respect.

Edit: IMHO the "unicorn" is someone who is both competent and spineless, which to me sounds like the candidate this article is asking you to find.

<comment><USER11> > To me a bigger red flag is if someone has the time and desperation to put up > with this kind of bullshit. Good professionals love money and respect.

Ouch, the cynicism here is astounding. Speaking for myself, I would love to delve into a challenge, like, cracking a small program [1], even if it gets me nothing because this, in itself, is so exciting.

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

<comment><USER10> I think that we're talking about two different things.

This challenge seems great to get some, as the link refers to "part-time CS student" employees.

I read the original article as aimed at an employer who is trying to find an alternative to just seeking out "miracle" employees, for these people part timers with no experience are probably not what they need.

If you need someone with experience who's likely already working in the field, taking time and concentration energy away from current work/personal projects/family/life is a much harder sell.

</comment></comment></comment><comment><USER12> "After selecting a winner in the challenge phase, try to work with the candidate in a small project before hiring him. Pay for the hours spent on the project, of course!"

It would be difficult to find a winning candidate who is unemployed, or who is employed and has the bandwidth to come in during office hours and work on a project with your team. That being said, performance on a paid "evening hours" consulting project would be a very good hiring metric that I think more companies should use.

<comment><USER13> > It would be difficult to find a winning candidate who is unemployed, or who > is employed and has the bandwidth to come in during office hours and work on > a project with your team.

Yes - please stop asking candidates to do this. I mean it's great that this particular company will offer to pay you for your time - but I've seen some companies require a candidate to come in and work for free for a day.

The last job application I was asked to take a 3 hour phone interview back-to- back (remote job). It just seems disrespectful that you would ask someone to be on the phone for half the day just for the possibility that they might get the job. I don't know about you guys - but if I disappeared for 3 hours from my job someone might be a little annoyed. I'm not saying to interview people - but break it out into smaller chunks throughout the week. Could I have asked this company to do that? Probably - but there were other red flags that suggested I stay away.

<comment><USER14> > It just seems disrespectful that you would ask someone to be on the phone > for half the day just for the possibility that they might get the job.

The vast majority of jobs require coming in for a half-day or day of interviews for the possibility of getting a job. I agree with your point about doing projects for free but a block of interviews is pretty normal. If they're by phone anyway, sure they could be spread out but most companies will have at least some interviews in-person.

</comment></comment></comment><comment><USER15> These processes are inconsistent. The company can be picky but so can the candidate if they are good. More often than not, companies are approaching the good software engineers to work for them and not the other way around.

You end up with this bizarre recruiting process, which I have seen many times, where some company approaches me about working for them because I am one of the best and most experienced in my field, and once I agree to talk to them they treat me like some idiot developer who rolled in off the street. The idea that they would waste a bunch of my time "challenging" me, paid or not, is just bizarre.

I can see it for developers with little experience. But no sane person wants to build a team with nothing but inexperienced developers which means you need to learn how to recruit highly skilled software engineers. The outlined process is a recipe for annoying them.

</comment><comment><USER16> I thought the whole point of the term "unicorn" was to indicate that you are referring to a class of employees/companies who just plain do not exist, but are nonetheless the objects of immense amounts of fantasizing.

<comment><USER17> It's a buzzword shift. You can probably just ignore anyone who says it.

I'm not sure exactly what it's replacing, because those words are equally meaningless. As Humpty Dumpty would put it, it means exactly what the speaker wants it to mean, no more, no less. Just add it to the list:

      - *unicorn*
      - <USER2>
      - <USER3>
      - <USER4>
      - <USER5>
      - 6-sigma
      - <USER6>
      - <USER7>
      - <USER8>
      - <USER9>
      ...

Excessive focus on supernatural employees reveals that the company, for lack of a better term, fervently believes in magic. By hiring _the chosen one_ , as revealed by the hidden UV-fluorescent birthmark and 10 trials of worthiness, the company will fulfill the founders' prophecy, defeat the competitors, and pay out on all the options. And everyone lives happily ever after.

The article this industry needs is one on how to build an above-median team from near-median employees without wasting any time on bullshit HR fantasies.

<comment><USER16> > Excessive focus on supernatural employees reveals that the company, for lack > of a better term, fervently believes in magic. By hiring the chosen one, as > revealed by the hidden UV-fluorescent birthmark and 10 trials of worthiness, > the company will fulfill the founders' prophecy, defeat the competitors, and > pay out on all the options. And everyone lives happily ever after.

I vote that every time we meet anyone who talks as if they think this way, we take out our smartphones and call up the _My Little Pony_ song on YouTube until they learn to _stop that shit_.

</comment></comment></comment><comment><USER18> Great, glad we can agree. Now let's stop talking about them completely.</comment>


"1M Syrian customers, do you think they will ever forget Western Union?" - <AUTHOR> https://www.bloomberg.com/news/features/2017-06-16/for-western-union-refugees-and-immigrants-are-the-ultimate-market <comment><USER2> Interesting to see all the hate in the comments. I don't really know much about WU except for what I experienced when I volunteered at a refugee camp on lesvos. Western Union was a lifeline for many people. It was very common for people to get sent $ from friends and family for a ticket to the mainland or for some supplies. Asking for directions to the western union was one of the most common questions I received.

<comment><USER3> kind of curious, how did you find your volunteering experience in Lesvos ?

<comment><USER2> Rewarding in ways, but mostly just overwhelming and depressing. Seeing it IRL really puts things in perspective.

</comment></comment></comment><comment><USER4> Western Union today is not really a successor of the Western Union Telegraph Company. It's a unit of First Data, the first third-party processor of Visa and MasterCard transactions. First Data bought what was left of Western Union when the telegram business collapsed and WU went bust.

First Data is a tech startup from the 1970s. If it involves payments, they probably have some service offering. They're bigger than PayPal.

</comment><comment><USER5> The discussion of "typologies" doesn't discuss what happens when they trigger false positives. Essentially government pressure forces Western Union to be much more restrictive on it's compliance rules. Do they reject hundreds of transactions for each criminal transaction it catches? How much does this disenfranchise customers?

Just one more step on the road to legitimizing bitcoins.

<comment><USER6> Remittances are horrible for Bitcoin. Most remittances are fairly small, so the Bitcoin fees alone are more expensive than just paying Western Union or another remittance service. Not to mention bitcoin being extremely inconvenient for the types of people who tend to use remittance services.

<comment><USER7> Things like Bitcoin might be horrible for remittances right now, but there is a lot of development in this space. For example, Ethereum is working on sharding to make it exponentially more scalable. The goal is that when sharding and proof of stake are completely finished, it will be possible to play something like Starcraft on Ethereum (super cheap transactions and 0.5 second block times). This is probably something like 10 years away, but it's coming.

<comment><USER6> That still only addresses half of the problem. How are you going to send Bitcoins to someone in a country where they don't have Internet? Cash is king in those places--hence remittance services like Western Union. Bitcoin is cool but it isn't a panacea and there are a lot of out of touch comments about its uses. You need to understand your customer and why they use a particular product before you can actually say whether Bitcoin or something else will actually be any benefit.

<comment><USER8> If they don't have internet, how does Western Union receive the message for the money transfer?

<comment><USER6> My word choice of 'they' wasn't very clear but Western Union would have some access. However internet most likely isn't broadly available for those in poverty, so the recipient most likely doesn't have it. At least not reliably. Imagine having a currency you can't even use. Not very helpful. And then there's still the education part of learning how to use Bitcoin, securing your Bitcoins, and getting that currency accepted by others.

</comment></comment></comment></comment></comment></comment><comment><USER9> >A warrant application filed in the investigation detailed how "pickup operators"—middlemen who specialized in accepting and aggregating the transfers—would team with Western Union agents willing to overlook fake IDs in exchange for bribes and commissions.

Let's be real, you don't need to bribe anyone to pass a fake ID at WU.

<comment><USER10> This is true. Usually all you need is the name of the recipient and the exact amount and they'll accept your signature.

</comment></comment><comment><USER11> On a side note, Remittances are a huge boon. The largest source of foreign direct investment(FDI) (by far) in India are remittances[1]. Even today, after many years of inflation, the PPP of my salary(affording me a middle class status here) here is 10-20 times of what it was,and would still be, in India.

[1][https://en.wikipedia.org/wiki/Economy_of_India#Remittances](https://en.wikipedia.org/wiki/Economy_of_India#Remittances)

<comment><USER8> Where is "here"?

</comment></comment><comment><USER12> Dont understand the hate! WU has been pretty good to me and a lot of freelancers I know who can't get a bank account here (Pakistan)

Clients can pay easily! Infact Google Adsense pays most international customers via WU without any fees!

</comment><comment><USER13> I imagine that security would be a concern for WU locations at or near refugee camps, considering they need to stock the place with cash. Anyone have insights about how they handle it?

</comment><comment><USER14> Western Union is really good as a reliable indicator that a transaction is a scam.

<comment><USER15> Sure: for someone with a bank account and who rarely has a reason to make international transactions, that's true, mainly because WU makes bank-free international money transfers easy. But that would be true of anyone you don't personally know asking you to send money internationally.

But just because the majority of the time you see WU mentioned is for a scam doesn't mean the majority of transactions they are involved with are scams or fraud.

<comment><USER16> Reminds me how from a spam filter perspective, anything written in a non- native language is spam.

</comment></comment></comment><comment><USER17> ...and they are an "unreliable subset of the population" because...???</comment>


The Life of a Cherry Drying Pilot (2009) - <AUTHOR> https://www.aneclecticmind.com/2009/06/13/the-life-of-a-cherry-drying-pilot/ <comment><USER2> Fantastic description of a helicopter flying job. The standby experience is no different from any other commercial (unscheduled) flying job but I am sure the competition is more intense. It has always been a mystery to me how helicopter pilots come into existence at all: it takes at least $30,000 in expenses (more if you are starting from scratch) to get the first useful rating (commercial) and then (I judge from my experience) no one would hire you since you do not have enough hours, no matter how dangerous the job might be. Instruction is one way but even then no one would even talk to you before you have at least 300 hours. Some tour pilots I know fly for $8 an hour to get the 1000 hours required for any _real_ commercial job (like flying for an oil company and such). The author owns her helicopter so that is a bit different but now you have the associated risk and pressure to pay for your investment. My fixed wing ratings paid for themselves relatively quickly but I am still trying to get a helicopter job to pay for the rotorwing part. This article gave me some good ideas ...

<comment><USER3> A lot of helicopter pilots come into existence through the military.

<comment><USER2> Of course, but I do meet _a lot_ of the ones that didn't. Those guys have a lot of perseverance, although many of them, just like me started in fixed wing.

</comment></comment></comment><comment><USER4> Another similar job: frost protection of vineyards using helicopters. It is used in conditions of thermal inversion (colder air near the ground, warmer air in the upper layer), in those conditions the rotor downwash raises the temperature near the ground. More info:

[1] [https://grapecollective.com/articles/frost-fighters-the- heli...](https://grapecollective.com/articles/frost-fighters-the-helicopters- that-protect-the-vines)

[2] [https://www.pprune.org/rotorheads/241735-flying-frost- protec...](https://www.pprune.org/rotorheads/241735-flying-frost-protection- over-vineyards.html)

[3] [https://www.wineaustralia.com/getmedia/6740ada2-1be7-4e3e-b0...](https://www.wineaustralia.com/getmedia/6740ada2-1be7-4e3e-b002-d5f35ae52ba7/201009-Arming- against-frost.pdf)

Another common use of helicopters in a rural environment is aerial mustering, this one does not really need explanation:

[https://www.youtube.com/watch?v=JbMudWaYeXo](https://www.youtube.com/watch?v=JbMudWaYeXo)

</comment><comment><USER5> Very interesting.

He says the cherries split or mold if left wet for a short time, so he has to be on call in all daylight hours (17h) ... but what about when it rains in the 7 nighttime hours? Is it the sun-drying of the wet cherries that causes the damage?

I wonder about these sort of pieces whether they're just equipping others to drive them or if business. He says it's already highly competitive, sounds like a firm could drive the soloists out of business by undercutting them (maybe that's happening now), then pushing up prices later.

I can't believe you can't undercut with a massive set of fans on a "cherry picker"-type vehicle (maybe paired with a shaker-harvest system).

<comment><USER6> > but what about when it rains in the 7 nighttime hours? Is it the sun-drying > of the wet cherries that causes the damage?

It's possible that rot is a long-term problem (cherries wet for more than one day) and the splitting is indeed caused very quickly by the rain / sun combination, but I think the issue is that the work is just too dangerous during night hours.

<comment><USER7> Dangerous and depending on location of the orchard - in violation of noise ordinances.

As cool as this all seems....if you happen to live near an orchard, or in my case, the helipad - it appears to be a horrible inefficient and nuisance way to solve the issue.

I do wish there was another option.

</comment></comment></comment><comment><USER8> I found this article absolutely fascinating - I didn't even know such a job existed!

Many years ago, when I was young and foolish, I thought being a crop duster pilot was the bees knees; also easier to get into with low hours, and who knows, maybe after spraying enough potato, a coveted airline job. Little did I know! It turns out the level of skill required to do the job is very high, the lifestyle not so great when you get older, and no, it's not necessarily easier to get into.

Ultimately I didn't become a pilot, but an engineer. Looking back, I'm happy with my choice and my life as it is now. Only occasionally do I watch aviation videos on YouTube and wonder "what if".

Thank you for a really cool article - and kudos to the guy drying cherries with his little Robinson!

<comment><USER9> _Her_ little Robinson.

I do believe it probably says _something_ about preconceived notions that, of the mere half dozen comments accumulated so far, this mistake has been made twice already.

<comment><USER10> It says nothing more than English is a male language. And ambiguous titling defaults to he (or they).

<comment><USER9> A "male language"? What does that mean?

And there was no ambiguity - the author's name, "Maria", was at the top of the article.

<comment><USER11> I don't tend to read the name of the author of an article, because there is essentially zero chance that I'll remember the name and frankly I don't care who they are.

I suspect that most people tend to read in their own gender in absence of other cues? I have a strong memory of going through the first chapter of a book completely misgendering the protaganist. Fortunately it wasn't a "doctor -> man" bias situation, just "person walking through park describing view/situation", otherwise I'd have been super angry at myself.

</comment></comment></comment></comment></comment><comment><USER12> Wonder if there are any studies on lead accumulation in the fields and cherries. The R44 is probably burning on the order of 15 gallons per hour 100LL (Low Lead) drying cherries and the exhaust is directed downward. Each gallon has a little over 2g of lead in it.

<comment><USER2> This is an excellent point. The helicopter exhaust is probably deposited in its entirety on the cherry trees and in the field. I guess the Jetranger dried fields look almost 'organic' in comparison:) Hopefully, the FAA and the oil companies will eventually come up with a less toxic alternative to the 100LL (although they have been promising it for years now).

<comment><USER13> I know it a pipe dream, but I've been hoping we'll all switch to diesels. JetA is so much cheaper. That being said I think probably ethanol will replace 100LL. It's got a sufficient octane rating and the modifications needed to the engine and aircraft are pretty minor.

<comment><USER14> Ethanol is less energy-dense than 100LL, let alone JetA. This means you need to carry more of it as specific fuel consumption will go up by ~20% - 25% (estimate from the increased fuel consumption of multi-fuel car engines running on E85 (a mixture of ~85% ethanol with ~15% petrol).

Given the limited load capacity of aircraft I'd expect JetA to be the preferred route as that is actually more energy-dense than 100LL. Both ethanol as well as (something resembling) JetA can be made from renewable sources so there is no advantage either way in that respect.

That said it is not feasible to run an engine made for 100LL on JetA while conversion to ethanol in theory can be achieved without too much effort - bigger jets on a carburettor, adjusted injection mappings for fuel injection, all seals and gaskets need to be compatible with ethanol which tends to cause swelling and eventual failure in many types of synthetics.

I've converted a few motorcycle engines to run on E85 as that is a more economical fuel here in Sweden. I did the same for some smaller engines and am trying to get a chain saw to run reliably on this fuel. The big advantage here is that the exhaust fumes from E85 are far less noxious than those from petrol or syngas. The problem is that these are 2-stroke engines which depend on a fuel-oil mixture for crankcase lubrication. There are not that many suitable lubricants which mix well with E85.

</comment></comment></comment></comment><comment><USER15> > About three weeks before the cherries are ready to be picked, they are > particularly vulnerable to threats that can damage them. One of those > threats is water. When it rains, the water sticks to the cherries and can > cause them to rot, split, or both. This makes the cherries far less valuable > to buyers.

> Cherry growers have long tried to find ways to dry the cherries and prevent > the rot/split problems. They put fans on tall poles in their orchards and > run blowers up and down the rows. But this isn't usually effective. Enough > rain in those last few weeks can destroy the entire crop.

> Sometime in the past — maybe 10 or 15 years ago? — someone had the idea of > using the downwash of helicopters hovering over the cherry trees to blow the > branches around and shake the water off the cherries. This was extremely > effective and apparently well worth the cost.

> "Cherry drying" by helicopter was born.

I was expecting something like spraying a desiccant. This is so much cooler. But pretty sad in terms of carbon emissions. Can this be done by drone?

Does this explain the whole cheaper class of split cherries you can buy during cherry season in New York, usually from street vendors?

<comment><USER16> If you think that a lightweight drone will give just as much wind power as a heavy helicopter, you need to think about F=MA a bit. The weight of the pilot (and supporting systems) act as balast against which the "fan" can push. Otherwise the fan would accelerate into the sky. More ballast = bigger fan, and a huuuuge fan is way better than a small fan given the problem at hand.

<comment><USER15> Yes great point. Thank you. So 2000 dollars in fuel and helicopter actually gives you good bang for your buck here?

<comment><USER17> At least compared to losing the harvest, obviously the answer is yes. At $5/lb, 400lbs of cherries pays for the helicopter.

</comment></comment></comment></comment><comment><USER18> Next Ycombinator class: A company using drones to dry cherries with machine learning.

<comment><USER19> I know you're being facetious but these _are_ the types of industries and activities that don't get the SV disruption treatment, partly because nobody there knows about them. It's partly why I love when these "off-topic" posts get made here. There's now a lot more people read this post and who are now aware of this strange thing that keeps our world working in the way we expect it to- and might have ideas on how to make it better.

<comment><USER18> I was being facetious, but I also love these kind of stories. Like the one last week about the guy sells onions on the internet. We live in a weird world.

<comment><USER20> Yeah I totally agree. I love these kind, and the onions story too. Wonder where I can get more.

</comment></comment></comment></comment><comment><USER18> Video of the author drying cherries with a helicopter: [https://www.youtube.com/watch?v=DPT9YbtINy4](https://www.youtube.com/watch?v=DPT9YbtINy4)

</comment><comment><USER21> > For me, that means spending a lot of time hanging around my RV at the golf > course. (It's almost unfortunate that I don't golf.) It means having access > to weather information and having something to do to keep busy so you don't > die of boredom

I've always thought a job with this feature (lots of down time) would be perfect for a developer who likes to hack on personal projects. E.g. liquor store owner

<comment><USER22> For me it would depend on how predictable the interruptions are. I would find it very challenging to get much done if I wasn't able to devote large enough blocks of concentrated time.

</comment></comment><comment> w-m > They put fans on tall poles in their orchards and run blowers up and down > the rows. But this isn't usually effective.

From my armchair I wonder what the reason is for not having a ground-based solution. Running a small vehicle (lawnmower-size?) with a fan mounted on top between the trees seems like a much more economic way to have the same effect.

Is there not enough space between the trees to pass through (but then, how would they harvest)?

Do the trees suffer, branches break if the air flow comes from below / from the side?

<comment><USER23> > I wonder what the reason is for not having a ground-based solution. Running > a small vehicle (lawnmower-size?) with a fan mounted on top

I imagine the important part of the "drying" process/action is being able to give the branches a bloody good shake to dislodge the water droplets. It's likely that even very large fans aren't capable of moving that much air (compared to a helicopter's blades). Then there's also the question of even if you could trundle around the orchard with a set of fans able to push that much air I can imagine it would be comedically unstable and dangerous :)

[edit: typo]

<comment><USER24> I wouldn't go anywhere near such a device. The amount of energy in a rapidly disembarking blade would be terrifying.

</comment></comment></comment><comment><USER25> I wonder if a canopy could be deployed to protect the cherries from water in the first place instead of drying them after the fact.

</comment><comment><USER26> She's a great writer and clearly a great pilot.

Is this natural for cherries? To be so vulnerable to a little water that they split/rot within a few hours? Seems odd, for a plant that lives outdoors.

Have cherries always been this way, across the centuries? Or is this an unexpected consequence of some GMO shenanigans?

<comment><USER27> Judging by the picture they're probably still good enough to be eaten by animals just not by choosy humans or good enough for the seed pits to still work. Remember ultimately the fruit is just a trick to get animals to eat and transport the seeds after all as long as a deer or bird is still willing to eat it and the seed doesn't die the fruit's job is done.

</comment></comment><comment><USER28> This is also now being done in South Africa.

In SA, rain in the JHB area is in the summer and in the Cape it's in the winter. So, either you try to plant in an area which harvests before the rain (JHB) or after the rain (the Cape).

In both cases you could end up trying to aim for a period where there is rain that falls overlapping the harvest period.

</comment><comment><USER29> Perhaps a supersonic plane flying at low altitude would be more effective in shaking the water off the cherries.

</comment><comment><USER30> Couldn't something be sprayed on the cherries to reduce surface tension and inhibit mold/bacteria so the cherries would dry w/o cracking? Then you could spray the fields with a fixed-wing craft. Penetration into the tree foliage might be a hurdle as well as cleaning off whatever you sprayed afterwards. Nonetheless farmers use sprays for almost everything these days.

Using helicopters as dryers seems very kludgy, expensive, and dangerous and little more than a stop-gap measure until something better comes along.

Certainly a robotic mid-sized to large helicopter-like drone designed to primarily hover would be safer and cheaper. It could have long legs (taller than cherry trees) and fans on the side to assist drying and to reduce energy consumption (it could set on the ground during drying and only lift off to change trees). A little fuzzy logic to control positioning and movement and boom - a new product!

<comment><USER31> I love apples.

But for the longest time, starting about 20 years ago, I thought I had developed an allergy to apples because no matter what I did to clean them, including peeling the skin, I still had a badly itching throat and all my "usual" food allergy symptoms.

Then after I bought a property that had wild apple trees and i found that I could eat the sweet ones with no issues, and could also eat the apples growing at a friend's house, I realized there was something being sprayed on commercial apples that I had an allergic reaction to.

In short, the less crap that's sprayed onto my food, the better. So yeah, I'd rather pay more for cherries (I'm allergic to raw ones anyway!) than have to deal with the side effects of whatever water repellent is applied.

<comment><USER22> I know someone who has a severe reaction to anything corn-based. Of course, he's unable to eat just about any processed foods, but he also has to watch out for some produce, as it's often sprayed with a corn-based protectant.

</comment></comment></comment><comment><USER32> That sounds like it's probably great for those cherries' carbon footprint...

<comment><USER33> It's a drop in the bucket compared to all the other resources used to grow and transport them. Agriculture is costly across the board. But I for one want my year-round access to every food on the planet.

<comment><USER34> > But I for one want my year-round access to every food on the planet.

I'd like to think you're being sarcastic here, but fear you may not be.

What's wrong with food being seasonal and local? Personally, I like it that what's available varies with the season; it gives me an extra incentive to try different things.

<comment><USER35> Besides, if the person really means it, they probably have no idea what "every food on the planet" means.

The result of industrialized food production and distribution has been a steady ongoing loss of food diversity. You can search for the stats from the FAO. I believe it's 75% of food diversity gone in the last century. 12 species providing for 75% of the world's nutritional needs.

The current system does not have food diversity as its goal, let alone taste or nutrition. It does a good job at nourishing the pockets of big businesses, that have an interest in turning all manner of food production and distribution into economies of scale by commoditizing (as in "commoditize your complements") the product. Uniformity and shelf-life win, farmers lose.

I've seen all this happen right where I live (Panama). Tasteless tomatoes, thanks to having Nestle as the main buyer. A local cultivar of Dioscorea (Yam) almost gone, when Frito Lay's told farmers what cultivar they wanted, which exposed the local cultivar to a disease. Countless edible plants and fruits, better suited for the climate and environment, have become simply unknown to people, as cattle farming took over thanks to the introduction of herbicides (it's also destroying the Darien rainforest, and violently displacing indigenous communities, btw). I could go on and on. Meanwhile, you have technicians (Ingenieros Agronomos) talking about such great achievements as tropicalized potatoes. It makes me think of the Great Irish Famine.

So there you have it, food from all around the planet, and the whole planet producing mostly the same. We are going full circle from abundance to scarcity. You have to then question people inferring rather unfoundedly that it is the abundance of food (along a sedentary lifestyle) what is driving the obesity-related chronic disease pandemic. You have to wonder what is abundance. Mindlessly following the commoditization trend has driven us to unquestioningly counting food only by such fungible measures as USD, kg, and calories, as if humans fed on food like cars feed on gas. And this brings us to that process that I think is parallel to the commoditization of food: the turning of humans into machines.

</comment></comment></comment></comment><comment><USER36> Crazy that in some places people are eating crops that need to be dried by helicopter and in others people don't have anything to eat.

Something big is coming, and I feel like I'm going to get the business end of it.

<comment><USER20> Something big or just further division of economic inequality? I don't see why this is an issue. I was literally eating black cherries for breakfast and stumbled upon this article. A few pounds of frozen cherries is only $10. Foods have never been cheaper for everyone.

</comment></comment><comment><USER37>
      Sometime in the past (maybe 10 or
      15 years ago?) someone had the
      idea of using the downwash of
      helicopters hovering over the
      cherry trees to blow the branches
      around and shake the water off
      the cherries.

There is nothing normal about that idea.

I bet paying a pilot, who operates at price to cover their own expenses, fuel and a paycheck, is still less expensive than the partial loss of any harvest that receives this coverage, and crop dusting pilots are technically an equivalent operation, but I'm thinking that there are better ways to keep cherries dry, and that rain showers aren't the only thing water log a cherry tree, right?

<comment><USER38> > _There is nothing normal about that idea._

For whom? I think _anyone_ who'd been near an operating helicopter and thought "gee, I need a really big fan once in a while" would've eventually put two and two together.

> * there are better ways to keep cherries dry, and that rain showers aren't > the only thing water log a cherry tree, right?*

Think about the plus sides- the grower doesn't have to buy a bunch of fans, deal with maintenance, or do any other number of things, and the helicopter pilot gets "guaranteed income" (though, like all growing is, that depends a _lot_ upon the season), flying hours, and can so other things in the waiting time. Maria, the author of the blog post, mentions elsewhere that she makes jewelry in her waiting time, which she can then sell or do whatever with.

It's a big different from your standard 9-to-5 job, but personally, I think it's a beautiful symbiotic relationship.

</comment></comment><comment><USER39> I've got two cherry trees (in Oregon) and I have huge rot problems, both with blossoms and fruit. Maybe it's time to get a tethered drone and keep them dry.

<comment><USER24> Just some standing industrial fans running for a bit longer might do the trick if you only have two. I doubt a consumer drone would ever have enough CFM of airflow.

<comment><USER39> You're probably right. I'm also dreaming of a drone with a chainsaw attached so I can trim dangerous limbs in my yard but that would require even more CFM.

<comment><USER24> Something they also do with helicopters, and it is arguably even crazier than drying cherries!

</comment></comment></comment></comment><comment><USER24> This reminds me of the inimitable game, Sim Copter. The idea of owning your own helicopter and people pay you to fly it is really compelling.</comment>


Google Chrome Is Losing the 'Close Other Tabs' Option - <AUTHOR> https://www.bleepingcomputer.com/news/google/google-chrome-is-losing-the-close-other-tabs-option/ <comment><USER2> I use "Close tabs to the right" all the time. Almost never "other tabs" though, so I guess I'm okay with this.

</comment><comment><USER3> I'll miss "bookmark all tabs". I'm in the 0.64% who use it, I find it very handy when doing research. I open a bunch of tabs and then save them off to reopen later and basically "keep my state."</comment>


Annoying Things that VCS say or ask - <AUTHOR> https://elizabethyin.com/2019/05/17/15-annoying-things-that-vcs-say-or-ask-and-how-to-think-about-them/ <comment><USER2> Title is misspelled: should be "VCs", not "VCS".</comment>


Show HN: MetaMask for the Stellar – Chrome Extension Wallet for Stellar Lumens - <AUTHOR> MetaPay - https://pay.meta.re
MetaPay is a Chrome extension wallet for Stellar that simplifies payment by enabled one click purchases. It's basically MetaMask for the Stellar Lumens.
I also tried to drastically simply the developer integration. For MetaPay, there's no API, all you need to do is to create HTML anchor tag with the attribute 'data-meta-pay' pointed to the right metapay endpoint. If the user has the extension install, it will open a popup just like MetaMask, however if it doesn't the link still works and will open the app in a new tab. So this works for mobile as well.
The wallet code is based on Stellar's official account viewer. Everything is stored in the client's browser and no data is sent to any external server.
I built this last week for the Stellar build competition. https://galactictalk.org/d/1149-stellar-chrome-extension-sim... <comment><USER2> It is nice to see Stellar getting some love. Things like this vastly improve adoption.</comment>


Is Lyft Too Cute to Fight Uber? - <AUTHOR> http://www.nytimes.com/2014/12/11/style/is-lyft-too-cute-to-fight-uber.html

<comment><USER2> I read this headline as "is Lyft not sociopathic enough?"

Honest question... And you are all free to laugh...

Do you have to be a narcissist or a sociopath to succeed _big_ in business?

I have never met any of Uber's founders, but their whole operation gives off that vibe rather strongly. They are also insanely successful and are one of the biggest fund raising juggernauts I have ever seen.

I mostly use Lyft, and honestly they are at least as good as Uber where I am (SoCal). Why does Uber have such unstoppable momentum if not for the advantage of sociopathy? It does not appear to be on the actual merit of the service, and I've talked to drivers who work both and most seem to prefer Lyft.

I'm not implying Lyft is squeaky clean, but they don't utterly reek of the psychopathic/antisocial/NPD sections of the DSM manual the way Uber does.

I've toyed around with the idea that it's a self fulfilling thing, a result of actual semi-conscious positive bias toward sociopathic types by investors and even customers based on a belief that these traits equal success. This is supported by actual things I have heard investors and CXOs say, stuff along the lines of "yeah but you need someone like that..." Paul Graham talks about "formidableness," and while I understand what he means (or thinks he means) I also can see that sociopathic traits certainly convey that impression.

Ps... Before interpreting this as a call for socialism, i have to point out that the same seems to apply in politics.</comment>


Designing a service for password-less temporary access to resources - <AUTHOR> https://medium.com/@mail_50938/designing-a-service-for-password-less-temporary-access-to-resources-e0bbb5b7a22b <comment><USER2> 6 characters is pretty trivial to brute force. Someone could set up a script to continuously try all combinations and get access to whatever happens to hit a match.

You could block an IP after a certain number of failures, but that doesn't protect against a network of various IPs attacking (which attackers often have access to). Adding an artificial delay also wouldn't protect against parallel attacks.

A simpler/better solution would be to add a few more characters to the shortcode so it's infeasible to force within your timeframe (and the number of requests your servers can handle in that timeframe).

<comment><USER3> Why an IP block instead of a username block

<comment><USER4> Different attacks.

If you have a network, 1 IP could then try 1 time a user + password. Then switch to another device with a different IP for another one.

The first IP could then try a different user.

You need a combination, not one or the other.

And then, you have to deal with a university or other big institution and users forgetting their passwords after the holidays. That would potentially trigger a ban of everyone.

</comment></comment></comment><comment><USER5> I have implemented something similar, but used 12 characters. 6 is way too few for a secure URL

</comment><comment><USER6> Two day, 6 char, session id.

</comment><comment><USER7> These days few, if any, such URLs will in practice be typed in much less spoken aloud; they will overwhelmingly be clicked or at copy/pasted. So shortness is probably not a problem. In addition, suppressing obvious typos (lowercase L/digit 1) doesn't really matter either.

</comment><comment><USER8> I've wanted to build a similar system for supporting preview of articles on a CMS. Problem is, users may share multiple URLs with a user so a single JWT token in a cookie doesn't suit that flow very well. Each new link followed needs to extend an existing value with additional proofs (and remove old ones?)

</comment><comment><USER9> > ValidUntil configures how long the access will last.

My understanding of your use case is stopping indefinite "exponential" forwarding.

I wonder if the ValidUntil timer could start when the shortlink is first accessed.

That way you can shorten the time it lasts in the wild _and_ let it be indefinitely available for the first intended recipient.

</comment><comment><USER10> This seems like overkill for what amounts to a signed URL for accessing static content.

</comment><comment><USER11> _Each shortcode is 6 characters and is case insensitive. That gives us roughly 1.8 billion (1838265625) combinations._

That's only 1.8 billion combinations if you only have computers talking privately to other computers. But in the scenario outlined in the article, people will see the URL, so you must filter millions of those combinations.

For example, if I come across a recipe for shoo-fly pie, I don't want to forward my grandmother a shortened url like example.com/FuckUG. More importantly, you don't want someone posting a screenshot of your expletive shortcode on social media, or worse.

When wetware is involved, even in just one step, things get messy.

<comment><USER12> 26^6=308,915,776

36^6=2,176,782,336

Approximate number of words in English: 171,476

<comment><USER11> Are you under the impression that English is the only language with offensive words?

<comment><USER13> Are you under the impression that there aren't many, many services which only serve english-speaking populaces, by design, or that even including the offensive words in every language would come close to significantly impacting the entropy involved here?</comment></comment></comment></comment>


How Google makes Google(+) fast - <AUTHOR> https://plus.google.com/u/0/115060278409766341143/posts/ViaVbBMpSVG

<comment><USER2> Google+ is certainly fast, I just wish it were quicker about showing me valid/updated state.

I've never used any website where the data I was seeing was so obviously out of date across the board as it is on Google+. Yes, eventually it coalesces towards correctness, but I don't think this model works well for things like notifications and such.

"Oh look I have a new notification... oh wait, no I don't, that's from like an hour ago and I already looked at it."

Speed _is_ a feature, but so is not making your users think your software is just plain buggy and too much local state caching is basically indistinguishable from a bug for many users.. and in many contexts it can also be annoying even for those who know roughly why it is happening.

<comment><USER3> Facebook is pretty amazing in that respect. They managed to engineer a scaleable infrastructure _without_ making it too obvious that everything is being cached. There are times when it takes a minute or two for my profile picture to change everywhere after I change it in my profile, but aside from minute-or-two scenarios, Facebook's interface (and the real-time notification system) is just amazing in comparison.

<comment><USER4> Facebook runs largest memcached cluster in the world and largest sharded MySQL installation in the world (which they use as a key-value store since it's hard to evolve schema otherwise). So, essentially, quick updates are tremendous amount of duct tape and hand-crafted code to make it work more or less correctly.

<comment><USER5> I've always wondered why alternative datastores, like MongoDB, get so much good press when a RDBMS like MySQL or PostgreSQL can be used for storing non- relational data in a way that scales tremendously.

The only article I'm seeing for this issue is this one from 2009, by Bret Taylor: <http://bret.appspot.com/entry/how-friendfeed-uses-mysql>

Other than that, crickets, which is a shame as these RDBMS databases are proven to be more reliable than the fad du-jour.

<comment><USER6> There's a video (I don't have the link handy) where a Facebook engineer says they actually had to make code modifications to MySQL to make it do what they want.

They're using the tool in a way that it wasn't designed to be used. Therefore it's probable that that there's an opportunity for specialized software to fill the role better.

</comment></comment></comment></comment></comment><comment><USER7> "On a side note, you may have noticed that we load our CSS via a XHR instead of a style tag - that is not for optimization reasons, that's because we hit Internet Explorer's max CSS selector limit per stylesheet!"

Can anyone go into more detail about what they're talking about here? I didn't realize IE had a "CSS selector limit." Seems like a funny thing to mention when you're talking about how optimized your site is.

<comment><USER8> Yes, the magic number is 4095 selectors. And it's still true, even in IE9.

<comment><USER9> Do they really need that many selectors - it can't be good for performance?

</comment></comment></comment><comment><USER10> The little red box that shows how many notifications, is anything but fast...

Edit: It reminds me of the eBay motors data we got a few weeks ago. A lot of it is making the page appear to be loading (i.e. flush the buffer for 'above the fold' and then ajax everything else in)

<comment><USER11> That little box was one of the delights of previous social websites i've toyed with, G+ flipped it into an anguish box.. amazing.

</comment></comment><comment><USER12> Are people outside of Google using closure to develop apps?

I used the closure compiler with Jammit but I've never tried the library.

<comment><USER13> clojure-script uses closure as part of compiling clojure to js. I'm not sure if any significant projects are using it though:

<https://github.com/clojure/clojurescript>

<comment><USER14> Google Closure Tools is not the same thing as Clojure.

A little confusing I am sure since Closure Templates is a templating system that dynamically generates HTML in Java and JavaScript... And Clojure is a language that targets the JVM.

I have no experience with Closure Tools but Clojure is awesome definitely.

<comment><USER15> ClojureScript uses Closure Tools: <https://github.com/clojure/clojurescript/wiki/Google-Closure>

<comment><USER14> Either the author of the comment I replied to ninja edited his comment or I need to work on my reading comprehension. I think it was the first thing though...

</comment></comment></comment></comment></comment><comment><USER16> Does anyone know why they've chosen to use the iFrame approach to loading JS, instead of attaching script tags dynamically, a la RequireJS?

</comment><comment><USER17> I'm rather more grateful for all the work Google have done here after using Diaspora; the one thing that nags me about that more than anything is how much slower than G+ or Facebook it is. A couple of seconds on each click really breaks the whole experience.

</comment><comment><USER18> There's a major downside to all of this complexity, however, because it degrades really poorly: I routinely see 30+ second page loads in Google Plus because they load a ton of code and you won't see anything until it completes 80-130 requests (warm/cold cache respectively) to load almost 5MB of resources! An ugly, non-interactive 1994-style simple HTML page would be far more useful to me at such times…

In practice, this happens to me multiple times a day on a normal connection and more frequently on congested or hotel crappy WiFi.

</comment><comment><USER19> Is this also why the new Google Reader is so slow (they're using a more general framework that doesn't match the old Reader's performance when rapidly paging through article previews)?

</comment><comment><USER20> Cliff notes: By not having any users.</comment>


Update Twitter, Doogie Howser M.D. Style  - <AUTHOR> http://www.techcrunch.com/2008/12/31/update-twitter-doogie-howser-md-style/ <comment><AUTHOR> Link directly to service: <http://www.twoogie.com/>

</comment><comment><USER2> Or you could update from the _actual_ command line and possibly learn something while you're at it:

[http://www.ibm.com/developerworks/linux/library/l-friendfeed...](http://www.ibm.com/developerworks/linux/library/l-friendfeed/index.html)</comment>


Funding in the Time of Corona Virus - <AUTHOR> https://www.slideshare.net/msuster <comment><AUTHOR> The link to the actual deck is here: [https://www.slideshare.net/msuster/funding-in-the-time-of- co...](https://www.slideshare.net/msuster/funding-in-the-time-of-corona-virus)

* I am unable to edit the link directly</comment>


How I learned to stop worrying and love the bomb - <AUTHOR> http://www.engadget.com/2014/12/06/keep-talking-and-nobody-explodes/ <comment> salty-horse The article doesn't mention the game's official website, which includes screenshots and a gameplay video that shows what's happening outside the screen: [http://www.keeptalkinggame.com/](http://www.keeptalkinggame.com/)

Also, there's a weird focus on the PS4, when, at least according to the website, it seems like it was developed originally for PCs, and may end up there as well.

<comment><USER2> The focus on PlayStation is probably because the author saw it at a PlayStation event.</comment></comment>


iPad Mini 3 - <AUTHOR> http://www.apple.com/ipad-mini-3/

<comment><USER2> So besides Touch ID, what do you get for spending an extra $100 compared to the iPad Mini 2?

[http://www.apple.com/ipad/compare/#comparison- chart](http://www.apple.com/ipad/compare/#comparison-chart)

Literally the only difference appears to be Touch ID for $100. (And a gold color option)

<comment><USER3> Spec says you can use applePay with it too. So seems like only touch ID and applePay is the upgrade, as all other spec is the same. They should at least include the reflective coating to mirror the Air. With only these 2 upgrades, the mini-2 should be priced at $329 or $349 instead.

<comment><USER4> The just-released one is actually the mini 3.

The mini2 (previously called 'mini retina') actually is priced starting at $299 now. (starting at $399 yesterday, I think? Or was it $349 yesterday? Anyone know?).

<comment><USER3> I'm just saying the mini2 should have been priced higher, in comparison to the mini3 and mini1.

<comment><USER4> oh, cool, I misunderstood because I've never heard someone complain about something being priced too low before.

(unless they are a competitor maybe. Or related to workers being paid too little, which is probably applicable to all apple products and all other consumer electronics, but anyway)

</comment></comment></comment></comment></comment><comment><USER5> Anyone else think it's strange that they sell 3 generations of the same device?

It feels like they're needlessly expanding their products beyond what they need. They did this before and ended up in trouble before Jobs came back.

<comment><USER6> i agree considering what a dude the first Mini was. i'd imagine it's inventory clearance tactic. I'd be shocked if they actually build them.

</comment></comment><comment><USER7> Keeping the A7 is disappointing; I'd expect at least the A8 offered in the iPhones. Looks like the iPad Mini is the new iPod Touch.

<comment><USER8> I'm a bit surprised. While I prefer the size of the Air (I use mine at least an hour a day), I would have guessed that they sell far more Minis.

</comment></comment><comment><USER9> Why does Apple still sell the original iPad Mini? Is it just a mountain of unsold inventory?

<comment><USER10> Well it's their only real competing product at the low-end of the price spectrum, at $250 it's a lot more affordable than the $500 entry level of the air 2.

Let's not forget, a big part of sales is not gaining a sale. It's gaining a customer. The concept of customer lifetime value is important here. A lot of my friends on iOS look at my girlfriend's Nexus 5 and Nexus 7 and they say 'damn, those are great devices'. And then they buy iOS saying 'I'm used to it'. The ecosystem lock-in has always been very significant for Apple. And getting people into the ecosystem with an affordable device, and hoping they'll stay around and continue to buy a Macbook air, and a new iPad at some point, and start to use iCloud and iTunes etc, is a big driving factor, I'm sure.

Also a bit risky. The ipad mini's display is pretty shitty, otherwise it's a really nice device. It may reflect poorly on Apple, although it's also one of those things where a customer eventually says 'I'm really enjoying iOS, but this screen... Time to buy a new iPad'.

So it seems like a pretty reasonable decision imo.

</comment></comment><comment><USER11> I for one was hoping for an upgrade to this range in particular, and the fleeting mention in the stream was a bit shocking.

I have the 1st Gen mini, and didn't see enough to upgrade to the retina, and was hoping for a chip upgrade and camera upgrade, but alas nothing.

I almost feel as if there are 2 outcomes here; 1) the mini gets an update in March-ish and has some kind of A8Y chip especially for the mini, or 2) that is the last update we ever see for the mini

<comment><USER12> why would that be the last update ever for the mini?

<comment><USER11> There wasn't a real update other than the TouchID, why would they update the iPad Air but not the Mini, in terms of chips and cameras?

<comment><USER13> When apple updates their products, they won't upgrade every-single-item-they- sell. They may refresh the item, but a robust upgrade may come next year.

The mini has proven to be wildly popular, so they will certainly upgrade it next year.

IMO, the mini 2 is already pretty awesome, I can't see any reason for stuffing it with a faster processor when that wasn't a bottleneck for most people</comment></comment></comment></comment>


The Social Media Hive Mind - <AUTHOR> http://blog.dilbert.com/post/156806516721/the-social-media-hive-mind <comment><USER2> I also see this 'Tweet unavailable' issue, with people I have not blocked. I wish Twitter would fix their shit so people wouldn't launch into insane conspiracy theories.

</comment><comment><USER3> I started following Scott Adams after reading his book. He is right about it. Few hours back some tweet from him was mentioned as 'unavailable' . I didn't bother much. After reading above post, I went back to check again, its appearing on his home page and its not on my feed. I can see his tweets before and after tweets. But this one is missing!</comment>


JJinuxLand: "xmonad exemplifies what I'd like to see more of in the Linux world" - <AUTHOR> http://jjinux.blogspot.com/2009/11/linux-xmonad.html

<comment><USER2> I agree wholeheartedly, although I personally dislike xmonad. We need more experimentation; we need lots of people trying out random ideas. Most new ideas will fail, and even more implementations will fail, but the good ideas will slowly rise to the top. If we don't see more failures than successes, we're not stepping outside the comfort zone enough.

So I present a challenge: take a common piece of software/functionality that you use and come up with a new approach. It doesn't have to be a good approach, but it has to be different. Implementations aren't necessary here, but they often help to turn a bad idea into a good one.

For example, I don't believe much has been done with tabbed browsing in the past few years. It'd be nice to see a tiling window manager inside the browser, with tabs acting as a sort of taskbar. Would this idea work well? Doubtful, for most people at least. But who knows what idea might come from it if it was implemented?

<comment><AUTHOR> > personally dislike xmonad

Interesting. I believe that is the first time I've heard someone say that. Could you elaborate?

</comment></comment><comment><USER3> The author holds xmonad as an example of "trying bold, new ideas in user interface design".

I'm not convinced that a tiling window manager qualifies, because the invention goes back some 30 years to Xerox PARC (where else). The Xerox Star shipped in 1981, and a major feature of its GUI was that simultaneously open application windows were automatically laid out so that they would not overlap.

</comment><comment><USER4> I've tried a couple tiling window managers (xmonad, awesome, dwm, and even ratpoison) but I always end up using tmux. It works on most unix operating systems so I can run it at work on OSX and at home on Ubuntu. I like having a dedicated workspace / virtual desktop to run tmux full screen in a terminal so it's there for when I need it. Oh and you don't even need to launch X to use tmux. It just seems much more convenient to me.

<comment><USER5> > _Oh and you don't even need to launch X to use tmux_

Right, but you're assuming that everyone that uses a tiling window manager does _everything_ on a console.

</comment></comment><comment><USER6> All of the things he mentions can be found in most of the popular window managers. I fail to see how xmonad is revolutionary in these ways.

<comment><USER7> To me personally, the coolest thing about xmonad is that you can read the entire source in just a few minutes and understand it all as well. It's just a few hundred lines. You can then immediately start hacking on it.

<comment><USER8> You can if you know Haskell. If you don't, good luck understanding it, much less hacking it.

Don't get me wrong, I like xmonad, but not for the understandability/hackability of its source (which is opaque and unhackable for me, since I don't know Haskell).

I used xmonad for about a year, but then got progressively more frustrated as my configuration file bloated out of control and got to the point where I risked breaking it if I made non-trivial changes without extensive hand- holding from people who knew Haskell.

Eventually, I was faced with the choice: learn Haskell, or move to a window manager that used a simpler, actually understandable configuration file syntax. The choice was easy, as I did not have the time to learn a language as famously difficult as Haskell. So, I first moved to scrotwm and then (when I found scrotwm wasn't flexible enough) to musca.

I've been exceedingly happy with my decision to switch. musca is not only much simpler to configure and understand than xmonad, but is also much faster and lighter. Check it out, if you like minimalist window managers.

<comment><AUTHOR> > but is also much faster and lighter

I bet its not faster (xmonad uses primarily O(1) structures, such as zippers, for focus management). And 1000 lines of code.

Window managers sleep 98% of the time -- I'm almost certain you can't observe computational overhead.

> when I found scrotwm wasn't flexible enough) to musca

That's the tension. Configurability needs a programming language. We chose Haskell since its high level and safe.

<comment><USER8> Well, whether or not it's actually faster, it sure feels orders of magnitude faster.

xmonad may use only 1000 lines of code for the window manager itself, but that's backed up by a rather large Haskell library (particularly when loading lots of contributed code). I know the resident memory size of xmonad is gigantic compared to musca. Manipulation of those large memory structures may be relatively slow, even if you use efficient algorithms (particularly on systems like my own, which use so much memory that some of my apps are swapped out).

As for Haskell being high level and safe, I appreciate that. But it really does me little good when I don't know Haskell. The musca window manager doesn't require knowing Haskell, and I think it's just as flexible, and certainly high level enough (you can use bash scripts, or really any language you want to configure it) and safe enough for me not to have any issues with it.

Sure, using Haskell might be better, if I knew Haskell. But I don't, and I'm not going to learn it any time soon. So it's a moot point.

</comment></comment></comment></comment></comment><comment><USER9> I recently settled on XMonad as well for most of my development needs. i run it under VMware Fusion, with xmonad and some tweaks to run less non-essential background stuff, i manage to get by with just 128mb of ram dedicated to vmware (usually it hovers around 30% ram used). Firefox is run in mac, so that i will not be tempted to surf the web when in xmonad.

<comment><USER10> What kinds of apps do you use in xmonad?

<comment><USER11> I use xmonad for everything, all the time.

</comment></comment></comment><comment><USER12> XMonad is beyond hot, I recommend everyone to try it out. What I like best is never having to leave the keyboard to manage windows - talk about efficient window/workspace switching.

<comment><USER13> Frankly, in the kind of environment where xmonad would be most useful (work), I have the least use for it. I simply don't fiddle with/change the windows my FreeBSD box at work.

It does one thing: sit there with all the terminal/editor windows open. It doesn't need to anything else.

For that matter, I purposely overlap and raise various windows in different ways that would take forever to set up with a floating layer in xmonad because I can't be bothered to learn the wm.

I might check out bluetile, that seems more promising. I just don't have the need to move my windows around much.

You know what I _do_ need? A chromium package for FreeBSD. There's virtually no other web browser for *BSD/Linux that is tolerable.

<comment><AUTHOR> > I might check out bluetile, that seems more promising.

More promising in what sense?

> "I purposely overlap and raise various windows in different ways"

I wonder if you could describe that workflow programmatically. Then you could automate it ... as a number of the xmonad layouts do.</comment></comment></comment>


Ask HN: Resources to learn math as a foundation for CS - <AUTHOR> I've been a self taught web developer for about 4 years, and although my programming knowledge has been increasing at an exponential rate recently, I feel like I want to step up to the next level, by which I mean trying to teach myself the foundations of CS. I know in order to do this, my maths needs to be much stronger than it is now. Assume that my maths knowledge is currently at the same level as a high school student. I'd appreciate any advice as to how I can improve my maths, and what I should be learning in order to better grasp CS foundations. Thanks! <comment><USER2> I've done exactly what you are talking about, so I think I have some insight that might be helpful.

For me, the biggest aid was finding good books, ones with exercises and that explained the material very well. Then it was just a matter of reading, actually doing all the exercises, and struggling with the material until I could fully understand it; then I moved on to the next chapter/book/etc.

I've worked through a lot of books by now but here's the short list of ones that I think are great for getting started(especially, if you do what I described above), also when these have solutions manuals I would advise getting them as well so you can ensure you understand how every problem works.

1\. Calculus 4th ed. by Smith and Minton

2\. Introduction to Linear Algebra (Gilbert Strang)

3\. Introduction to Probability Theory (Hoel, Port, Stone)

4\. Discrete Mathematics and its applications (Rosen)

5\. Introduction to Automata Theory, Languages, and Computation (Hopcroft)

6\. Introduction to Algorithms (Cormen, Leiserson, Rivest, Stein)

It will take you at least a year if not two to work through all these in your spare time, but the advantage is that after that you'll have the skills to be able to approach just about any topic in computer science (even highly theoretical ones) and not have much difficulty understanding them (at least that was my experience).

<comment><USER3> Thanks for this!

Can you suggest a book that would be a bit more introductory and cover Algebra well? I missed out on ever understanding it properly in school and would love to try again.

<comment><USER2> yes, I would recommend "Algebra 2" published by McGraw-Hill ([https://www.amazon.com/Glencoe-Algebra-2-McGraw-Hill- Educati...](https://www.amazon.com/Glencoe-Algebra-2-McGraw-Hill- Education/dp/0078656095)). I actually had to start there myself, now those many years ago :).

Best of luck!

</comment></comment></comment><comment><USER4> Modern mathematics is built around linear algebra and analysis. It's no coincidence math bootcamps like Harvard Math 55 go this route. If you are into long-term mathematical learning and you can afford the detour, I'd start by learning linear algebra from e.g. Axler and analysis from e.g. Bressoud (both are didactic masterpieces).

Alternatively, you can start by studying any of the alternative foundations to mathematics (set theory, logic, etc). Perhaps from a toned down alternative to Sørensen & Urzyczyn. A beautiful and very modern way to do this for a CS student would be to marry it with a course on automated theorem proving (using Isabelle or Coq). Any book suggestions welcome.

</comment><comment><USER5> This has been the single most useful math resource for me as a programmer: [https://github.com/Jam3/math-as-code](https://github.com/Jam3/math-as-code), especially for working through CS textbooks like CLRS.

</comment><comment><USER6> Concrete Mathematics by Knuth was designed with your needs in mind, and has essentially become the canonical "math for cs" text. I haven't read more than the preface plus a few pages though, so I can't comment further on whether or not it delivers in my opinion, but the opinions of others seem very positive.

</comment><comment><USER7> Mathematical Foundations of Computing by Keith Schwarz:

[https://web.stanford.edu/class/cs103/notes/Mathematical%20Fo...](https://web.stanford.edu/class/cs103/notes/Mathematical%20Foundations%20of%20Computing.pdf)

<comment><USER8> I checked it out and it seems approachable. Is there any resource that provides answers to the problem sets ?

<comment><USER7> I am not sure to be honest, but if you want a book with answers, try Discrete Mathematics with Applications by Epp [0]

It has a very large number of answers in the back, but not all of them. You'll come out ahead even if you only do the problems with an answer as each section has anywhere between 30 to 60 problems. If you want to try every problem (or some of the interesting ones that don't have answers), there's an instructor's manual for 3rd edition. The one I linked is the 4th ed. No problem as the editions 3 and 4 mainly differ in numbering of their sections and chapters, so if you match a chapter from 4 ed to the one in the instructor's manual for 3rd ed, the answers are identical and in the same order. If none of this works for you, either just google the problem or visit MSE [1] as almost none of the problems in the undergrad books are original and many people before you have asked the same questions many times over.

Note, the price of the book is steep, but I am sure you know of libg3n.

[0][https://www.amazon.com/Discrete-Mathematics-Applications- Sus...](https://www.amazon.com/Discrete-Mathematics-Applications-Susanna- Epp/dp/0495391328/ref=sr_1_2?ie=UTF8&qid=1520033776&sr=8-2&keywords=epp+discrete+mathematics)

[1] [https://math.stackexchange.com/questions](https://math.stackexchange.com/questions)

<comment><USER8> Great! Thanks.

</comment></comment></comment></comment><comment><USER9> This sounds pretty much like what you are looking for: [https://courses.csail.mit.edu/6.042/spring17/mcs.pdf](https://courses.csail.mit.edu/6.042/spring17/mcs.pdf)

Given that linear algebra has become so vital lately (as others remarked already), the following new book appears better than the lot from an applied viewpoint: [https://web.stanford.edu/~boyd/vmls/vmls.pdf](https://web.stanford.edu/~boyd/vmls/vmls.pdf)</comment>


City of Beijing Data Portal - <AUTHOR> http://www.bjdata.gov.cn/

<comment><USER2> Cool.

I tried to download a dataset. Registration, on this [http://www.bjdata.gov.cn/tabid/99/Default.aspx](http://www.bjdata.gov.cn/tabid/99/Default.aspx) registration page, requires:

Username; Password; Password repeated; Real name; Sex; Mobile telephone number; Fixed number / Landline; Email address; Checkbox whether commercial use is required (if so: Company / Organisation name; Company registration code; Company website; Area of business); Captcha; Submit button.

But it seems no confirmation of registration via email or telephone is necessary, it it just takes you to the page you were earlier looking for.

I love China's Internet, especially government sites. They even added a 2D bouncing Pong-style picture of an airplance on the front page, which probably got someone a promotion as that's particularly special.

<comment><USER3> > They even added a 2D bouncing Pong-style picture of an airplance on the > front page, which probably got someone a promotion as that's particularly > special.

Which is especially fun on mobile.

</comment></comment><comment><AUTHOR> For anyone planning to hack on this data with Python, you might find some kindred spirits at the Beijing Python Meetup this Monday June 9th:

[http://www.meetup.com/Beijing-Python/](http://www.meetup.com/Beijing-Python/)

</comment><comment><USER4> Chrome's automatic page translation seems to be quite effective here - certainly good enough to register and browse the site meaningfully.</comment>


Microsoft Incorporates Virtual WiFi Technology into Windows 7 - <AUTHOR> http://www.technology.am/microsoft-incorporates-virtual-wifi-technology-into-windows-7-001743.html <comment><USER2> Here's a far more comprehensive article on it: [http://www.istartedsomething.com/20090516/windows-7-native-v...](http://www.istartedsomething.com/20090516/windows-7-native- virtual-wifi-technology-microsoft-research/)

</comment><comment><USER3> This could be helpful. Several times I have been tripped up by not quite getting the configuration right between wireless APs configured as repeaters and end up crashing the segment through traffic snafus.</comment>


Programmers should know R - <AUTHOR> http://www.r-bloggers.com/programmers-should-know-r/

<comment><USER2> Love the headline, but the article doesn't do the tool justice.

Have been using R off and on for the last 5 years or so, and very heavily for the last year. For data analysis tasks that fit in memory, it simply can't be beat. The functional style and REPL work like Lisp/Python with a focus on crunching numbers, and the graphing/charting and statistics libraries are the best out there.

There are 1-2 dozen programs I've written over the last year or so that would be 200 lines of non-trivial java, 50 lines of python, and end up being <10 lines of R.

It's not great at everything, but if you've got some room in your toolbox, and work with moderate amounts of data regularly, you should consider investing the time to learn it.

</comment><comment><USER3> I think the more important thing is learning statistics - without a fundamental understanding of why you would do statistical analysis on a dataset, you can hardly fault someone for not using [Excel,R] to do so.

I'm re-tooling my knowledge of basic stats before I dive into using tools like R to automate: [http://www.khanacademy.org/?video=statistics--the- average#st...](http://www.khanacademy.org/?video=statistics--the- average#statistics)

<comment><USER4> Wow thank you for that link!

</comment></comment><comment><USER5> For another perspective on why R is worth learning, check out Zed's essay on it: <http://zedshaw.com/essays/programmer_stats.html>

(note: just ignore the ranty parts and there's brilliance underneath)</comment>


Facebook Valued at $60b, May Let Employees Sell $1b Shares - <AUTHOR> http://media.cbronline.com/news/facebook-may-let-employees-sell-1bn-shares-110211

<comment><USER2> Wow. It still blows my mind to walk into grocery stores and see Facebook gift cards on sale. A few startups that I have been involved with always talked about how great that would be but could never execute on it.</comment>