Show HN: Honeybadger Chrome Extension - <AUTHOR> http://gethoneybadger.com

<comment><USER2> The orange nearly killed my eyes. Apart from that, why do you use fake testimonials? I'm assuming that, since in the bottom you have a person, called "Antonina K. Director of Operations, TrustGuard". The lady on the picture is Sarah Parmenter: [http://ios-blog.co.uk/featured-posts/sarah-parmenter-web- and...](http://ios-blog.co.uk/featured-posts/sarah-parmenter-web-and-ui- designer/)

<comment><AUTHOR> Please understand this is a beta release, I've cut many corners left and right to just get it out as it is.

<comment><USER3> I'm not sure that blatant testimonial fabrication and deception is really cutting corners.

<comment><USER4> Not to mention using someone's likeness to endorse your product without their permission. I would imagine that is actually illegal.

<comment><USER5> I knew a professional photographer who loved it when websites used his images without permission, because he made a lot more money.

</comment></comment></comment></comment></comment><comment><USER6> Ok, but what's it doing behind the scenes? I'm not sure I'd trust something that's exchanging data about what I'm browsing with a lot of sites...

<comment><AUTHOR> Hi David, well I should make it clear that it does nothing else behind the scenes other than make an HTTP call to get website data only when you hit click to get the data, that's about the only thing it does. I get wary of other extensions too when I install but I can tell you this app does not track sites you browse if that's your concern (you can inspect it yourself and see).

<comment><USER7> > but I can tell you this app does not track sites you browse

Except for this snippet of code in popup.js of course.

var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-40692955-5']); _gaq.push(['_trackPageview']);

Edit: I tested this with a console.log, and it output immediately on page load, without clicking anything.

<comment><USER8> Not that's its impossible but popup.js is local to the extension.

</comment></comment></comment></comment><comment><USER9> Nice little app! Just a little honest observation though: Is anything in the tech section actually true?

I just checked my personal site and it came up with technologies I've never heard of. It also said I use 'bitpay' for payments

<comment><AUTHOR> Thanks for pointing that out, there is a technical difficulty with the builtwith stats right now, looking into it.

<comment><USER9> Awesome nice work!

</comment></comment></comment><comment><USER10> Your whois lookup is broken for ac.uk domains - for example, all of these requests return the whois data for ac.uk itself, rather than the specified domain:

[http://gethoneybadger.com:8080/whois/ox.ac.uk](http://gethoneybadger.com:8080/whois/ox.ac.uk)

[http://gethoneybadger.com:8080/whois/cam.ac.uk](http://gethoneybadger.com:8080/whois/cam.ac.uk)

[http://gethoneybadger.com:8080/whois/dur.ac.uk](http://gethoneybadger.com:8080/whois/dur.ac.uk)

(This list might help to uncover other problems like this: [https://publicsuffix.org/](https://publicsuffix.org/))

</comment><comment><USER11> The fact you have a quote from "Antonina K. Director of Operations, TrustGuard" with a photo of "Sarah Parmenter, Owner of You Know Who" makes me think you made them up.

I wonder how many testimonials on the web are actually real?

<comment><USER12> That depends. Do you require them to be in their original context and be still current? If not, yes, I have seen some "real" ones.

</comment></comment><comment><USER13> Interesting little tool, however, the "Built With" section was 100% incorrect/random for the few sites I checked.

<comment><USER14> For me as well. Seems completely random and false even for things that are extremely easy to detect such as Google Analytics.

</comment></comment><comment><USER15> I will start by saying that the site color scheme is pretty sharp for my eyes. I think you'll have a more polished look by having the background be white with a more neutral color palette.

For the extension itself: I like that it doesn't call out for information unless called upon, but if I ask for information about a site, I see no reason for you to have to collect the full URL and POST it to /track. That could lead to unexpected data leakage (as some URLs could be sensitive). You should probably get those API calls over to using HTTPS as well.

Also with every lookup, my console gets the log message "asdf", which is kind of weird. One thing I noticed is that the extension is pretty slow to get information. It appears it calls out for each item individually, and this leads to seven unique calls to your API that could be condensed into one request / response. If an API call fails with a 500 error, the entire stacktrace is dumped to the user. You'll want to disable debugging mode in your Express app to ensure that doesn't happen.

Since these APIs are public, you might want to consider rate limiting by IP, or you might find that your extension isn't the only consumer of them. A free and open WHOIS or Geolocation API that responds with JSON could be abused by other app developers, and having that already around moves the cost from them to you.

</comment><comment><USER16> It might be an awesome extension, but if it's not related to the company at honeybadger.io, you need to rename the thing.

Even if the similarity was completely inadvertent, it's just going to lead to confusion and legal hassle, and could end up hurting your reputation more than the functionality of the extension will help it.

<comment><USER17> A more traditional name for honey badger is the Boer 'ratel'.

It's also catchier - might make a better product name.

</comment></comment><comment><USER18> Were you aware that an exception handling service named Honeybadger already exists?[0]

0 - [https://honeybadger.io](https://honeybadger.io)

<comment><USER19> I actually thought this would integrate somehow to the service. So you're telling me this is completely unrelated to Honeybadger the company?

<comment><USER18> As far as I can tell, yes this is completely unrelated to Honeybadger the company.

</comment></comment></comment><comment><USER20> The most useful/interesting for me is the technology section. As that's not the easiest to get data about. Unfortunately the info that its giving is completely false/random. Checked it on a few websites that I've built or know the stack and the info shown is completely wrong.

www.builtwith.com provides much more information but they do not have a chrome plugin that I'm aware of. Definitely should check it out if your interested in this plugin.

<comment><AUTHOR> Could you give me an example of a site you did? Although I know it's not 100% accurate, from my experience, they were fairly accurate. I am pulling data from builtwith.com btw.

<comment><USER21> builtwith.com shows proper data but the extension shows completely random information.

<comment><AUTHOR> so apparently we ran out of credits on builtwith. :(

</comment></comment></comment></comment><comment><USER22> So you know, your "Leave Feedback" button seems to lead to a survey / feedback form for "Competition Tab," rather than Honeybadger.

Edit: For what it's worth, if the plugin really does what it says it does on the Chrome Webstore page, it sounds really, really useful. Will try later.

</comment><comment><AUTHOR> I'm sure this extension will serve useful to you as it has done for me and my colleagues. Hope you enjoy it!

<comment><USER23> Mind-blown! I can't browse websites without it!

/s

</comment></comment><comment><USER24> Injecting Google Analytics into each and every page I visit is not cool, mate... I uninstalled it again.

<comment><USER8> GA is not being injected into pages. it's only tracking the times you click on the extension button.

</comment></comment><comment><USER25> So, HN was built with Stiqr and reddit was built with Website Tonight...?

<comment><AUTHOR> Ah, I see what you guys are saying now. I'll have to look it up why its doing this!

</comment></comment><comment><USER26> The Technology section is completely off the mark and seems to be choosing servers and partners completely at random. Where are you pulling it from?

<comment><AUTHOR> yes its definitely off the mark at the moment, i'll be looking into it.

</comment></comment><comment><USER27> The site gives me absolutely no information about what this extension actually does. "Juicy informations" could literally be anything.

</comment><comment> king-coconut Doesn't really work, shows only a blank white window, no info visible on any of the sites I tried. Does the plugin work through www-proxy?

</comment><comment><USER26> Am I the only one trying to figure out when the intro video was made based on the HN frontpage it shows?

<comment><USER28> May 16, 11:17 PM. Top right corner ;)

</comment></comment><comment><USER29> So what does it do? The text on the webpage doesn't actually say.

<comment><USER30> > At the mere click of a button, our honeybadger will let you see how much > traffic the site gets, how much money they raised, what powers their stack, > and much more.

</comment></comment><comment><USER31> Now we just need a Honeybadger Firefox edition

</comment><comment><USER3> You couldn't come up with a less-lame name? And the "leave feedback" button being a mailing list subscription form?

</comment><comment><USER32> those testimonials seem fake? are they fake?</comment>


Why is airplane boarding always a mob scene? - <AUTHOR> http://www.quora.com/Why-is-airplane-boarding-always-a-mob-scene?share=1

<comment><USER2> I agree that it's the overhead carry-ons that cause most of the problems. From 1\. people wanting to make sure they get space. 2\. People incorrectly placing their luggage taking up more space than needed in a bin.

The solution: Carry-on Valet. Have 3-10 airplane employees (indoor luggage handlers) load the carry-on's to the bin above the seat number the person will be sitting in then leave the plane from the back. (For more speed have people start loading as the bins are filled from front to back)

I think large international flights could be excluded.

The airline would need to only have a few more luggage handlers to do this; as they are already at the gate, just outside, right?</comment>


Deriving the Y Combinator in JavaScript in 7 Steps - <AUTHOR> http://igstan.ro/posts/2010-12-01-deriving-the-y-combinator-in-7-easy-steps.html

<comment><USER2> For an alternate and very different explanation, see mine at [http://www.mail- email@example.com/msg02716.h...](http://www.mail- firstname.lastname@example.com/msg02716.html). It does it in 3 steps.

<comment><USER3> Your explanation is great!

As a third option, if you'd like to have the relevant CS terminology, see Matt Might's derivation, also in JavaScript, at [http://matt.might.net/articles/implementation-of- recursive-f...](http://matt.might.net/articles/implementation-of-recursive- fixed-point-y-combinator-in-javascript-for-memoization/).

<comment><USER4> Thanks for the link. Really nice resource on CS stuff.

</comment></comment></comment><comment><USER5> Yet no mention of lambda calculus (or combinatory logic) anywhere in the article.

<comment><USER6> Nor that it requires untyped lambdas.

<comment><USER4> I haven't mentioned anything about those subjects for a few reasons: 1. I don't know that much about them yet; 2. the post would have gotten pretty lengthy and hairy; 3. I didn't meant the post to be a comprehensive tutorial on fixed point combinators.

While I think I understand lambda calculus enough as to write a little introductory blog post, I can't say the same for combinatory logic.

<comment><USER7> On the plus side it was an extremely lucid explanation of how the Y combinator is derived. Usually articles on the Y combinator get bogged down with jargon and terminology. By using simple terms your explanation was very readable. If someone wants to learn more of the theory it is one google away. If someone wants to learn how someone might have originally come up with such a device, you article is an excellent starting point.

<comment><USER8> Agree - haters gonna hate. I really enjoyed the simple, lingo-free derivation.</comment></comment></comment></comment></comment>


Reddit now use their API to track everything you do on their website - <AUTHOR> https://old.reddit.com/r/stopadvertising/comments/87d1sq/psa_reddit_has_enhanced_their_tracking_they_now/ <comment><AUTHOR> The linked post is already a month old. Here is some more recent info posted less than 24 hours ago

[https://www.reddit.com/r/privacy/comments/8fjpse/redditcom_p...](https://www.reddit.com/r/privacy/comments/8fjpse/redditcom_posts_obfuscated_data_to_its_root_domain/)

<comment><USER2> That seems to be a better thread, with more analysis of what's going on and why that might be interesting.</comment></comment>


Do you believe that the Chinese government steals technology from US companies? - <AUTHOR> https://twitter.com/__tosh/status/1288598252112220171 <comment><USER2> Everybody steals technology from everybody else. (Even _within_ countries.) To say that it's otherwise is being a bit naive.</comment>


A command line client for Dropbox written in Go - <AUTHOR> https://github.com/dropbox/dbxcli <comment><USER2> There is also [https://github.com/andreafabrizi/Dropbox- Uploader](https://github.com/andreafabrizi/Dropbox-Uploader)</comment>


Factor programming language - <AUTHOR> http://www.factorcode.org/ <comment><USER2> This is a cool language... but this isn't news. Its been around for a few years.

<comment><USER3> Interesting submissions don't have to be literally new.

</comment></comment><comment><USER4> <http://news.ycombinator.com/item?id=772639>

</comment><comment><USER5> Concatenative languages, ftw!

[ read eval print ] loop</comment>


7 Effective Facebook Pages and 23 Facebook Marketing Ideas eBook - <AUTHOR> http://brickmarketing.tradepub.com/free/w_mard03/prgm.cgi

<comment><USER2> I puked when I saw the page...</comment>


A new CPU - <AUTHOR> http://www.fpgarelated.com/showarticle/44.php

<comment><USER2> This is a really good article, and I'm sad it didn't seem to be read much. I resubmitted with a slightly different title in case that helps it get the attention it deserves.

<http://news.ycombinator.com/item?id=5290638></comment>


100% remote teams can be highly productive - <AUTHOR> http://www.toptal.com/remote/advanced-tactics-for-highly-collaborative-remote-teams

<comment><AUTHOR> Has anybody worked at an 'all remote' startup with more than 4 employees? If so whats your experience?</comment>


CDC Recommends Sweeping Changes to American Offices - <AUTHOR> https://www.nytimes.com/2020/05/28/health/cdc-coronavirus-offices.html <comment><USER2> Dupe: [https://news.ycombinator.com/item?id=23344230](https://news.ycombinator.com/item?id=23344230)</comment>


Training the Brain to Eat Less Sugar - <AUTHOR> https://drexel.edu/now/archive/2019/May/brain-train-diet-game/ <comment><USER3> For the first 3.5 months of this year I was completely off artificial sugar. That meant fruit was ok, but any kind of dessert wasn't. It was hard initially but after a couple of weeks it was easy. I didn't feel the craving to eat dessert like I always did. I also felt much better and more productive now that my insulin levels were more stable than before. On my previous diet I had regular sugar highs and lows (which of course meant more sugar), and it was great to be rid of that.

If anyone wants to try this and finds it too difficult initially, please stick to it for at least two weeks! It gets easier!

<comment><USER4> Awesome, congrats! I'm at 2.5 years of no artificial and as close to 0 "natural sugar" as possible. I don't have any fruit and I don't drink milk but have the lactose in cheese sometimes. I also have tomatoes sometimes so there is a little glucose in that. Generally, if I could, I'd have 0 -ose completely.

It's done wonders for my A1C and weight. It definitely gets easier after the original weaning. Now it doesn't even take thought or effort and I have no regrets at all.

<comment><USER5> One interesting milk option is Fairlife. It's processed to have more protein and no lactose [0]. Some health bloggers object to the process, here's a summary [1]. Overall I think it's a solid product.

[0] [https://fairlife.com/our-nutrition/](https://fairlife.com/our-nutrition/)

[1] [https://www.stephshares.com/healthyeating/966/](https://www.stephshares.com/healthyeating/966/)

<comment><USER4> Thanks! I've heard of this but never really researched it. I don't object to the process but I drink carageenan free heavy cream to achieve a similar taste/texture with no protein.

</comment></comment></comment></comment><comment><USER6> Watch the Fed Up documentary, how sugar is more addictive than cocaine in mice, how 80% of food products in US supermarkets have added sugar. Its nearly impossible trying to train yourself to moderate your sugar, its better to avoid it altogether as your body sugar level (GI) spikes causes withdrawal later. Our body does not need any refined sugar. Fruits are ok, avoid fruit juices as they often either have added or sugar or miss the fibre which helps your body slow down digestion.

<comment><USER7> "how 80% of food products in US supermarkets have added sugar."

The other 20% have added artificial sweeteners that taste awful. (edited to note I hate the taste and idea of products that are heavily marketed as "no added sugar" that are dosed with megatons of suralose or similar)

You pretty much HAVE to go homemade paleo style food. Luckily that kind of food can be delicious and easy to make and cheap... A big salad with a modest side of meat, a stir fry made with a bag of frozen veggies and chopped meat, classic meat and veggies, meat and spices in a slow cooker, etc.

<comment><USER8> I have no problems with artificial sweeteners and have used them for over a decade (mostly in beverages). I believe it improved my health. Eating too much real sugar isn't even that enjoyable now, and usually makes me feel sick.

<comment><USER9> I recently reduced my pop to a friday afternoon one can treat, but before that I drank exclusively diet drinks - I got so used to it that drinking a full sugar coke was sickly sweet.

</comment></comment></comment></comment><comment><USER10> There's actually not that much evidence moderate sugar intake is bad for you, at all. All this talk about "sugar" swings is completely off base, IMO, especially considering most starches are much higher on the GI and II scales than sugars. Fructose is low GI, and most of it is converted to glucose in the gut, anyway. Higher consumption is converted to fat, but most vilifying sugars promote fat, so what's the difference? If anyone can link me evidence that moderate sugar intake promotes worse blood sugar regulation (compared to saturated fat, especially) in healthy, non-diabetic populations, would love to see it.

FWIW, I've had anywhere from <30g total carbs in my diet, to moderate sugar/carb intake, to very high (300+g sugar [mostly from fruit], 500+ carb) diets. The very low carb diets were the worst for my energy levels (and yes, I did intake plenty of electrolytes, and was on it for 12+ weeks). Moderate carb feels best, to me, as an active, healthy body-weight male, for what anecdotal evidence is worth.

<comment><USER11> >If anyone can link me evidence that moderate sugar intake promotes worse blood sugar regulation (compared to saturated fat, especially) in healthy, non-diabetic populations, would love to see it.

I think you should reframe this...and ask if anyone can link evidence of a case of type 2 diabeties or non alcoholic fatty liver disease where the patient didn't consume sugar/carbs (those cases don't exist).

I think historically type 2 diabeties being called adult onset diabeties shows that even life long moderate consumption of carbs/sugars leads to type 2 in many individuals who were "healthy" in their younger years. Moreover, for many people type 2 was just a natural progression, it's not like historically everyone with type 2 began over consuming carbs/sugar later in life.

<comment><USER10> The vast majority of the population eats sugar and carbs, so it's not surprisingly the majority of diabetics consume them, too. Moreover, there are plenty of populations which consume very high carb diets who don't suffer from diabetes.

<comment><USER11> >so it's not surprisingly the majority of diabetics consume them

No, not a majority, every single patient with T2D has consumed them, whereas a majority could reverse diabeties by cutting them.

Medically it is undisputed T2D could have been avoided in 100% of cases through diet and exercise. Do other factors contribute (obesity, genetics, etc...)? Yes, but notwithstanding those issues still 100% of T2D cases could have been avoided (unfortunately not 100% can be reversed).

Sure people can consume high carb diets live long healthy lives, no one is saying 100% of people who eat carbs/sugar get diabetes, but 100% of patients that get T2D consumed sugar/carbs.

</comment></comment></comment></comment><comment><USER4> At what stage, if any, are we going to call sugar an addiction? "Craving" being the word used here is very obviously an indicator of the strength here and there are negative consequences to having too much. I don't know what other leaps need to be made to formalize the addiction category.

<comment><USER12> The problem with those criteria is we would need to ask at what stage are we going to call water an addiction? It also fufills those details. Really just because it can be classified as an addiction doesn't mean it should.

The real criteria of concern is "does it cause problems /in this case/".

Otherwise you end up with a hysterical neo-puritanism of trying to create a perfect life by excision of all vices.

<comment><USER4> I don't agree, but I also don't know the formalisms around addiction to articulate my argument precisely.

I have never heard of water intoxication happening with growing frequency over decades. I have also not heard of water intoxication having support groups, nor of water being described as a craving.

Additionally, there are no humans that have lived without water for years of their life. I have lived without sucrose for years of my life and I expect that there are others as well.

<comment><USER4> I really wish the downvoters would comment as well. I don't know what I said here that was so wrong. I am very open to critique here. I want to learn what other people think to refine how I think about it.

</comment></comment></comment></comment><comment><USER13> I've cut sugar out of my diet almost completely(bar trace amounts and the rare cheat treat).

23kg loss sustained over 16 months on a modified keto diet.

Cutting out sugar has been a game changer for me.

<comment><USER14> I eat mostly fruits, very little vegetables and cooked grains. I have lost 10+ kgs in the past 6 months. I was not obese, but could lose some weight.

Refined sugars are detrimental for health. Whole fruits and their sugars are great!

<comment><USER15> Fruits are actually full of sugar. Just because they are not "refined" doesn't mean those sugars are not harmful. They are essentially the same molecules (most prominent: saccharose, fructose, glucose).

Bananas are especially bad. Blackberry, Raspberry and Strawberry are OK even thou they have a sweeter taste in my opinion.

<comment><USER16> No one had ever demonstrated fruit intake as harmful. Fruit intake is strongly positively correlated with healthy outcomes.

</comment></comment></comment></comment><comment><USER17> From the actual study:

"8-week weight losses for ICT were 3.1% vs. 2.2% for sham. A marginally significant effect was observed for gamification to reduce the impact of ICT."

This seems like a small effect for eight weeks of work. And gamification backfiring makes me worry this is all noise.

<comment><USER18> Didn't see any mention of a control, so could just be down to the classes beforehand. Nevertheless 2%-3% weight loss without 'dieting' is surely good, it's at least additive to normal dieting, and perhaps even more effective in that it can help in overcoming craving.

Plus what rate of weight loss do you think is acceptable. Losing 25% of your bodyweight in a week may be the 'in thing', but it isn't necessarily healthy or sustainable.

<comment><USER17> > Plus what rate of weight loss do you think is acceptable.

Great question, I estimated the math before the last post but let me unpack it so people can correct me.

If a man is avg US height of 5'9" with an obese BMI of 35 and weight of 240, then 0.5% to 2% each week would fit standard medical guidelines for effective dieting.

At that weight you can easily fluctuate by 1% each day.

So we have an eight week effect that is in total less than 1% over sham, a difference on par with standard daily noise and reasonable weekly goal. This is why there's a replication crisis in health research.

Also, sham is a misleading control here if we're actually interested in weight loss. Why not control for any diet at all? Even use the same time each day going for a walk, or probably even meditating on weight loss strategies, at this improvement rate the advantage will melt away. Sham is defensible if you don't actually care about weight loss, but in that case weight shouldn't be your metric. Best case is it's a horribly misleading study design.

</comment></comment></comment><comment><USER19> I have a super sweet tooth and have become more and more concerned about it as I get older. One thing that I am really bad at is any kind of conscious diet or regime, I am just not regimented with anything really.

So, I tried the big-bang and did a 4 day fast - my theory being, well, treat it like a drug addiction and go 'cold turkey'. It worked. I massively cut down on my sugar intake because I didn't feel like I needed sugar (for about 3 months).

Over time as I've had sugary foods it's definitely come back, and so I'll probably try again. But I found it quite interesting how quickly I could reset myself to a state where my body didn't crave it.

Obviously, fasting isn't for everyone, and long fasts you should make sure you know what you're doing, but it was a serious eye opener.

<comment><USER14> Try satiating your "refined sugars craving" with fruits. Not juice, but whole fruits.

Taste will reset itself within a week. This has been my personal experience.

<comment><USER20> There are also a plethora of sugar free or low sugar processed foods to look into. Some of them use sugar alcohols or some artificial sweetener that might have some adverse effects, but they are fairly effective as a better substitute when you are otherwise craving a candy bar or a mocha.

Fruits, some are better than others, depending on how much fiber they have.

<comment><USER14> Please stay away from artificial sugars. We have no idea what diseases they might be causing.

<comment><USER21> I use artificial sweeteners when I try to cut back on sugar. A few grams of aspartame is probably much less damaging than 40+ grams of sugar. I'm willing to take that gamble.

<comment><USER22> I use quite a bit of stevia. It has a weird taste first but you get used to it quickly.

</comment></comment></comment></comment></comment></comment><comment><USER23> >Think: Lumosity for your diet.

I am surprised that an educational institution is comparing their new program to a company who deceived consumers on scientific claims.

</comment><comment><USER24> Glad to see more treading into using games to reinforce _beneficial_ behaviours.

If only the resources we were pumping into making lootbox games could start being diverted into projects like this.

</comment><comment><USER25> I phased out sugar by setting a daily goal and then progressively lowering it. I started at 40g max per day (the reccomended limit) and then treated it like a game to find other sources of sugar in my diet. I now get about 5g /day from things like oatmeal and Brussels sprouts (even some vegetables have sugar). It's not for everyone but it's changed my life.

<comment><USER26> How did it change your life?

So it's not just the processed / refined sugar you're reducing, it's sugar from all foods?

</comment></comment><comment><USER27> Just do keto-diet, and sugar addiction will dissolve pretty quickly.

<comment><USER28> I hear about keto so often that it must be the best thing ever, however I have no idea what it even is and I got curious!

Do you have some links/articles which describe what it is and what positive/negative things can come out of it?

<comment><USER29> I have done Keto myself and personally I would not recommend it. I would actually love to do keto forever as I love eating meat but it will pretty much ruin most of your social eating out habits unless you are okay with not going out for things like Sushi (not eating rolls), ice cream etc. I also do powerlifting and my calorie requirements are much higher. Strength wise, my strength took a dip initially but it mostly came back after about 1-2 weeks. But my endurance was absolutely horrible (this is due to your body having to first convert the fats to glycogen, then using the energy instead of readily available carb sourced glycogen).

Anyway, I personally did it for about 2 months and even though I enjoyed it, I would not recommend it for most people. I tried it because I don't like dissing something without trying it first, so I put myself on Keto for 2 months to see what it was all about. I would recommend the same - try it for about 2 months and then decide it for yourself. Note that you will have to bear through the first 1-2 weeks of brain fogginess and low energy as your body adapts to it. But once that's over and you are in Ketosis, you will feel much better. Another thing to be careful about is that your body will go out of ketosis very easily if you eat carbs (ice cream for example). Don't use it as a way to lose body weight as most of the weight people lose is actually water weight due to the lack of carbs based glycogen.

I would recommend this Jeff Nippard's YouTube video on Keto too:

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

<comment><USER30> 2 Months is absolutely nothing in Ketogenic diet, what you've likely experienced in those two months was mostly the transitioning side-effects from carbs to fat, it takes at least 6-12 months to be fully fat-adapted (mitochondrial changes) especially if you're an athlete.(See Ultra runner Zach Bitter)

<comment><USER29> I guess you could be right but for me, I couldn't afford 6-12 months of low endurance as I was about to start a specific workout program which also needed me to be in caloric surplus and have high endurance. Maybe I would try it out again in the future.

But another main reason as I pointed out was that Keto was severely limiting my social eating habits. I personally did not do it for losing body fat, I did it mostly to see how it is. I still loved eating out with friends - <USER2> like sushi rolls, ice cream etc. Keto wasn't allowing me those things.

I would actually love to do keto because I love eating meat (steak), butter, avocados etc but right now isn't the right time for me from a social point of view.

</comment></comment></comment></comment></comment><comment><USER31> Oh where can I get this game

<comment><USER32> Any grocery near you. Sum up the sugar content on packages and subtract that from 100, let that be your point :)

</comment></comment><comment><USER33> I want _that_ in augmented reality! Can you imagine!</comment>


Josi: a new web framework for Node - <AUTHOR> http://thatismatt.github.com/josi/

<comment><USER2> What are all the Node web frameworks that are being actively developed? Here are the ones I could find:

<http://github.com/thatismatt/josi> <http://github.com/visionmedia/express> <http://github.com/mde/geddy>

These ones haven't seen commits in over a month:

<http://github.com/obt/bomberjs> <http://github.com/simonw/djangode>

<comment><USER3> There are also Fab.js <http://github.com/jed/fab> (which hasn't seen any updates in a while, but I'm sure it's still being worked on), Pintura <http://github.com/kriszyp/pintura> and Picard <http://github.com/dantebronto/picard>

At a lower level of abstractions are the middleware layers Connect <http://github.com/extjs/Connect> and JSGI <http://github.com/kriszyp/jsgi- node>

</comment></comment><comment><USER4> Both Node.js and Tornado seem to have scaled for real-time-web stuff in the past:

<http://news.ycombinator.com/item?id=1088699>

<http://friendfeed.com/>

I think I'd try Tornado first myself because of Python's error tracebacks. In my opinion they make debugging significantly easier.

Is there any other software in this space?

</comment><comment><USER5> The example code is a bit unreadable for me: <http://i.imgur.com/uMcgo.png>

<comment><USER6> Yea they really need to change the background behind the code. There are so many new frameworks with unknown user bases and support out there that their website design can be the difference between getting users or not.

</comment></comment><comment><USER7> This doesn't look much different from existing frameworks like Express. I wonder what distinguishes the project?

<comment><USER4> It's built on Node.js, which is supposed to make real-time web stuff easier.

<comment><USER8> So is Express <http://expressjs.com/>

</comment></comment></comment><comment><USER9> Another?... Don't get me wrong, it looks somewhat better than the other frameworks I guess, but really?

<comment><USER10> I understand that the node community is still very young but hopefully they'll start consolidating around some of the core libraries/frameworks pretty soon. For example, I haven't seen a consensus for the best testing or packaging libraries.</comment></comment>


Facebook joins OpenID Foundation Board - <AUTHOR> http://openid.net/2009/02/05/facebook-joins-openid-foundation-board/ <comment><USER2> It's important to note that Microsoft is a member of the W3C. Being a member of an organization doesn't mean you are going to use or enhance any of the organization's technologies.

It will be good if people can start logging on to "real" sites with an OpenID. But I have a feeling Facebook only wants OpenID so that people can use their facebook password to log on "everywhere". This is how Google "supports" OpenID also.

<comment><USER3> Forgive me for naivete, but isn't that the point of OpenID? Using one account to log in everywhere? Or am I mistaken about something?

Further, OpenID is about positively identifying somebody online. Since Facebook has one of the stricter naming policies online, isn't that a good thing that they want to make Facebook IDs more openly available?

<comment><USER2> Yes, but the point is that right now, everyone provides an OpenID, but they don't let you log in with OpenID. So OpenID is essentially worthless, since you can't actually _use_ it anywhere.

It will become very worthwhile when major sites start letting me use it to log in.

(I always compare OpenID to email. Going with that analogy, right now, every site gives you an email address that anyone can send to. But each site will only send e-mail to its own addresses, completely eliminating any value.)

<comment><USER4> Yeah - although I'm starting to find that sites using OpenID 2.0 to have a good user experience. e.g. <http://www.plaxo.com>

I'm not really a heavy user of it, I probably wouldn't have joined - but they make it ridiculously easy to register.

We're taking on OpenID 2.0 as part our our development as a consequence. I know it has it's drawbacks, but as you say, getting the penetration up front is key.

Either way - hopefully a sign of things to come.

<comment><USER3> I dislike Plaxo. Just as OpenOffice is what I look at as an example of the worst of Open Source, Plaxo is my posterchild example of OpenID.

It adds nothing. First it was an address book in the midst of a sea of similar address books. It added OpenID to gain an "edge" and it got publicity despite its still having a meaningless featurelist. Plaxo 3 added Pulse, which is just a watered-down FriendFeed, which is a pretty watered-down site to begin with. It's ugly - it was obviously design-by-committee, which made it incredibly harmless and hideously generic - it adds nothing, and it has uglier ads than most of the sites it's ripping off. The name is _terrible_. It's the ultimate example of the meaningless short name.

</comment></comment></comment></comment></comment><comment><USER5> Great- this means that everyone needs to start taking OpenID seriously. I'm not sure what incentive there is for Facebook to join the OpenSocial movement since, given enough time, Facebook Connect could easily become the standard open login protocol. If Facebook's goal is to integrate OpenSocial into Facebook then they could have skipped a huge headache for themselves and developers (in the form of a herky-jerky start) by simply going with OpenSoc from the beginning.

<comment><USER6> OpenSocial and OpenID aren't really related (except that they are both part of the open stack).

Facebook can easily continue to do whatever they want with their API and still do OpenID. It would be nice, however, if they did a hybrid OpenID/OAuth flow and then have an OpenSocial API that you could get access to with the oauth token. The user experience would be pretty much the same.

<comment><USER5> They are not related but they are analogs to Facebook platform and Facebook Connect respectively.

[edit] Ah I see why you wrote that. I was writing/thinking about two protocols at once and came out with an incoherent comment.

</comment></comment></comment><comment><USER7> Looks like 2009 is going to be (open) identity year? If only the big ones started to accept third party openid to login to their services...

<comment><USER8> This year is definitely make-or-break for Facebook. And their business seems to be based around personal identity. If Facebook could take over credit card transactions similar to PayPal, it could be big for a long time.</comment></comment>


MySpace's Hail Mary Strategy: "Discovery" - <AUTHOR> http://techcrunch.com/2010/02/21/myspaces-hail-mary-strategy-discovery/

<comment><USER2> Wasn't "Discovery" the big thing 3 or 4 years ago? Isn't that why bing is the decision engine? Discovery means very little without context, and when you look at what Facebook is doing, it doesn't require for you to 'discover' what friends are doing, but just lets you 'know' what your friends are doing/seeing/etc.</comment>


Brain – a custom repeating notifications scheduler that lives in your toolbar - <AUTHOR> http://system-art.io/brain/ <comment><AUTHOR> I made this last week just to scratch a few of my own itches, remind me to do a few daily tasks. Please let me know if you find any bugs or want any features added :)</comment>


Vesmeer – universe simulator built using THREE.js - <AUTHOR> http://vesmeer.com/

<comment><USER2> The project facebook page (if you want to be notified about new features and other updates):

[https://www.facebook.com/vesmeer?ref=aymt_homepage_panel](https://www.facebook.com/vesmeer?ref=aymt_homepage_panel)

</comment><comment><AUTHOR> From the github repo: Vesmeer is a universe simulator built using THREE.js, running in a browser. At the moment, the software covers the major bodies of the solar system. Much more is to come...

</comment><comment><USER3> Space is awesome. This is awesome.</comment>


Ajit Pai faces rare criticism from GOP senator on rural broadband failures - <AUTHOR> https://arstechnica.com/tech-policy/2018/10/ajit-pai-faces-rare-criticism-from-gop-senator-on-rural-broadband-failures/ <comment><USER2> The obvious solution to rural broadband, is to accelerate the deployment of LEO satellite broadband like Starlink. It's radically cheaper than deploying fiber to the home across areas with population densities of 10 or 20 people per sq km. The cost to deploy fiber all over rural America is crazy vs the size of the customer base that will use it (more so given rural America continues to shrink).

As a taxpayer I'd be fine with the US Government providing loans to be split between several companies (SpaceX, OneWeb, etc), to be put exclusively into making this happen in three or four years instead of seven or eight. Have any relevant government agencies assist in accelerating it, whether NASA or DARPA.

</comment><comment> Blinks- Considering how many farmers vote Republican I'm almost surprised this issue is not raised more often in red states.</comment>


The Danish Beermakers Brewing Up Work for Autistic People - <AUTHOR> https://www.theguardian.com/sustainable-business/2017/apr/17/the-danish-beermakers-brewing-up-work-for-autistic-people <comment><USER2> Way back when I interviewed a two or three hundred people for software/web dev positions, in hiring meetings I was always saying, "We're not hiring them to do interviews, we're hiring them to write software." It really, really, really doesn't matter if people are nervous or weird or whatever during a job interview. OK sure "culture fit" is great if you want to work with a bunch of bros that can chill together but good lord what a world if only chill bros are allowed to have jobs.

<comment><USER3> While I agree with the general sentiment of your comment, it comes across as saying that only coding ability matters. (You might not have intended it to come across that way, but it can easily be interpreted as such.) Going on that interpretation... surely part of hiring them to write software generally (but perhaps not necessarily always) includes things like ability to effectively work, and communicate, with others.

<comment><USER4> That's part of good coding ability: Being able to understand the requirements and implement them

<comment><USER2> Again, being good at interviews doesn't correlate with being good at programming. It doesn't even correlate well with people skills. There are plenty of people with great social skills in general that are bad at interviews. Interviews are mostly terrible and weird.

</comment></comment></comment></comment><comment><USER5> I'm glad that this is coming to the forefront of our collective consciousness, and that people are working to solve what is a very real problem, and of their own accord.

Another (stellar) example that I've recently been introduced to is Bitty & Beau's Coffee, in Wilmington, NC.

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

[https://www.bittyandbeauscoffee.com/](https://www.bittyandbeauscoffee.com/)

</comment><comment><USER6> Similar business model to ULTRA Testing, a QA firm in NY that I regularly engage: [http://www.ultratesting.us/](http://www.ultratesting.us/)

There's a lot of talent out there that's often overlooked, good to see companies starting to recognize this and help create opportunities.

<comment><USER7> Also similarly, there are the Skilcraft products (most famously pens) for the US government.

[0]: [http://www.washingtonpost.com/wp- dyn/content/article/2010/04...](http://www.washingtonpost.com/wp- dyn/content/article/2010/04/17/AR2010041701297.html)

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

</comment></comment><comment><USER8> Interesting, but I was surprised to see not a word about what they specifically do differently to work with autistic employees.

</comment><comment><USER9> The Danish discount retailer Fakta, also does this. They have a sign by the entrench to my local store that mentions the particular store will be one of them (no time horizon though).

It seems to work well in the stores that have tried it so far, but I cannot imagine how that will work with less than nice customers.

</comment><comment><USER10> I met a guy today here in Shenzhen who is starting a factory in Western Australia and specifically seeking autistic employees.

</comment><comment><USER11> Given that beer industry funds campaigns against cannabis legalization and that cannabis is beneficial for people with Autism I would call any efforts like that sinister.

<comment><USER12> Cannabis can also induce paranoia and disordered thinking, as you appear to be demonstrating.

<comment><USER11> And beer causes death if you partake too much

<comment><USER13> Same with water. Your point?</comment></comment></comment></comment>


Ask HN: What have you read/watched that induced significant change for you? - <AUTHOR> Howdy HN.
I was wondering what you've read or watched that led to significant, lasting changes in your life, lifestyle, relationships, business practices, and/or thought processes.
Have these changes given the expected benefits? If not, why not?
Any unexpected benefits? <comment><USER2> this is the only tedtalk i approve of [https://www.ted.com/talks/dan_gilbert_asks_why_are_we_happy](https://www.ted.com/talks/dan_gilbert_asks_why_are_we_happy)</comment>


Learn to read Middle English - <AUTHOR> https://blog.plover.com/lang/middle-english.html <comment><USER2> > What's "schuleth" then? Maybe something do to with schools? It turns out > not. This is a form of "shall, should" but in this context it has its old > meaning, now lost, of "owe

It's still "schulden" (to owe) in German, and "trybut" is still "tribut", and "alle" is still "alle", and "hoppen" (or "hopfen") is still used in some German dialects as "jump"/"dance", and "alwey" (or "alleweil" / "ällweil") is still used in southern Germany for "always" \- my grandfather still uses it. "Ȝelde" is very close to the modern German "vergelten" (repay) or "abgelten" (compensate), and even to "Geld" (money).

The only word that seems strangely out of context is "dettes", and as it turns out, this word is French.

As a German, when I read Middle English, I always have the strange feeling that someone tried to "correct" or clarify a Modern English text, but only partly succeeded.

<comment><USER3> > What's "schuleth" then? . . . This is a form of "shall, should" but in this > context it has its old meaning, now lost, of "owe"

I would not say it is lost. What else does "you should" mean but "you owe"? You can exchange "You should..." for "You ought to..." ( _ought_ is a past tense of _owe_ ).

<comment><USER4> While the sense evolution from owing to obligation is clear, it would definitely sound weird now to say "you should a tribute".

<comment><USER5> Funnily, if you read your sentence aloud, it sounds perfectly reasonable:

"You should attribute..."

</comment></comment></comment></comment><comment><USER6> If anyone is interested in something from this time period worth reading in its original language, that is not on the reading lists, I can recommend the works of Sir Thomas Malory. He collected, compiled, and translated from French to English everything we call "Arthurian Legend." He did this while in prison near the end of his life. I picked up a used copy on a whim, knowing nothing about Middle English, and its been difficult but priceless. It took me an hour to get through the first page, but it puts Game of Thrones to shame. Found it on Amazon, they list it as ASIN B011T6UUCQ. Theres other editions, but I can vouch for the integrity and readability of this one.

<comment><USER7> Sir Thomas Malory's life is just nutters, likely because it's a bit hard to pin down. Nonetheless, born a lesser noble, he gets knighted and then does what any young man in those late medieval days does: goes civil warring. Riding about he gets married, and has a kid (maybe more?). Somehow he gets elected to parliament, while being wanted for some sort of crime. Parliament doesn't really seem to mind, maybe they thought him a bit roguish for it.

Unfortunately, he then decides to back the wrong (loosing) side durng some such part of the War of the Roses. They get at him and try to jail him for this. Also a bunch of murdering and raping and pillaging for good measure. He gets captured and, well, just walks out and swims the moat. Nothing really comes of that escape, legally speaking. Everyone was like, good for you.

As he is still backing the wrong side, they try and get him again. This time they do their jobs and capture him. The jury convicts him and he, well, maybe they convict him. No one really knows. So they let him go. This pattern repeats itself a few times, yes really. Malory finds that cattle rustling on the Scottish border is more his cup of tea anyway.

Eventually he gets on the right/winning side of the war. Unfortunately, they still don't really like him, all that pillaging you know, so the general pardons that come along when a new king comes into power, well, those skip him. Finally, he gets into a prison that really has some bars behind it. There he gets really bored reads a bunch of French and English stuff borrowed from a bleeding heart Noble next to the Tower of London. It's all about King Arthur so he writes 'Le Mort d'Arthur'. He dies in prison.

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

<comment><USER8> Another vote here for the Malory. An earlier draft of this article had a Malory example, but I decided it wasn't needed. But the Malory is not hard to read, and it's a lot a of fun.

</comment></comment></comment><comment> chizhik-pyzhik There's a wikipedia incubator site for middle english. It's pretty entertaining to read:

 _A frogge biþ a smol beaste wiþ foure leggys, whyche liueþ booþ in watyre and on londe. It cuoþ bee broune or grene or yelowe, or be it tropyckal, he may haue dyuers coloures. It haþ longys and guilles booþe. Eet haccheþ from an ey and it þan ys a tadpolle. It groweþ to ben a frogge, if it þan ne be noght aetoen._

[https://incubator.wikimedia.org/wiki/Wp/enm/Frogge](https://incubator.wikimedia.org/wiki/Wp/enm/Frogge)

<comment><USER9> According to Caxton there was a controversy between egges and "eyren".

<comment><USER10> Very interesting! The Dutch for eggs is "eiren" (plural of "ei" pronounced "ey")

<comment><USER11> Nitpicking, the plural is eieren, with three distinct syllables :) IIRC, there used to both words with -er and -en as plural, but over time the norm became -en so it was tacked onto the -er. Like kind/kinderen. In German Kinder and Eier are still the plural.

</comment></comment></comment></comment><comment><USER12> If you want to know what (late) Middle English sounded like, listen to this recitation of Skelton's Speke Parott: [https://www.youtube.com/watch?v=tCckcTHWqKw](https://www.youtube.com/watch?v=tCckcTHWqKw)

The text, with modern orthography, is here: [http://www.skeltonproject.org/spekeparott/](http://www.skeltonproject.org/spekeparott/)

<comment><USER13> When I was learning to read Middle English I found that learning to pronounce it out loud helped a tremendous amount; it made the whole process a lot easier for me, and it helped others understand it as well since I could impart some contextual meaning that made some of those 'close' words very clear.

Being able to recite monologues from Canterbury Tales was also a good party trick that apparently piqued the interest of this girl who later decided to marry me. So there you go.

<comment><USER14> > recite monologues from Canterbury Tales was also a good party trick

I'm guessing not the Knights Tale

> apparently piqued the interest of this girl who later decided to marry me

I waited until after the first date before trying this one (Millers Tale). Reader - she married me!

<comment><USER13> I recall at that particular time I just reeled off the prologue, but I was always partial to the Monk's tale.

The reason is silly. One of the first times I heard any of it read out loud, it was an English prof with an extreme Southern drawl reading Monk's Tale. I got a real kick of it, and always gave the Monk a little hint of the Blue Ridge Mountains in his honor.

</comment></comment></comment></comment><comment><USER15> There must be a thousand false friends though. As a guy struggling through German, there are too many words that sound the same but mean different things, like 'fast', 'bald', and others (I cannot immediately think of)

<comment><USER16> "Fast" is an interesting word in English -- it has a diverse (or is it "dyuers"?) set of meanings surrounding both "rapid", "secure" (i.e. "stand fast" or "fast asleep"), and "abstain" ("fasting").

Its relative, "quick", has some weird historical attachments as well -- it can mean both "rapid" and "alive" (as in "quicksand" or the "quick" of a nail).

<comment><USER17> > "secure" (i.e. "stand fast" or "fast asleep")

The most common example of this sense today would be "fasten".

</comment></comment></comment><comment><USER18> In a college language seminar we read The Tale of the Wyf of Bathe very closely in Middle English. The Canterbury Tales are a really great way to learn it, because they are so rich and varied and there are great _dual language_ editions with copious notes. The big fat Penguin edition is fantastic.

In general, poetry is a great component to any language learning (enhanced by the fact they're often published in dual language version), but it's essential for dead languages.

<comment><USER17> > poetry is a great component to any language learning (enhanced by the fact > they're often published in dual language version)

Poetry is actually much worse for learning a language than prose is, because the language used in poetry is usually not typical and not uncommonly fairly strained. Any advantage of poetry comes from how much the student enjoys it.

> but it's essential for dead languages.

Why would dead languages be any different in this regard from living ones?

<comment><USER18> For dead languages the answer is easy: a lot of the most interesting texts are in verse. Including Middle English. I have never had a conversation in any dead language. Prose _literature_ is actually a more recent development, so if you want to read ancient stories in the original, which are awesome, you will be reading poetry.

As to poetry in general: Poetic language is challenging, diverse in vocabulary, and because of meter it is memorizable, which I find puts more of the language "in my head". Poetry is also an essential part of most national literatures, and so a big component of _really_ learning a language beyond being conversational.

Nothing in my answer disparaged prose, or that poetry is more important than prose; any language learning consists of repeated, effortful exposure to many language sources, as well as speaking and writing the language. I'm just emphasizing that studying poems in other languages can really help learning those languages, so a savvy student should include it. The tone of your response is puzzling to me.

<comment><USER17> > a lot of the most interesting texts are in verse

This is a matter of taste.

> I have never had a conversation in any dead language.

This is also a matter of taste.

> Prose literature is actually a more recent development, so if you want to > read ancient stories in the original, which are awesome, you will be reading > poetry.

This is more of a matter of which language you're studying.

> because of meter [poetic language] is memorizable

This is bizarre. Your claim is quite correct as to speakers of the original language, but we've stipulated that the language is dead. In general, students cannot identify or even notice poetic meter in the dead languages they study. I really enjoyed scanning Latin verse, but that is because I enjoy _math_. To more "normal" students, scansion is infamous for being painful and difficult.

I responded to the perceived suggestion that studying poetry is an effective method of learning a language. I don't agree with that: poetry is more difficult to read than prose, and the lessons you may draw from it are often specific to the genre, not the language. For example, if you want to read Latin poetry, you will want a working knowledge of Greek grammar, which is sometimes used in preference to Latin grammar. The Roman poets could count on their audience to know Greek. But learning Greek grammar is not actually a particularly valuable step in studying Latin grammar.

You don't read poetry in order to learn a language. You learn the language in order to read the poetry.

<comment><USER18> So... you just like to be disagreeable.

</comment></comment></comment></comment></comment><comment><USER19> "trybut" should be a programming language keyword

<comment><USER15> demand { <code> } trybut { <code> } now <finalcode> }

<comment><USER20> Since it's "tribute", it seems like a synonym for return. A function's output is its tribute, or maybe just the thing it returns.

        def speke_parott():
            # many machinations...
            trybut = "squwak"
            return trybute

</comment></comment></comment><comment><USER21> The difficult word, "schuleth", is actually pretty close to its German counterpart, the verb "schulden", which still has the original meaning of "to owe".

In German itself, the word apparently transformed from "skulan" at around the year 0 over "skuld" at around 700 to "schult" around the year 1000.

<comment><USER9> I have no problem with this:

"to him that ye schuleth tribute, tribute" becoming "to him that you should tribute, tribute."

It is a bit odd to modern ears but the second tribute is clearly a shortened exhortation for emphasis. Should in English often implies an obligation and owe falls out from that. "You should apologise for that" -> "You own an apology for that".

<comment><USER22> the first "tribute" is a gerund (i.e. a verb taking the place of a noun) although i'm not sure of the gerund declension in middle english. the second "tribute" is an imperative verb (with an implied subject and object).

</comment></comment></comment><comment><USER23> I kind of wish we still used thorn, edh, and yogh. But I'm weird like that.

<comment><USER12> Nothing stopping you. I do, when I'm writing. As any written communication from me is typed, only a few people know this.

Incidentally, thorn and yogh are still occasionally used today: thorn (written as y) at the beginning of some pub names, e.g. "Ye Olde Mitre Inn", and yogh (written as z) in some Scottish surnames: Menzies (traditionally pronounced "mingus"), Dalziel (pronounced "dee-el"), Mackenzie (derived from Gaelic MacCoinnich, but now with a spelling pronunciation in English).

<comment><USER24> Heh, when I was younger I went through a phrase of writing almost everything in Anglo-Saxon runes.

<comment><USER25> It happened to me, too. I blame Ultima IV!

</comment></comment></comment></comment><comment><USER26> If I blur my eyes and read fast, it is not so hard to understand, i.e. [https://en.wikipedia.org/wiki/Typoglycemia](https://en.wikipedia.org/wiki/Typoglycemia).

</comment><comment><USER27> It is worth mentioning that Middle English consisted of dialects that significantly differed from one another. Chaucer's English is similar enough to modern English that bookish people today can quickly get used to it with the help of an annotated edition of the Canterbury Tales. But _Sir Gawain and the Green Knight_ or the less popularly known writers of the Middle English period like the Pearl-poet or William Langland are more challenging and generally only ventured by specialists, and everyone else relies on translations.

<comment><USER18> The Canterbury Tales is a great preparation for the harder stuff!

</comment></comment><comment><USER28> When people say things like:

> The only strange word is schuleþ itself

it makes me think Middle English is not easy at all. Out of the entire sentence I unambiguously recognize "to," "that/þat" and "men", and I can guess but can't be sure that "alle" means "all" by recognizing that "alles" is German for all and supposing that English lost the trailing e recently. None of these words have high semantic meaning and I am unable to make a guess at any of the remaining words in the sentence based on context, since I have no context.

I'm not a dumb man, nor do I have a small vocabulary. I probably know more about linguistics and especially historical linguistics than the vast majority of the population due to my interest in conlanging. But the fact that some people think that the meaning of the rest of the words in the sentence is so obvious as to serve as an example for how obvious Middle English is, is probably the reason why I've failed or nearly failed every English class where we've had to read Shakespeare, and never garnered any sympathy from teachers who are so certain that "trybut" is obviously "tribute" as anyone can plainly see.

</comment><comment><USER29> Takes me back to my university days and the holiday project I got involved in as part of the Middle English Dialect Project lead by Dr Michael Benskin.

[http://www.lel.ed.ac.uk/ihd/elalme/intros/atlas_preface.html](http://www.lel.ed.ac.uk/ihd/elalme/intros/atlas_preface.html)

I helped with programming for processing/typesetting of the various texts and the production of "dot maps" and other maps for the data of the corpus of some 320 words which were (manually) collected from thousands of manuscripts.

E.g. text 1423, (maybe with a known scribe, usually with a location), spelled such and such a word in the following N ways (scribes often had a preferred spelling, but weren't always consistent).

With such maps, among other thints, you could start to place unknown texts by doing some simple Venn diagrams for spellings it contained.

The original (referenced above) was printed, subsequently, it was put online.

[http://www.lel.ed.ac.uk/ihd/elalme/elalme.html](http://www.lel.ed.ac.uk/ihd/elalme/elalme.html)

Maybe when I retire I can help them tidy it up :)

</comment><comment><USER30> >Some words that were common in Middle English are just gone. You'll probably need to consult a dictionary at some point. The Oxford English Dictionary is great if you have a subscription. The University of Michigan has a dictionary of Middle English that you can use for free.

>Here are a couple of common words that come to mind:

>eke — "also"

>wyf — "woman"

Wyf shouldn't be that hard to guess: it eventually became "wife".

<comment><USER8> "Wife" and "woman" don't have the same meaning. I think people learning Middle English are often puzzled when they try to read "wyf" as "wife", which is why I mentioned it.

</comment></comment><comment><USER31> The discussion of yogh, which can be g or y reminded me that in some dialects of German, "g" is pronounced as "j", as in the proverbial phrase "Eene jut jebratene Jans ist eene Jabe Jottes" (A well grilled goose is a gift from god).

<comment><USER32> To be clear, pronounced as a German "j" or an English "y", ie /j/, not an English "j", ie /dʒ/.

<comment><USER31> Yes, important point.

</comment></comment></comment><comment><USER33> "Yelde ye to alle men youre dettes: to hym that ye schuleth trybut, trybut."

Sounds Yiddish:)

</comment><comment><USER34> "English started out as German."

Can we not do better than this? This is factually incorrect. I'm sure the author knows better, and just thought readers weren't "smart" enough to be able to understand "English is part of the Germanic language family" or "German and English are related", but instead this is just ... no... I don't think I'm being pedantic by complaining about this... But this is like saying that "Spanish started out as French" or "Romanian started out as Italian"

German refers to the language descended from Old High Franconian. English is descendended from the Anglo-Saxon dialects, the languages of peoples who invaded Britain from the western coast of what is now Denmark and the northeast coast of what is now the Netherlands. And then modified with a whole bunch of old Norse influence from Danish and Norwegian invaders. And then with a whole bunch of Old Norman French influence... etc.

If you look for a _modern_ Germanic language that English is most closely related to it would be the low Germanic languages, low Saxon, Frisian, even Dutch more so than German proper. Low and high refers to altitude -- not class or prestige or anything -- the "high" German languages are those that underwent a softening/changing sound shift which came out of the highlands in southern Germany. English, like Dutch, never underwent that sound shift. Hence we say "School" with a "k" for the sch instead of a soft "sch" like in German.

<comment><USER35> What's the misunderstanding you're trying to avoid with this distinction?

<comment><USER36> Do you descend from your cousin? No. You're related, and thus share a common ancestor.

<comment><USER35> Sure, but who believes english comes from modern german? The OP is laying out a strawman of confusion. The article certainly does not make this claim. It's being pulled from the OP's ass with no context for a dopamine hit.

Edit: removed accidental condemnation of sodomy.

<comment><USER36> I regularly teach a historical linguistics course. Despite my repeatedly telling my students that Germanic is not the same as German (it's easier in German, where the distinction is clearer: Germanisch vs Deutsch), and that English doesn't come from German, a surprisingly high percentage still end up thinking that English comes from German.

So, the Strawman is realer than one would like, albeit still lacking a brain.

<comment><USER33> You are probably right, but the original article is more of a "freestyle". It is entertaining and engaging. Conflating (deliberate or not) of cousins and ancestors is a small price to pay to keep the reader on the subject. [pardon my English, I am sure you will find enough to critisize]

<comment><USER36> It would be pretty easy to say something like "Go far enough back, and English and German (and Dutch &c.) were the same language...."

<comment><USER35> Is that not true? Certainly you can find a period of time when populations in both England and Saxony spoke mutually intelligible tongues. This confusion seems to arise out of a deliberate misinterpretation of your quote out of bad faith, not any semantic misunderstanding of the past.

If you believe this isn't true you're wandering into a territory of objectively demarcated language and dialect classification to little benefit. Pedagogically useful I'm sure, but to what semantic end? Hell I thought this was the type of problem linguistics intended to _solve_.

<comment><USER36> No, it is true: that was exactly why I suggested it. My point was that rather than saying something along the lines of "English used to be German" (which makes as much sense and is just as true [false] as saying "German used to be English"), it would have been easy enough to quickly say that they used to be the same language.

(Though, as to your point about England and Saxony: (1) mutual intelligibility is not the same as being the same language (2) Old Saxon isn't the same as Old High German.)

[But, you're right about demarcating language: it gets tricky pretty quickly. E.g., from a certain perspective, English (and German, and French, and Hindi) don't exist in the first place. A bunch of people have some sort of instantiations of formal grammars + lexicons in their brains and the output of these is such that some sort of more or less effective communication takes place and so we say these people 'speak the same language'.]

<comment><USER34> It's also not even clear that Saxon is actually the origin for English; yes the Anglo-Saxons often called themselves Saxons, but it is likely the ethno- linguistic pool they came from was something closer to Frisian than Saxon. Or some sort of Common West Germanic, from what is now Schleswig-Holstein and Frisia, not Saxony proper.

So yeah there would have been mutual intellegibility, because at that point there was likely high mutual intelligibility between all Western Germanic languages. But like you said that doesn't make them the same language. And like you aluded to, it's kind of a lumpers vs splitters thing.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Skype brief post-mortem - <AUTHOR> http://www.skype.com/content/skype/intl/en-us/StatusUpdate.html <comment><USER3> This seems like a nightmare situation for P2P company. Your super nodes get knocked offline and there's no way to force update them until they come back online, which is sporadic at best (based on my own experience today), which means either manually updating them or completely re-seeding your network (which seems to be the route they're going -- though so far it doesn't appear to be going all that well).

As other people have stated on other articles posted here, no discredit to them for having some downtime (I'm sure they're working round the clock on it), but I have to wonder if this could have been avoided with a phased roll out of new version to the super nodes.

<comment><USER4> Why is it a problem to bring supernode back online?

<comment><USER5> I can imagine it would self-DDoS from lack of peer supernodes to share the load.

<comment><USER4> But at least it would successfully reply to at least some of requests, right?

And would still keep trying to serve the requests, right?

So if sufficient number of supernodes is brought back online then the problems should disappear.

<comment><USER3> When this happens to our websites (when all servers go down), we need to rate limit and/or shut down traffic at the load balancer level as we bring things back online, otherwise everything just continues to get swamped and goes right back down. This would be nearly impossible in a P2P network and coordinating it between locations would be an even bigger nightmare. I imagine this is why turning on an entirely new network is a more viable option for them.

<comment><USER4> Why would overloaded server go down? Shouldn't it simply stop serving incoming requests if it's overloaded?

<comment><USER5> Is there a meaningful distinction between a server that doesn't serve requests, and a server that is down?

<comment><USER4> There is a meaningful distinction between a server that serves 1% of requests and server that is down.

I assume that overloaded server still serves some requests. But my assumption could be wrong, so if you have experience with that -- please share your knowledge.

Another thing that baffles me: if I introduce new supernode that is sitting on new IP address -- why would all the traffic suddenly hit that node?

Shouldn't it be just gradual increase in requests while more and more Skype clients discover that new supernode?

<comment><USER6> _I assume that overloaded server still serves some requests._

See <http://en.wikipedia.org/wiki/Thundering_herd_problem>

Many types of systems need a warm up period before they can realize their full performance. In web applications a controlled warm up is often needed to prime the caches. In P2P applications - which you can't easily "reboot" as a whole - the restoration of a steady state can be much more complex.

 _Shouldn't it be just gradual increase in requests while more and more Skype clients discover that new supernode?_

In theory, yes. In practice this seems to be a case of <http://en.wikipedia.org/wiki/Cascading_failure>

The remaining supernodes either can't handle the aggregate load alone. Or they are being overwhelmed because the re-connection attempts from clients are not evenly distributed.

 _Shouldn't it be just gradual increase in requests while more and more Skype clients discover that new supernode?_

In theory, yes. In practice there's probably a lot of <http://en.wikipedia.org/wiki/Positive_feedback> and perhaps even <http://en.wikipedia.org/wiki/Monster_wave> going on in the skype network right now.

<comment><USER7> This has absolutely nothing to do with the thundering herd problem. Why are you linking to seemingly random Wikipedia articles?

The GP's question is valid: there's no reason why server software should _crash_ when overloaded instead of simply degrading service.

<comment><USER8> True, there's no reason but that doesn't mean it doesn't happen. Many people (I would argue, rightly) equate degraded service to being out of service.

Made-up Scenario: My cluster can handle XXXk users with an SLA of YYms response time. In degraded mode, I'm only handling XXk users with YYYYms response times.

I'm not meeting my SLA for the remaining number of users so I am, in essence, offline.

As to your specific point of "crashing", look at what happened with 37s. Should the server have crashed? No but there was a bug. The reason you add more capacity in the FIRST place is because the existing number of nodes cannot handle the volume. Depending on any number of bugs, issues or configuration your degraded capacity is for all intents and purposes "crashed".

Made-up scenario #2: A single server in your apache configuration can handle 200k concurrent connections reliably with fast response times. Double that load and response times are so long that various devices on the path are timing out the connections as stale. Apache hasn't crashed but it's not really doing anything.

Fast failure is an accepted best practice. Shit, it's baked into Erlang. Kill the process, start a new one and move on. Depending on the nature of the crash, you're doing nothing but churning processes and not actually servicing requests.

The bigger problem is that people don't design for this type of scenario. Static landing pages. Decoupled services instead of monolithic all-in-one containers. Look at github. That's an awesome example of how to degrade service during an outage. Only certain components are "crashed" because everything is fairly decoupled.

Meanwhile there's a guy over here running 4 apps in the same tomcat container that communicate over memory transport with each other or even if he had the common sense to decouple each app, didn't bother to fail fast and was busy spinning up threads trying to communicate with the rest of the services that he can't actually respond to anything externally.

<comment><USER7> You're missing a fundamental difference between degraded service and being out of service: if an overloaded server handles its maximum number of clients but doesn't crash, then you have time to bring up additional servers to share the load. If an overloaded server _crashes_ instead of limiting the number of clients it serves, you have to staunch the flow of clients further upstream before you can bring more servers up to share the load. This is what the GGGP is saying, and it seems like everyone (including you) are missing his point.

Degrading service, or more accurately, serving the maximum number of clients you can serve _and no more_ is absolutely not the same thing as being down.

Failing/crashing rather than limiting the number of clients you serve is absolutely not established best practice. It's poor practice, in fact.

<comment><USER8> I'm approaching it from the business perspective. If sipport staff are getting calls for poor performance then the product isn't working. End of story. Business units don't care about shades of gray and degraded service. It's binary for them. It's either working or it isn't. Couple that with financial penalties for latency and degraded service means even less. Either you're meeting your SLA or you aren't.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> _Under normal circumstances, there are a large number of supernodes available. Unfortunately, today, many of them were taken offline by a problem affecting some versions of Skype._

So, what was the problem affecting versions of Skype?

<comment><USER10> That's what I've been wondering all day. I didn't have a problem with Skype being down; I had a problem with Skype having exploded this morning, screaming about uncaught exceptions as it did.

Your quote was an "aha" moment for me.

<comment><USER11> So did I, were you travelling at the time? I was in an airport and I figured that it is the weird you have an internet connection but it only takes you to a pay per usage landing page and no other page kind of problem that made Skype barf. I happened to a Java network client too at the same time. I can send you logs Skype!

<comment><USER10> Nope, not traveling. I was just sitting at home and it exploded.

</comment></comment></comment></comment><comment><USER12> This isn't really a post-mortem; they're still in progress on a fix.

<comment><USER13> The title also refers the whole Skype being dead.

</comment></comment><comment><USER14> "Our engineers are creating new 'mega-supernodes' as fast as they can"

What a brilliant solution.

<comment><USER13> It's not a solution, it's a hot-fix.

<comment><USER4> It's a hotfix that does not work [yet].

</comment></comment></comment><comment><USER15> Reading the discussion here reminded me of the outage of AT&T's long-distance network back in 1991. After a bit of searching, I found an interesting-looking document at <http://faqs.org/rfcs/rfc3439.html> entitled "RFC 3439 - <USER2> Internet Architectural Guidelines and Philosophy," which seems relevant here somehow. Though this document outlines considerations pertaining to complexity in Internet backbone architecture, perhaps the overall philosophical questions it poses and guidelines it offers could be instructive as regards the recent Skype meltdown.

As regards the aforementioned 1991 failure of the AT&T long-distance system, which resulted in a service outage of about six hours, the document says:

"The PSTN's SS7 control network provides an interesting example of what can go wrong with a tightly coupled complex system. Outages such as the well publicized 1991 outage of AT&T's SS7 demonstrates the phenomenon: the outage was caused by software bugs in the switches' crash recovery code. In this case, one switch crashed due to a hardware glitch. When this switch came back up, it (plus a reasonably probable timing event) caused its neighbors to crash When the neighboring switches came back up, they caused their neighbors to crash, and so on [NEUMANN] (the root cause turned out to be a misplaced 'break' statement; this is an excellent example of cross- layer coupling). This phenomenon is similar to the phase-locking of weakly coupled oscillators, in which random variations in sequence times plays an important role in system stability [THOMPSON]."

</comment><comment><USER16> But _why_ did a "large umber of supernodes" today get "taken offline by a problem affecting some versions of Skype"?

Synchronized bug in that software – some sort of clock overflow, or update from Skype gone awry?

Or a flaw in that software discovered and exploited by others?

There must be a lot more to this story.

</comment><comment><USER17> This part is pretty cool, but quite subtle: "Earlier today, we noticed that the number of people online on Skype was falling". I mean that they noticed the number going down, not "people started raising tickets saying it doesn't work".

</comment><comment><USER18> How is this a post-mortem? The blog entry does not explain in any way what really happened.

</comment><comment><USER19> does anyone know why skype picked German as the only translation of this message?

<comment><USER20> Because Germans tend to complain the most if free stuff does not work ;-)

<comment><USER21> Very funny.

</comment></comment></comment><comment><USER22> Does anybody know if these supernodes are paid for by Skype or they're simply users' computers being commandeered by Skype (after getting click-through permission).

The explanation doesn't ring true to me because AFAIK supernodes are used only if a direct P2P path cannot be established between caller and callee.

What we're observing is the inability to sign in and see contacts' status. I always thought that was centralized. Are supernodes involved in signin?

<comment><USER23> In theory they can be regular users computers - but unless you have the only PC connected to some small outpost on the internet it's unlikely that it would be you.

Generally it's either a skype or ISP owned machine</comment></comment>


"Congress tells Mozilla that blocking 3rd party cookies endangers children." - <AUTHOR> https://twitter.com/dangillmor/status/369510945401225216 <comment><USER2> Link to letter: [http://stanford.edu/~jmayer/content/Pompeo_Mozilla_Letter.pd...](http://stanford.edu/~jmayer/content/Pompeo_Mozilla_Letter.pdf)

Relevant quote:

        Internet industry publications estimate that Mozilla's overall share of the browser
        market is now approaching 20 percent — a figure large enough that its
        plans to block cookies would have a devastating impact on small businesses and wipe out
        millions of life-saving AMBER Alerts and tornado warnings funded and delivered
        to Firefox users by advertising networks. Concerns have also been raised
        that the value of advertising in terms of lower prices and more choices
        for consumers could be threatened if regimes are stood up that allow
       conglomerates to have too much control over data.</comment>


Show HN: Essential functions in JavaScript in vanilla form (inspired by PHP) - <AUTHOR> https://github.com/amitmerchant1990/essential-vanilla-javascript-functions <comment><USER2> Javascript has array_map called Array.prototype.map(), it has an array_merge method called Array.prototype.concat(), array_reject can be achieved using Array.prototype.filter() and so on. These functions are a poor reimplementation of some native features.

<comment><USER3> The implementation of the functions can be refactored to call the methods of Arrray.prototype and Javascript's prototypical inheritance means that the abstractions in the library will remain robust even if the refactoring were done during runtime.

The value of the library is improving the names of the abstractions over arrays in a way that may better express a particular programmer's thought process. Better expressing a particular programmer's thought process via abstraction is why we don't all write in machine code.

</comment></comment><comment><USER4> Why not actually push a .js file instead of just examples in a readme?

Or, I guess the modern method would be why not publish every line of every function as a separate NPM package?

</comment><comment><USER5> Well, there's always this: [http://locutus.io/php/](http://locutus.io/php/)

PHP functions written in Javascript. Been around for quite a while, actually.</comment>


A Docker Container to Capture All Traffic from Host - <AUTHOR> http://jerrygamblin.com/2016/05/28/a-docker-container-to-capture-all-traffic-from-host/ <comment><USER2> Seems to be down with the error 'ERROR 502 - BAD GATEWAY'</comment>


Ask HN: Looking for C# dev stack advice - <AUTHOR>

I have some C# enterprise type work coming up and am looking for advice or links to good information about what a great C# stack looks like. Specifically I'm wondering what good options are for unit testing, mocking, building, database connectivity, and dev libraries and frameworks.
I have a lot of experience with enterprise Java, for comparison here is what my answer would be for it:
Testing: JUnit, Hamcrest, Mockito Database: Mybatis, Mybatis Migrations Build: Maven or Gradle
Libraries/Frameworks: Guava, Guice, HttpClient, Jersey or Stripes, log4j, Apache Commons
Thanks! <comment><USER2> Hard to answer this question due to the number of possible answers but you can try the following:

Testing: xUnit or nUnit. FsCheck, Fuchu and FSpec, if you want to try a more functional approach. SpecsFor, BDDfy, Fixie, Machine.Specifications for BDD and other approaches.

Mocking: NSubstitute or FakeItEasy

Database: Simple.Data, PetaPoco, Massive for Micro ORM's. Entity Framework and nHibernate for full featured ORM's.

Build: There isn't a Maven/Gradle comparison but you can use NuGet, MSBuild, Fake, pvc build, etc.

Logging: ELMAH, NLog, Glimpse, Serilog

If you need other suggestions, let me know.

</comment><comment><USER3> Oh boy, coming back to C# after a couple of years was a total shock for me. Here are some things that come to mind:

Dependency Injection: NInject

ORM: Entity Framework, Linq

Logging: log4net

Package Management: NuGet

Interface between web applications and web servers: OWIN

Ideas, Books: POCO, Applied Domain Driven Design and Patterns

Libraries: AutoMapper</comment>


Book: Mathematics for Machine Learning - <AUTHOR> https://mml-book.github.io/ <comment><USER2> It's not clear to me who the target audience is for this book. As someone with a graduate degree but not a mathematical background, I'm comfortable reading academic papers, but a lot of this feels over my head. So it reads to me like it's a quick refresher or reference for people who already learned this stuff at some point, rather than an introduction. But the preface says this is to be "a book on Mathematics for Machine Learning that motivates people to learn mathematical concepts."

As a sidebar, it has always seemed to me that there is a giant gulf between truly beginner-friendly math books, which are aimed at children, and introductory math books aimed at adults. The latter almost always read like foreign language textbooks where you must first know the language before you can start, while the former are too elementary. I'd love to find "College level Math for English Majors" or something of the like, if anyone knows of such a book :)

<comment><USER3> There are some decent intro books for adults out there if you don't care about the branch. Honestly, if you're looking for intro math books you really shouldn't care too much about the branch. I think what's more important is to develop mathematical thinking.

Here's some off the top of my head. I really think these will help you build a good foundation for mathematical thinking.

Concrete Mathematics by Graham, Knuth, Patashnik

Spivak's Calculus

How to Prove It by Velleman

Polya's How to Solve It

E.T. Jaynes' Probability Theory

Conceptual Mathematics by Lawvere and Schanuel

<comment><USER4> Gil Strang's books are probably even better for an adult with little math background.

Intro to Linear Algebra: [http://math.mit.edu/~gs/linearalgebra/](http://math.mit.edu/~gs/linearalgebra/)

Strang does a GREAT job explaining the intuition behind linear algebra. The book is targeted at first-year undergrads and an adult with just high-school math could work through it.

Bonus: if you're interested in machine learning, you must learn linear algebra.

More advanced is this Strang masterpiece: Intro to Applied Mathematics. [http://bookstore.siam.org/wc02/](http://bookstore.siam.org/wc02/) It covers a lot of the applied math that we focused on pre-AI and pre-cloud computing. Diff eqs, diffusion equations, Fourier analysis, numerical methods, phase plane analysis, optimization, complex anlaysis.

<comment><USER5> I can't recommend Strang enough. I tend to learn better when I can visualize math concepts, and had such a hard time understanding Linear Algebra until I finally bought a copy of that book. I love that thing, and it still sits in my bookshelf years later.

</comment></comment></comment></comment><comment><USER6> For those interested in a similar resource, CMU offers a "Mathematics for Machine Learning" preparatory course each Fall semester. All of the videos from the 2017 edition are available to watch on YouTube.

Syllabus: [https://canvas.cmu.edu/courses/603/assignments/syllabus](https://canvas.cmu.edu/courses/603/assignments/syllabus)

YouTube playlist: [https://www.youtube.com/playlist?list=PL7y-1rk2cCsAqRtWoZ95z...](https://www.youtube.com/playlist?list=PL7y-1rk2cCsAqRtWoZ95z-GMcecVG5mzA)

<comment><USER7> The syllabus looks good, but all videos have the same title. Is there a "topic" -> "video" mapping somewhere? Couldn't find it on the site.

<comment><USER6> There isn't, unfortunately.

</comment></comment></comment><comment><USER8> Not sure if the authors will read this or not but I beg of you, please put a table of notation in the forward. The Sutton and Barto Reinforcement Learning book did that for basically every notation that wasn't basic algebra and it's been extremely helpful.

Just labeling things I had never seen before, like indicator functions, was extremely valuable.

Especially for this kind of book that is introducing mathematics to people from a broad background - I think it's important to understand how much of an impediment not knowing notation is by sight. Trying to Google or search for notation is a nightmare.

<comment><USER9> The authors are open to feedback. They ask that you report it here: [https://github.com/mml-book/mml- book.github.io/issues](https://github.com/mml-book/mml-book.github.io/issues)

<comment><USER10> I thought this was such a good idea I did it on the parent's behalf:

[https://github.com/mml-book/mml- book.github.io/issues/33](https://github.com/mml-book/mml- book.github.io/issues/33)

</comment></comment></comment><comment><USER11> Here is my feed back, this book appears not to be useful and doesn't seem to provide any intuition to why we use any of the linear algebra to do work with machine learning ... it seems like a undergraduate book filled with descriptions of math. I find there needs to be a bridge to explain why we use vectors, how we model then relate it back to the math.

</comment><comment><USER12> This book is aslo Mathematics for Machine Learning: [https://github.com/soulmachine/machine-learning-cheat- sheet](https://github.com/soulmachine/machine-learning-cheat-sheet)

</comment><comment><USER13> Nowadays, many books cover the elementary mathematics in machine learning. After I learnt these elementary topics, any good suggestions for computational learning theory?

<comment><USER14> [Deleted]

<comment><USER15> Why delete the comment? Useful context for stochastic_monk's reply is missing now. You could always preserve the existing and possibly incorrect comment and append an "Update" or "Edit" section to the comment to override your earlier comment.

<comment><USER16> Essentially, he asked if the above poster had read Elements of Statistical Learning, Murphy's ML textbook, Bishop's PRML, Reinforcement Learning: An Introduction, and Ian Goodfellow's Deep Learning textbook.

I simply clarified that the question was about computational learning theory, a subfield largely started by Leslie Valiant in the form of PAC (Probably Approximately Correct) learning. The difference in emphasis between the machine learning conferences I mentioned helps point out how practical machine learning (like ICML, matching PRML/ML/ESL) and feature extraction/representation learning (like ICLR, perhaps matching portions of both ICML and ICLR), while important, are not what the previous poster was asking about.

</comment></comment></comment></comment><comment><USER17> TheNewBoston's youtube channel also has some nice math videos that might help someone. Not sure if its applicable here. [https://www.youtube.com/watch?v=UxhMTi2bh7k&list=PLAF739DF5F...](https://www.youtube.com/watch?v=UxhMTi2bh7k&list=PLAF739DF5F2D9506C)

</comment><comment><USER18> I've mentioned this on HN before but I think its still relevant to people interested in learning ML who feel they are behind on the math. If, like me, you can't sit thru lots of pages of mathematics text and instead prefer that a human explains it to you via videos that you can replay, here is a list of courses that take you from basic algebra and pre-calculus math all the way to the concepts you need to understand the principles behind the most advanced ML algorithms. All explained by very energetic people who are experts in their fields, and starting from the very basics.

This covers calculus, linear algebra, probability, statistics, convex optimization and a math for ML course thrown in for the HN audience:

(The first two are "MOOCs" recorded in the 1970s! probably the first ever recorded MOOC, even before the internet, and the lecturer is absolute gold)

Calculus Revisited: Single Variable Calculus | MIT [https://ocw.mit.edu/resources/res-18-006-calculus- revisited-...](https://ocw.mit.edu/resources/res-18-006-calculus- revisited-..).

Calculus Revisited: Multivariable Calculus | MIT [https://ocw.mit.edu/resources/res-18-007-calculus- revisited-...](https://ocw.mit.edu/resources/res-18-007-calculus- revisited-..).

Complex Variables, Differential Equations, and Linear Algebra | MIT [https://ocw.mit.edu/resources/res-18-008-calculus- revisited-...](https://ocw.mit.edu/resources/res-18-008-calculus- revisited-..).

Linear Algebra | MIT - [https://www.youtube.com/watch?v=ZK3O402wf1c&list=PLE7DDD9101...](https://www.youtube.com/watch?v=ZK3O402wf1c&list=PLE7DDD9101..).

Introduction to Linear Dynamical Systems |Stanford [https://see.stanford.edu/Course/EE263](https://see.stanford.edu/Course/EE263)

Probability | Harvard [https://www.youtube.com/playlist?list=PL2SOU6wwxB0uwwH80KTQ6...](https://www.youtube.com/playlist?list=PL2SOU6wwxB0uwwH80KTQ6..).

Intermediate Statistics | CMU [https://www.youtube.com/playlist?list=PLcW8xNfZoh7eI7KSWneVW...](https://www.youtube.com/playlist?list=PLcW8xNfZoh7eI7KSWneVW..).

Convex Optimization I | Stanford [https://see.stanford.edu/Course/EE364A](https://see.stanford.edu/Course/EE364A)

Math Background for ML | CMU [https://www.youtube.com/playlist?list=PL7y-1rk2cCsA339crwXMW...](https://www.youtube.com/playlist?list=PL7y-1rk2cCsA339crwXMW..).

<comment><USER19> These are great resources, but the ultimate approach is wrong. In order to truly learn math, you _must_ be willing to invest the time and "sit through lots of pages of mathematics text" and also do a ton of problems, many of which will take hours and some which will require days of thinking.

I you aren't willing to invest the energy and effort to do that, all the video watching won't do anything for you. It will get you 5% of the way at best. The true learning comes from staring at a problem for hours, trying 100 dead ends, and then finally having an insight two days later while taking a shower that suddenly make that intractable problem seem trivial.

<comment><USER20> _These are great resources, but the ultimate approach is wrong. In order to truly learn math, you must be willing to invest the time and "sit through lots of pages of mathematics text" and also do a ton of problems, many of which will take hours and some which will require days of thinking._

These things aren't mutually exclusive. I don't know about anybody else, but I'd rather watch a video of a human explaining the subject, _then_ sit down with a textbook and start working through problems.

<comment><USER19> Of course they're not, but OP kind of implied that it wasn't necessary to read a lot of pages of mathematics when he said

> you can't sit thru lots of pages of mathematics text

Even if you watch those videos, you still need to sit through lots of pages of mathematics if you want to master the subject.</comment></comment></comment></comment>


Show HN: See what makes presidential candidates' hearts beat faster (Live) - <AUTHOR> https://www.hearty.ai <comment><USER2> I assume they are using the theory/algorithm from the MIT video magnification work: [http://people.csail.mit.edu/mrub/vidmag/](http://people.csail.mit.edu/mrub/vidmag/)

<comment><AUTHOR> For this purpose, MIT's Eulerian Video Magnification is next to impossible when you have both color changes and large motions (it is better suited to magnifying small motions, or subtle color changes in unmoving patches). NASA Glenn's thearn has developed another approach which has the same problems ([https://github.com/thearn/webcam-pulse- detector](https://github.com/thearn/webcam-pulse-detector)). We developed our own solution, involving (among other things) pixel-accurate facial feature detection and filtering methods not subject to FFT's regularity assumption

</comment></comment><comment><USER3> There's now a blog post with some analysis on this: [https://hearty785.wordpress.com/](https://hearty785.wordpress.com/)

</comment><comment><USER4> This is awesome. I fear how accurate it might be, though. Even if the technology is accurate (i believe it is), this, like most things with this presidential campaign, seems prone to fudging.

</comment><comment><USER5> how do we know whether this is true or not?

<comment><AUTHOR> You can try the algorithm yourself if you scroll down, then double check with your webcam and your own pulse ;-). Note that motion compensation is disabled for this demo, so it only works well if you do not move for a few seconds (the reason being that the pixel-accurate facial feature and skin detection algorithms would kill the server if 2-3 people try at the same time).</comment></comment>