Business questions engineers should ask when interviewing at ML/AI companies - <AUTHOR> https://medium.com/@danielgross/seven-questions-to-ask-when-interviewing-for-an-ml-job-1963ccee3a19 <comment><USER3> Anybody recognizes how similar these questions are to what an investor would ask? This is what I'm always telling developers. You are an investor. You invest your life, health, best hours of 5+ days a week, ambition. Your investment is not as important to the company as a few million bucks would be, but to you it should be more valuable than a few million bucks. It's all you have. And you want to give it to someone in exchange for money, you better make sure that someone is worth your investment. So read what investors are asking a prospect company, and ask the same questions. Only accept if you would give them a million bucks.

<comment><USER4> Randy Pausch said it best (paraphrase), "You can always make more money, you can never get more time." It's the most valuable thing you have, and one way or another you are investing in a place where you work.

<comment><USER5> Thanks for reminding me. The Last Lecture is good. Since it's about 9 years ago, some younger HN readers may have missed it: [https://www.youtube.com/watch?v=ji5_MqicxSo](https://www.youtube.com/watch?v=ji5_MqicxSo)

Cancer sucks.

<comment><USER3> > Carnegie Mellon Professor Randy Pausch (Oct. 23, 1960 - July 25, 2008) gave > his last lecture at the university Sept. 18, 2007, before a packed McConomy > Auditorium.

So, actually 10 years ago already. Time flies.

</comment></comment></comment></comment><comment><USER6> After working for a few companies who (tried to) make ML products, I think one of the most important questions to ask is "who owns the data you are building models on?". It is way harder for a company to build good models off data they don't have complete access to and full knowledge about. The worst (and unfortunately common) scenario for companies trying to do AI is that data scientists don't have full access to all priors necessary to build good models, and the owners of the data don't really know much about it either. Spells death of company

<comment><USER7> Well said. It is a good tester of knowing how clear the people understand the problem themselves. Many people (particularly non-science background ones, no offence) don't know which kind of data they should access to build a product and, even worse, whether they have access to the data.

Not knowing the answer of this question = they do not know they are travelling on Titanic at best, if not a boat full of holes.

</comment></comment><comment><USER8> The fastest way to make progress on these business questions is often to build hacky MVPs that look like they're doing something smart, but behind the scenes are powered by humans or dead-simple algorithms, and get them in front of customers ASAP.

I recently joined a seed-stage startup solving a business problem via audio analysis in the manner I described above. I'm not spending much time doing ML yet, but I'm banking on my belief that we're solving a valuable problem (customers want to buy our hacky MVP) and that ML can and will be needed to scale our solution. By deeply understanding the customer as a first step, I think the ML systems we build will be business critical and enduring. Time will tell

<comment><USER9> > dead-simple algorithms

The most successful models I've ever built have been logistic regression models. If you can rephrase your problem in a way that's amenable to run-of- the-mill statistical techniques, you can frequently achieve much better results than you can with 'deep learning'.

<comment><USER10> If you're going to do logistic regression, at least call it a single-layer neural network with a sigmoid activation function.

<comment><USER11> So true. I have had to do this.

I had a pretty good regression model but it was not taken seriously. So I wrote it using "a neural network in TensorFlow" and the next thing you know the whole company is asking me how it works and what it does.

</comment></comment></comment></comment><comment><USER12> Or, you can't figure out how AI is helping solve the problem they claim to solve, and you realize they are just throwing every buzzword out there in hopes you'll be impressed.

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

<comment><USER13> Presumably someone with a background in ML/AI can cut through the buzzwords used by ML/AI businesses.

<comment><USER12> Sounds like a good use of ML. Buzzword detector with auto-remove.

<comment><USER14> then it would be empty content :|

</comment></comment></comment></comment><comment><USER15> > Google got great because of PageRank, but it stayed great due to network > effects.

I think this overstates network effects and under-appreciates branding and simply reinvesting significant capital into continued R&D.

<comment><AUTHOR> Agreed. There are many flavors of moats. I originally wrote something more complex but it quickly turned into an amateur HBS study about Google. I hope the point is interpreted more metaphorically.

<comment><USER16> I would suggest that in many cases the "data network effect" advantage of ML startups is overappreciated relative to the branding advantage they have. For example, DDG and others can, for the most part, match Google in quality of search, but almost no one will use them because of entrenched branding, this is especially true IMO in smaller ML vertical industries ideal for startups. e.g., if there is only room for one ML company that analyzes farm pipe leaks through camera, then branding and market dominance helps considerably there.

I may be wrong, I'm (mostly) a DL hardware guy, this is just my two cents :)

<comment><USER17> >For example, DDG and others can, for the most part, match Google in quality of search

Even for the long tail? I'm pretty skeptical of this.

<comment><USER18> Google will I'm sure vehemently deny that it is unbeatable but I think with 60k+ searches every second, Google will keep getting better. I think Google is unbeatable in search as we know it.

<comment><USER19> I'm not counting out google, but there are only two searches that actually count from a business perspective. product and services. All the rest are cost of doing business.

If you do your research on google and then buy from amazon or somewhere else and don't use the adword link google's business strategy fails.

</comment></comment></comment></comment></comment></comment><comment><USER20> "Why does anyone need this? Like all advice, this sounds deceptively simple. But make sure you get a very compelling answer here."

Right now I'm at the Web Summit, in Lisbon. I saw a few ML/AI startups here, but I was surprised there weren't a lot more. There was some imbalance. There were many startups trying to create new online social networks for niche groups -- business professionals, women, entrepreneurs, sales professionals, etc. I do think there is some innovation that can happen in social networks, but generally I regard it as an over-crowded space. For the most part, the benefits offered by the Internet seemed to have been mostly absorbed by the 1994-2008 cycle, and what's left is fairly minor compared to what happened previously.

One of the few areas where I still see the possibility of significant traction (the creation of large companies) is with information gathering and a combination of ML and NLP. We've already seen a wave of startups which were no more than pretty GUIs over existing technology. At the risk of being unfair, BigML.com is just a nice interface over existing ML tools, and API.ai is just a nice interface over some NLP tools. AmenityAnalytics goes a bit further combining their web scraping and NLP scripts with a nice interface that customers can use to filter the incoming data. But there is still a wide space for companies to go much further in this field.

All the same, I agree this is a good question: "Why does anyone need this?" You should really ask it whenever you are joining any startup.

<comment><USER21> "It's like Facebook, but for $group"

Groan

</comment></comment><comment><USER22> Typical of SV to focus solely on the business viability of a firm to the detriment of everything else. I'd like to work somewhere knowing that I have a clean conscience. Why not add:

Where do you get your data from?

If your data is sourced from users of your product, do you tell them what you're collecting?

<comment><USER23> They essentially all say "tell" their users where they are getting the data. It's in the privacy policy. But people don't read it.

<comment><USER24> Exactly. Informing the user does nothing except maybe clear your conscience. Expecting the user to extrapolate to how you will use that data, what will be inferred from it, what risks come with centralizing and storing it, all of that is not the users job. It's the job of the collector to be as conservative as possible. Any company that treats users privacy as a resource to be extracted is not somewhere I want to work.

</comment></comment></comment><comment><USER25> Some other questions I would want the answers to:

1) Is a Non-Compete Agreement required and what are the terms (time and geographic coverage; compensation during the non-compete time frame)?

2) Is the company going to assert ownership over IP created before employment began?

3) Is the company going to assert ownership over IP created that is unrelated to current responsibilities (or IP in a area unrelated to the company's current business), especially IP created on the employee's own time, not using any company resources?

<comment><USER26> These are great questions to ask _any_ company, not just AI/ML companies. Also, if you're planning to do it:

4) What is the companies policy on employees moonlighting / doing side contract work for other companies not related to it's business?

Inquire about this _before_ you get your offer. Ask me how I know...

EDIT: Another one, which is kind of risky but I personally think is important and would ask any small company:

5) How transparent/open are you about the company's financial health? Are the books open or semi-open?

Keeping in mind that some companies will not share this information and may even find the question offensive. One time I asked the owner/founder this, and he would not share--I found out later through a side channel that he was very offended that I asked for this information (but hired me anyway because he needed someone like me).

<comment><USER27> Red flag if asking this question courteously causes offence.

</comment></comment></comment><comment><USER28> The best use of these questions is to get an idea whether your equity might be worth anything. Ask how many customers they have, how fast they're growing, how long does it take to onboard customers, etc. What do they see as an exit (is it a 10M, 100M, 500M a unicorn?). When do they see it happening?

If, let's say, you have 0.01% of a Series A that exits at a billion in five years. You'd expect to be diluted by half and there is around a 20% chance of exit that high so roughly ((0.01% _billion) /2)_.20 /5 or about 2k a year in 'expected value'(or why, numerically at least, it's likely not worth it to take a paycut to work at a startup unless you're seeing substantial equity).

<comment><USER29> Please let me know where I can find today's Series A ready companies that have a 20% chance of being worth $1b in 5 years time.

That figure probably oughta be at least one order of magnitude less.

</comment></comment><comment><USER30> Did any of you succeed in asking such questions to companies (ML/AL or not) and ended up receiving reasonable responses to your questions?

My experiences have never been great when asking such loaded questions. To be clear, I interviewed extensively at small startups and I'm only taking those interviews into consideration for this comment.

The HR and technical interviewers dedicate a large amount of time for questioning you, and reserve the last few minutes to answer your questions. I lost count of how many times the interviewers would just blabber something meaningless in a rush, rather than answer a questions with patience and honesty. Of course, I made my decisions on whether or not to join the team based on such experiences. However, I cannot think of any remarkable instances where the interviewers answered such questions without getting impatient.

Any chats with directors/PMs/C-level executives _after_ receiving an offer were also not very informative. I walked out several times going in and coming back from such chats with no questions properly answered because: (a) they are still figuring out, or (b) they cannot discuss certain details because you haven't said yes to them.

<comment><USER31> I always answered this for Graphistry candidates. We take a vertical data product mindset to AI -- so just one solid piece of solving the human-in-the- loop investigation problem for security and fraud teams trying to help their responders get a handle on incidents/APIs/logs -- so perhaps we're less concerned about image. For startups with real tech, competition shouldn't be the thing that matters, but execution.

For us, a great interview is one where the candidate teaches us and thereby demonstrates the potential to be a force multiplier for the team. Also, someone asking these kinds of questions suggests we may be able to put them in front of a customer!

</comment></comment><comment><USER32> This is really solid advice when looking at it backwards too--if you, as a founder, cannot produce reasonable and compelling answers to these questions, you don't know what you're doing, where you're going, or how to actually get there.

Great read.

</comment><comment><USER33> Not sure why ML/AI is in the title. Seems applicable to any startup.

<comment><USER34> it's 2017. half of YC startups have AI in the pitch.

<comment><USER35> AI is the new UI...

</comment></comment></comment><comment><USER36> These questions should be asked about every startup, not only ML/AI.

</comment><comment><USER37> I am in academia, but some of my students have returned somewhat disgruntled from their internships in companies claiming to do machine learning, while in practice their systems were primarily rule-based and the work consisted of writing rules [1].

I now recommend students to find out whether companies are just name dropping ML or doing serious ML work. Typically, the best way is to ask former employees/interns. But I question directed at this also would not hurt.

[1] There is nothing wrong with that, but it sets the wrong expectations.

<comment><USER38> I work in industry (sort of) and this is very true.

One of the reasons for this is that the people designing the systems don't know how to do anything else.

There's such a huge, huge gap between using ML to do the same thing everyone else is doing (say... image classification, or maybe regression on volume vs sales...) and solving unique business problems using ML.

</comment></comment><comment><USER39> So, if I'm interviewing with a startup in AI, and asked all these questions, how many good answers I should expect? Is it ok for a startup to have a defensible business to solve a problem 10x better, knows how to make money in a big market, but have no experience in marketing and haven't talked to many potentially users?

As a wanna be startup founder, I found my ideas have bad answers to at least 2-3 of these questions.

<comment><USER40> > haven't talked to many potentially users?

Any bad answer to these questions is a showstopper, yes. It's an indicator that this company is definitely going to fail.

In your example, not having talked to many customers is the classical Juicero approach: Build a solution, then search for a problem that this solution is solving.

Not talking to customers means not understanding if there is demand for something, and if there are customers who would like to pay for a solution. (Problems exist in markets where target groups are not used or not willing to pay for digital solutions)

If you're starting out, I highly recommend reading the blog of Amy Hoy and Alex Hillmann ([https://stackingthebricks.com/](https://stackingthebricks.com/)) - <USER2> defend the idea to first go on a "sales safari" where you simply obvserve your target group, and _then_ find a solution for their pains.

As a founder, you want to continuously talk to potenttial customers about your idea or your prototype: make them use it and perform thinking-aloud tests.

<comment><USER39> Good points. But how many customers you talk to is enough? If I'm building a product for enterprise, is talking to one keen potential customer enough? For a first time founder, I can't imagine someone without much connections can get the chance to talk to multiple potential enterprise customers.

What about a product targeting the mass market, if I'm building a mobile app, is talking to a dozen friends enough? or should I pay for a market research which can reach hundreds of strangers.

Do you talk to customers with prototypes of the features or do you just have a basic skeleton and say 'what if I have this and that'?

I actually subscribed to Amy Hoy's mailing list but haven't checked it out for a while...

</comment></comment></comment><comment><USER41> >> 2\. How was this problem being solved before the AI came around? Was the pre-AI "manual" solution good enough? Common answer: "we're replacing humans." That isn't enough. Often having a human is desirable (bedside manner, dexterity, perfection a requirement). Often a human is affordable due to margin structure. You're looking to get a sense that the product provided is something that was never possible before, 10X better, or just-as-good but 10X cheaper. Not 20% cheaper. 10X.

That "10X" sounds like a bit of a heuristic, but is it a good one? Surely, what you're looking for is some assurance that the rewards from the use of machine learning justify its cost and that the profit the company can make out of it is higher than the profit they would be (or were) making without it?

It doesn't even matter even the profit is really much higher. In business, as in war (and, er, board games) any edge you can get is enough to push ahead. If a company can make even 1% more of what it did before, thanks to some new technology or whatever other trick, then that trick is worth pursuing in earnest.

<comment><USER19> I was going to say something about that my self.

I'm thinking it's more like this TED talk about something being remarkable: [https://www.ted.com/talks/seth_godin_on_sliced_bread](https://www.ted.com/talks/seth_godin_on_sliced_bread)

</comment></comment><comment><USER42> Should the engineers ask the same question when a high profile VC, like YC have already invested on the company? The questions look more like what a VC should (have) asked before funding.

Many ML/AI companies especially if funded and therefore highly visible may get acquired as the market is very hot. Isn't that good for the engineers?

<comment><USER43> > Many ML/AI companies especially if funded and therefore highly visible may > get acquired as the market is very hot. Isn't that good for the engineers?

Only if the potential acquirers are happy with the answers to the same questions. As a percentage of net worth, individual engineers have a lot more at stake than VC's or potential acquirers.

<comment><USER42> Most of the big companies(apple/google/microsoft/fb/amazon) at current stage are acquiring for talent/IP, not necessarily market fit.. they do have enough money to do the R&D without worrying about finding a market fit soon

</comment></comment></comment><comment><USER44> You can't really ask the hard questions during the interview phase. Before you get a job offer, they have all the leverage, and people don't like being asked hard questions when they're the ones interviewing.

Best thing to do is try to get a contact inside the company, then when you get the offer, call back and start asking those questions.

Even better still - don't agree to an interview unless you know in advance that the job will move your career in a good direction, then don't even bother asking questions. It's not like they have to tell you the truth anyway.

<comment><USER45> "Before you get a job offer, they have all the leverage"

Only if you are in a situation where you need _this_ job, right now. Try to avoid being in that situation. It isn't always possible, no, but there are reasonably steps you can take to try, such as prioritizing saving up a cushion over creature comforts and applying for multiple jobs.

And if you are good at a hot tech, which ML is right now, you probably do have some leverage just from rarity.

Yes, the perfectly free market of labor may be a theoretical construct, but don't give in to the despair that you have _no_ control over your employment and that they have _all_ the power. It'll become a self-fulfilling prophecy.

<comment><USER44> True; I mean to say until you have a job offer, you have no idea whether or not they are willing to negotiate anything with you. It's easy to fool yourself based on how friendly your interviewers are. So many times I've come out of the interview feeling like I got the job and then been told that they're going in a different direction.

</comment></comment></comment><comment><USER46> The gotcha here is that most desirable AI startups SV wants to fund now (understandably) follow a pattern more closely described here: [http://www.bradfordcross.com/blog/2017/6/13/vertical-ai- star...](http://www.bradfordcross.com/blog/2017/6/13/vertical-ai-startups- solving-industry-specific-problems-by-combining-ai-and-subject-matter- expertise)

Generally, their advantage is in the way they use data to solve a vertical specific problem. They more "bolt on" AI. AI isn't really the focus of most of these companies. This is just what investors want to hear about.

The article here isn't calling them out specifically, but AI infra startups are what are being discussed here as the "hammer looking for a nail" startup.

YC funded a few of them including Skymind (my company) and deepgram (mainly audio). There are a lot more of these startups such as vicarious that mainly publish papers but raise tons of funding hoping for a deepmind style exit (they didn't really have a business model).

With that context out of the way, I'll also maybe just state some learnings from the other side of the table.

Skymind has typically made money trying to reduce dependencies on cloud providers by decoupling the AI infra from google cloud and co from the cloud provider itself.

A horizontal play like this is by its nature very hard. We maintain the whole stack including our own framework. We also started in 2014 and have a decent foothold in enterprise. I wouldn't recommend trying to do this in 2017.

That being said, one other semi similar horizontal AI startup that is being started are the chip companies. Those are _significantly_ harder to run than even what we're doing.

The most common "failed" type of startup that I think of when we think "horizontal" plays are Machine Learning as a service, which is hugely a loss leader for the various cloud providers (some companies are building on top of these providers though).

This is where you see Metamind, Alchemy API, Scaled Inference (founded in 2015), even Nervana before they sold were trying to a "nervana asic cloud" among others.

Maybe a lot of investors from SV view this as a waste of time dissecting, but I would personally love to see a bit more content on acknowledging some of these trends in the market.

The allure of "AI as a service" and the horizontal dev tools infra play is that you can try to build the next AWS similar to what the container and database companies are trying to do. Execution is definitely key for this to work though. Research also can't be the primary focus.

I won't comment on what will or won't work there

</comment><comment><USER47> So. Much. B.S.

There's only one question they need to ask:

"How much are you going to pay me?"

Edit: The reason anyone would wax poetically about everything else is because he or she realizes that they are not being paid enough. It is like day trading - the moment it goes against a bad trader he or she calls it "investment"

Edit: Thanks for the down votes! It makes me feel warm and fuzzy inside to know that it is still possible to swindle people!

<comment><USER48> Nah. This is a good list of questions. Partly because startups will include equity, and you need to know these things (and more) to make a guess at valuing the equity. And partly because a company without strong answers is likely to be out of business soon; changing jobs unexpectedly can be expensive, especially if you get stiffed on wages.

But mostly because it really sucks to spend a couple of years building stuff that never gets used. There are a few people who seem happy to get paid even if nothing is achieved. But most engineers I know do the work because the like building things that get used, things that are valuable.

<comment><USER49> Unless you are employee #1-5, the correct approach to valuing equity is to not consider it to be worth anything. For employees 1-5, divide the numbers the CEO gives you by at least 10 to account for risk, and then demand a competitive base pay.

<comment><USER48> Yes and no. I agree should expect zero to come out of it, as it's a pretty low probability you'll see anything. But you still have to do the work of valuing it.

First off, the people you're negotiating with see it as valuable, so it's a very bad negotiating move to say, "Keep your dumb equity and just give me cash." You'd be slightly better off just pointing to their family photo and saying, "Wow, your kids are ugly." Second, going through the work of valuing equity is necessary to see how the investors (that is, they people actually paying your salary) look at the company. Third, on the off chance you are successful, you're going to really wish you took the equity part of the negotiation seriously.

<comment><USER49> People you're negotiating with want you to buy their line that their equity is worth something so they could pay you less. What would you get as eg employee #10? Half a percent or less. Most startups exit under $100M, and your 0.5% turns into 0.25% due to dilution. It's also vested over 4 years. We're talking $250k max over 4 years, with a 5% chance you'll get anything at all. You'd have to be seriously arithmetically challenged to take that seriously.

<comment><USER47> People are arithmetically challenged. People also like to boast about doing good etc. Typically they realize how stupidly naive they were just around the time they no longer have ability to say "That's nice to know. So how much are you going to pay me?"

The down votes on calling spade a spade demonstrate it quite well

</comment></comment></comment></comment></comment></comment><comment><USER50> If startup: When do you need the next financing round?

</comment><comment><USER51> While I appreciate the nature of these questions, many of them exclude network-driven consumer businesses. You know, those like Tinder, Facebook, Twitter, Medium, Yelp, FourSquare... If you're spending time with a consumer company like that, I'd focus less on LTV and more on organic growth rate.

</comment><comment><USER52> > "Reverse engineering from the technology to the market almost never works."

Completely disagree.

If the technology is creating some value for someone, and

if you have only one smart business dude that knows how to approach the right people and validate markets,

reverse engineering from technology to market _does_ work.

Source: Did that myself.

<comment><USER53> _almost_ never works.

Countless examples of where it fails.

<comment><USER54> Then again, almost all startups fail. Knowing what worked and the circumstances that made it work matters.

</comment></comment></comment><comment><USER55> Question 6. How often do people talk about ARPUs with potential hires? I am sure people will tell you that there are 150 million potential users but not their revenue models. It is easy to under shoot or overshoot ARPU.

</comment><comment><USER13> Shouldn't the interviewing engineer know the answers to these business questions beforehand during their research of the company? (particularly if the company is upfront about their ML/AI-usage)

<comment><USER33> Usually you're only going to get good answers to these questions after they've made you an offer.

</comment></comment><comment><USER56> Is it different from [https://en.wikipedia.org/wiki/Wisdom_of_the_crowd](https://en.wikipedia.org/wiki/Wisdom_of_the_crowd)

</comment><comment><USER57> Yes, quite good actually.

Unfortunately, sometimes the hype is so strong, the cart comes before the horse and gets acquired for quite a lot - which is why these companies exist.

</comment><comment><USER58> This advice applies to all kinds of fledgling businesses, not just ML/AI.

</comment><comment><USER59> Good questions, and they apply to many more companies than just ML/AI

</comment><comment><USER60> This is silly. You're the one being evaluated here. Can you code, or are you just a "sophisticated" smartass?

The trick is to find out all these answers WITHOUT asking the interviewer.

</comment><comment><USER61> And here I was thinking these would be questions about the moral / ethical / social implications of the ways in which many companies use these technologies..</comment>


Show HN: Secure Digital Archive for the Paranoid - java-man http://www.goryachev.com/products/secure-archive/

<comment><AUTHOR> As an alternative, I'm using a dedicated KeePass container to keep some files (scanned contracts and medical records). It's not super browseable, but for a secure storage of a few files, it's fine.

<comment> java-man One specific case I wanted to address is a continuous backup of all my projects, pictures, and documents. I also wanted to browse the archive and the revision history. This is somewhat different problem than one that can be solved by KeePass, TrueCrypt/CipherShed, or Crashplan. Is this a problem that other people have - that is the question.

<comment><USER2> I understand you, java-man, but happily there are a lot of people that also understand. Check out git-annex[1], it is the best solution I've found until now for managing all my notes, uncomplete written things, pictures, audio recordings, chat logs, everything.

[1]: [http://git-annex.branchable.com/](http://git-annex.branchable.com/)

<comment> java-man Thanks for referring git-annex. I like their "what git-annex is not" section. All I wanted is to have a secure backup/archiving solution with a GUI and thumbnails for large and raw picture files.

</comment></comment></comment></comment><comment><USER3> Looks good. What is your business model?

<comment> java-man No idea. I just like bulding software tools. If enough people like this tool, it might grow into a more useful product.

I am considering adding either a cloud storage option, or some kind of private cloud (like Aerofs). The current version is just a prototype, no redundancy.</comment></comment>


Man vs. Machine: Exploring the Epic Chess Match of Our Time [video] - <AUTHOR> http://fivethirtyeight.com/features/the-man-vs-the-machine-fivethirtyeight-films-signals/ <comment><USER2> Funny, I stumble upon this documentary while I'm reading [http://www.nybooks.com/articles/archives/2010/feb/11/the- che...](http://www.nybooks.com/articles/archives/2010/feb/11/the-chess-master- and-the-computer/) \- which I highly recommend.</comment>


PHP 5.5.0 Alpha 6 - Released - <AUTHOR> http://php.net/archive/2013.php#id2013-03-07-1 <comment><USER2> For those wondering what the new features for PHP 5.5 are at this point, here is a small (not complete) list:

Large language changes:

* Generators and coroutines (<https://wiki.php.net/rfc/generators> by me)

* `finally` blocks (<https://wiki.php.net/rfc/finally> by laruence)

Syntactic sugar:

* Support for function calls in `empty()` (<https://wiki.php.net/rfc/empty_isset_exprs> by me)

* Support for `list()` in foreach (<https://wiki.php.net/rfc/foreachlist> by laruence)

* Constant array/string dereferencing (<https://wiki.php.net/rfc/constdereference> by laruence)

* Getting the fully qualified class name using `ClassName::class` (<https://wiki.php.net/rfc/class_name_scalars> by ralph)

Standard library:

* Simplified password hashing API (<https://wiki.php.net/rfc/password_hash> by ircmaxell)

* `hash_pbkdf2()` function (<https://wiki.php.net/rfc/hash_pbkdf2> by ircmaxell)

* DateTimeImmutable, which is an immutable variant of DateTime (by derick)

Key anti-features (aka BC breaks):

* Dropped Windows XP and 2003 support (by pierre)

* ext/mysql deprecated (<https://wiki.php.net/rfc/mysql_deprecation> by aharvey)

* preg_replace /e modifier deprecated (<https://wiki.php.net/rfc/remove_preg_replace_eval_modifier> by me)

* Logo GUIDs removed (by ajf)

For the beta 1 (the next planned released) at least two more things are planned:

* Bundling of ZendOptimizer+ (<https://wiki.php.net/rfc/optimizerplus> by zeev)

* Allowing non-scalar Iterator keys in foreach (<https://wiki.php.net/rfc/foreach-non-scalar-keys> by me)

<comment><USER3> I feel like there are dark factors at play for dropping the XP support. Although the most thorough discussion of it is at [http://programmers.stackexchange.com/questions/177732/why- wa...](http://programmers.stackexchange.com/questions/177732/why-was-support- for-windows-xp-dropped-in-php-5-5), the conspiracist in me says that Microsoft (pierre's employer) pressured him to drop support - even though it wasn't entirely necessary to do so.

<comment><USER4> The answers in that thread seem to be reasonable. XP is a decade-old OS, we should be glad that it will finally pass on April 2014. Supporting multiple operating systems takes time, especially for one that old. At some point it's best to move on.

If your company is affected by lack of XP support in this PHP build, it should be a temporary convenience at worst. What are your plans to migrate off XP over the next year? As of next April there will be no patches or security fixes coming for XP. Is your company planning on paying Microsoft for continued support, or will it negotiate extended XP support in return for buying company-wide Windows 8 licenses and start the ride over again?

I suspect that many of the people using XP today are frozen and wouldn't upgrade their PHP anyway, for the same reasons they're using XP and IE6. They either don't want to change their software because of cost/risk issues or the people who wrote it moved on years ago and they have no idea how it works.

<comment><USER5> I think you're right about the reasons for not upgrading. For orgs still using IE6 and XP, statistically it's very likely they're _not_ going to be doing new development in PHP 5.5. (statistics pulled from thin air based on 15 years of experience with PHP and orbs who use it).

There's not been any security patches for PHP 4 for many years, but people still use it. Those same sorts of orgs will continue to use stuff out of date and unsupported for any number of reasons. Catering development processes around an increasingly small number of users doesn't make sense.

</comment></comment></comment></comment><comment><USER5> This is at best meta, or at worst off-topic, but I have to say with 30+ comments at the moment, this is one of the best post/discussions I've read on HN with PHP as a main focus so far - technical, no flaming, some good insights and links. Thanks everyone :)

<comment><USER6> This won't add much either. I was kind of hoping for a flame-war but the feedback proved to be much more interesting than reading old clichés.

</comment></comment><comment><USER7> I'd like to get a sense of how often the PHP community tends to upgrade languages and frameworks for legacy products. Always/Never? Anyone care to provide some anecdote?

For example, I have two Rails apps that are running on Rails 2.2.x, so yeah, they're way behind, and I feel some sense of urgency to upgrade them soon... but I believe I am an outlier in the Ruby/Rails community in the sense that I am not upgrading all the time.

<comment><USER8> Personally, I always wait at least one year before upgrading PHP. There are always segfault or security issues or odd problems in a 5.x.0 release. It's around 5.x.4 that it becomes just stable enough to use.

About a month or two before I decide to upgrade I run the newer version locally while I'm developing (but being sure to not use any newer features). This usually weeds out any major incompatibilities and fix new warnings.

That said, I'm running 5.3 in production and have no real plans to upgrade to 5.4 anytime soon.

<comment><USER9> >That said, I'm running 5.3 in production and have no real plans to upgrade to 5.4 anytime soon.

May I ask: why not?

<comment><USER8> There is no real compelling reason for me to upgrade. The short array syntax is nice but it's not worth spending a day or more interrupting everyone's dev environments and building packages and introducing (potential) instability into something that I live off of.

<comment><USER10> You build the packages yourself? Is there a special reason why you need to do this?

<comment><USER8> Consistency. I use the system packages right now and Ubuntu does some tricks with the config that I'm used to.

<comment><USER11> Can you be more specific?

If you want to see the patches go into the Debian/Ubuntu packages, run apt-get source php5 and look at the php5-$version/debian/patches directory. The build process uses a quilt wrapper (dh_quilt_patch) to apply them in the correct order. There are patches for building (in general or for a specific architecture), segmentation faults, security issues, manual pages and very few configuration changes (mostly just FHS compliance).

<comment><USER8> That's pretty much exactly what I try to do. I grab the sources for the package and upgrade the underlying php version. I usually have to grab the PHP sources from a newer version of Ubuntu and modify it until it builds.

<comment><USER11> I've BTDT and it's tedious at times. Try this PPA: <https://launchpad.net/~ondrej/+archive/php5>

Fedora users have it easy, the packages there are mere days behind: <https://admin.fedoraproject.org/updates/php>

With a bit of experimenting you can easily do a network install of a headless Fedora/SL/CentOS in KVM using virt-install and a kickstart file. Use filesystem passthrough to access your source files, run php-fpm and configure its address as a backend in your web server. Keep SELinux enabled, but adjust it to your needs using setsebool if necessary.

<comment><USER8> That first link looks like exactly what I need, thank you!

I've tried Fedora in the past. I found it unstable and broken and I don't like RPM very much. It's undoubtedly improved since I last tried it (c. 2005-2006) but I don't miss RPM at all.

<comment><USER11> RPM is fine, I'm more worried about Journald, Systemd and the like. The programs they replace are much more elegant and simple by design.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> It should be noted that the release of 5.5.0 could be delayed a bit, due to the late addition of Zend Optimizer+ [0] (an opcode cache) being included into the core release like APC.

However there's a lot of arguing on php.internals about whether or not the right number of votes was reached (based on a not-specific-enough RFC on voting) so it may not even make it in.

[0]: [http://files.zend.com/help/Zend-Server-Community- Edition/con...](http://files.zend.com/help/Zend-Server-Community- Edition/content/optimizer_plus_component.htm)

<comment><USER13> So is Zend Optimizer meant to replace APC altogether, or just co-exist with APC? I've been using APC quite extensively assuming it would make it into the core eventually.

<comment><USER14> Besides opcode caching, APC provides shared key-value storage. I don't really see why they chose Zend over APC as a standard opcache. Also, they are incompatible and cannot run together.

<comment><USER2> We will provide a separate extension (currently called "apcu") which contains only the user-cache part of APC. ZO+ and that extension together should behave the same way as APC currently does. This will actually work even better, because both components will be completely separate (the shared cache had fragmentation issues in APC.)

ZO+ was chosen over APC because it is more stable. ZO+ is (more or less) PHP 5.5 compatible already, whereas APC still tries to cope with 5.4 compatibility.

<comment><USER13> That's great, thanks for sharing.

</comment></comment></comment></comment></comment><comment><USER13> Any noteworthy changes on 5.5 overall? I'm happy the language is moving forward with a seemingly faster traction than before (github effect?), but I haven't heard of any game changing feature getting implemented yet since quite a while. Still waiting for a object literals syntax myself.

<comment><USER3> The new changes I'm looking forward to are the password hashing API, scalar type hints and generators.

I'm also looking forward to 3 things that AREN'T going to be there: register_global, safe mode, and magic_quotes

<comment><USER15> In the meantime, I really enjoy using Marco Arment's Bcrypt PHP class: <https://gist.github.com/marcoarment/1053158>

<comment><USER16> Bcrypt? It's all about scrypt these days. [http://stackoverflow.com/questions/10149554/are-there-any- ph...](http://stackoverflow.com/questions/10149554/are-there-any-php- implementations-of-scrypt)

</comment></comment></comment></comment><comment><USER17> Does someone know how the test suite works? The way I understand [0] there currently 66 failing tests for the 5.5 line. Is this correct?

[0] <http://gcov.php.net/viewer.php?version=PHP_5_5></comment>


NSA Boss Says US Gov't Needs To Stop Journalists Reporting On Snowden Leaks - <AUTHOR> http://science.dodlive.mil/2013/10/24/i-spy-no-lie/

<comment><USER2> When everyone else is the world is breaking more and more about how invasive these programs are a .mil blog is reporting otherwise. Hmm..</comment>


Show HN: Monitorbook – Easily track anything on the web - <AUTHOR> http://monitorbook.com <comment><USER2> Copywriter here. Good writing is concrete. Instead of telling me that I can monitor things, give me examples (You can monitor prices online, etc.)

</comment><comment><USER3> Here's a business case for how this could be useful and why I'm going to try it.

I operate a string of ~60 local businesses that have physical storefronts.

On average each store has 5 local competitors.

Our customers are VERY price sensitive - they will almost always call the "lowest price" guy in the area first.

As a result we currently have a duct-tape system to monitor competitor pricing and tweak ours as fast as possible.

MonitorBook would be a potentially much simpler mechanism to orchestrate this.

If the MB team is reading this drop me a line and we'd be a potentially great case study / early adopter.

Things that would have to work to make this usable long-term:

a) API so we could pull this data into our pricing algo.

b) Clear error-checking confidence - if a site we're monitoring changes their code / display and we miss it, we'd have to go back to duct-tape which is sloppy and labor intensive, but reliable.

<comment><USER4> What happens if your competitors realize you are using the service and devise some way to trick MontorBook into reporting the wrong prices?

[Edit: related link, which was the inspiration for my question: [http://mailinator.blogspot.com/2011/05/how-to-get- gmailcom-b...](http://mailinator.blogspot.com/2011/05/how-to-get-gmailcom- banned-not-that-i.html)]

<comment><USER5> You change your strategy :-) It's like Cryptonomicon "The most advanced technology, usually wins the war".

If they can do that, you'll have to figure out quickly and adapt... But to my personal experience, there are way more _what if(s)_ flying around than what actually happens.

</comment></comment></comment><comment><USER6> Result of a quick try:

Tracking YouTube views doesn't work (shows "null")

Tracking HN points doesn't work (shows "null")

Tracking Reddit comment count works.

<comment><USER7> Thanks for letting us know (I'm one of the members of the Monitorbook team). HN was working till a few days until a few days ago. I will look into it. We have done our best to support as many websites as possible but it is not a surprise that our scrapper is not perfect yet. We will keep working on it :)

</comment></comment><comment><USER8> Why do I have to create a new account for this site? I have Google, Facebook, Twitter, etc; consider using one of those site and OAuth to provide a more frictionless experience for first-time users, especially considering your site requires me to come back X days later to really see it work. My $0.02...

<comment><USER9> If your target audience is HN users, consider this comment. However, I've found in my analytics that most users don't care about the type of login.

You can't please everyone. If a website has only username and password, there's a complaint. If a website only has OAuth, there's a complaint.

<comment><USER10> why not both?

<comment><USER11> that puzzled me too o.o

</comment></comment></comment></comment><comment><USER12> Wow, seems like everyone has built a version of this. I've been working on something similar as well, and really went for nailing down the element selection. Seems to be a basic duplicate of what you have done. Best of luck.

<comment><USER13> Really? I couldn't seem to find anything other than webnumbr (which doesn't seem to work anymore).

</comment></comment><comment><USER14> Sorry, my work pc doesn't have sound so I can't hear the actual video. Does this track sites other than Amazon, or is that just the demo? Also, is there an estimate on the pricing for the premium service?

Overall, I think it looks pretty clean. But I would probably add just a bit more information on the main page. I see it's mostly in the video, but it would be nice to get pricing details, description of exactly what things you can track, etc..

Good job though :)

<comment><USER15> There is nothing to hear anyway. It is just background music.

</comment></comment><comment><USER16> Very cool.. but what's the implication on the legal side? Many of the sites forbid "automated" scraping of their sites.(sure they can be all circumvented). On that note, what about sites like kimonolabs ([http://www.kimonolabs.com](http://www.kimonolabs.com)), they also let you create an API on top of an existing webiste. I imagine it's done by scraping. Would love to hear some thoughts.

<comment><USER5> Scraping Amazon might be illegal, or at least not specifically allowed, otherwise there would have been an API. However reading 'robots.txt' I guess that their policy is 'open to scrapping' by search engines. Because what google spiders do to virtually everyone, can be considered web scrapping.

[1] [http://www.amazon.com/robots.txt](http://www.amazon.com/robots.txt)

</comment></comment><comment><USER17> Has there been work after RSS to improve pub/sub protocols for websites to notify customers of changes/deltas, without the need for wholesale scraping?

<comment><USER14> I'm not aware of anything, but if someone else has some input I'd love to hear about it. FWIW, I believe Amazon does have an affiliate api that lets you search through the catalog. Same with Ebay, Alibaba, and most of the major companies. The only one I can think of that doesn't is Craigslist.

<comment><USER18> For what it's worth, I'm pretty sure that it's intentional on Craigslist's part. Due to the first come first serve nature of a lot of the free listings, it means that 'honest'/non-tool assisted users would never get a look in.

</comment></comment></comment><comment> non-sense Nice website. Do you have plans to release an extension or an app for this? I have been using Distill Chrome extension[1] to monitor pages with dynamic content with pages that require authentication.

[1] [https://chrome.google.com/webstore/detail/distill-web- monito...](https://chrome.google.com/webstore/detail/distill-web- monitor/inlikjemeeknofckkjolnjbpehgadgge?hl=en)

<comment><USER7> Yes, the plan is to release a browser extension pretty soon. With the extension you will be able to track content in pages which require authentication. We also have an iOS app in the works so that you can check your trackings on the go, and receive push notifications.

PS: I am a member of the monitorbook team

</comment></comment><comment><USER19> See also Huginn ([https://github.com/cantino/huginn](https://github.com/cantino/huginn))

</comment><comment><USER20> I had something like this on my back burner for years called Sitebeagle. It's command-line only. Glad these guys took the initiative to build something way more robust. It'll be great for tracking 1 day deals, seeing if somebody's logged in somewhere, and getting alerts for when band tickets go on sale. The possibilities are endless.

</comment><comment><USER21> Very cool, I like it. Only comment is that you should try and get the video zooming in on where the mouse is or do some close-ups of the screen. It was hard to see exactly what was going on and it felt closer to a techie screencast than to a customer product demo.

Is it possible to track the price of an ipad mini on craigslist? ;p

<comment><USER7> We will try to put up another video with better quality within the next few days. Thanks for the feedback!

</comment></comment><comment><USER22> I use websec as a cron command to do that for pages I care for and implemented at some point an app in python I called NoticeThat that fell into oblivion as I had no idea how to market it.

It's nice to see someone catering to that use case who can actually execute on it.

</comment><comment><USER23> Neat - I have a similar side-project in the works and I bet one of the challenges will be how to handle pages that are difficult to scrape.

You might also want to check out [https://visualping.io/](https://visualping.io/)

</comment><comment><USER24> Very cool. I've created something similar in the past to monitor various pages but I did not get past the basic mock-up stage.

There are many use cases for this type of tool. Congrats on shipping something.

</comment><comment><USER25> How does this handle HTML changes over time ? I believe this will store a URL + Selector , then periodically scrap the page over time. just curious what happens if the page changes later.

<comment><USER5> You probably some sort of notification and you have to go the web page and match the item again.

</comment></comment><comment><USER26> Awesome. Along with the other people posting here, I also created something similar a while back ([https://keepupdated.co](https://keepupdated.co))

</comment><comment><USER27> Conversation going on on Product Hunt: [http://www.producthunt.com/posts/monitorbook](http://www.producthunt.com/posts/monitorbook)

</comment><comment><USER28> So... what does it do? I don't wanna sign up to figure out, in more specific language, what exactly it tracks. Users? News? API calls?

<comment><USER29> I found the 57s video on the front page to be quite instructive:

it's a bookmarklet that identifies some portion of the screen to scrape (a numerical value in the example), and tracks it over time, allowing you to set alerts at thresholds (presumably so you can buy at a favourable price)

</comment></comment><comment><USER30> Found a typo on the signup page for premium accounts: "Enter your email below to get early access to out premium account!"

</comment><comment><USER31> [https://www.changedetection.com/](https://www.changedetection.com/)

</comment><comment><USER32> Nice. There's [http://feedity.com](http://feedity.com) too.

</comment><comment><USER33> Nice project. I'm working on something similar but command line based and open source.

</comment><comment><USER34> "Receive real time nofitications"

Gentle suggestion to spell check.

</comment><comment><USER35> copy of [https://visualping.io](https://visualping.io) :-) :-)

</comment><comment><USER36> Smells like Shopify!

<comment><USER37> What does this have to do with Shopify?

<comment><USER36> [https://monitorbook.com/user/sign_in](https://monitorbook.com/user/sign_in)

[https://example.myshopify.com/admin/auth/login](https://example.myshopify.com/admin/auth/login)

Very similar styling

:)

<comment><USER37> Ah, that makes a lot more sense now.</comment></comment></comment></comment>


Natural language benchmarks don't measure AI models' general knowledge well - <AUTHOR> https://venturebeat.com/2020/08/12/natural-language-benchmarks-dont-measure-ai-models-general-knowledge-well-research-shows/ <comment><USER2> Second author here with a link to the arXiv paper:

[https://arxiv.org/abs/2008.02637](https://arxiv.org/abs/2008.02637)

Although I have to say, VentureBeat did much better than most media outlets I have seen writing about current research and what they write is not only accurate but also largely devoid of hype. Perhaps we actually managed to "keep the hype down" as we intended when writing this piece?

I will check in on this post now and then if you have questions and see if the first author is interested in joining when he wakes up as he really did all the legwork for this one.

<comment><USER3> Nice paper and important work.

Given that nearest-neighbor outperforms on closed book, is it reasonable to suspect the model is doing NN itself internally (which would explain the good performance on close duplicates?)

And if this is the case do you think training-time processing of data to attempt to move convert it to question/answer _form_ data rather than raw QA would be a reasonable approach towards tackling this?

<comment> patrick-lewis Hi, first author here.

> Given that nearest-neighbor outperforms on closed book, is it reasonable to > suspect the model is doing NN itself internally (which would explain the > good performance on close duplicates?)

I think this is definitely the case for the BART model. It is essentially acting as a QA-pair memorizer over the training data, and at test time, it just matches the question onto those seen at training time. Note that the T5-11B+SSM closed-book model was able to do a little better on NQ, so very large models with task-specific pretraining objectives do seem to do something slightly more interesting than just NN, but still really struggle in some settings.

> And if this is the case do you think training-time processing of data to > attempt to move convert it to question/answer form data rather than raw QA > would be a reasonable approach towards tackling this?

Great question! Converting sentences into a series of QA pairs is something we're really interested in. The T5-11B+SSM model we evaluate in the paper uses a special "Salient span masking" pretraining objective that does this to some extent (only mask words at pretraining time that are likely to be "answers" to factual questions), so in essence the pretraining task becomes pretty standard cloze-question answering, and they find that leads to better downstream results ([https://arxiv.org/abs/2002.08910](https://arxiv.org/abs/2002.08910))

<comment><USER3> Thanks for the response.

> [BART] is essentially acting as a QA-pair memorizer over the training data, > and at test time, it just matches the question onto those seen at training > time.

Not super-surprising.

> The T5-11B+SSM model we evaluate in the paper uses a special "Salient span > masking" pretraining objective that does this to some extent (only mask > words at pretraining time that are likely to be "answers" to factual > questions), so in essence the pretraining task becomes pretty standard > cloze-question answering

This seems an obvious approach for cloze-type questions, but it seems non- obvious how to extent beyond this.

Are you aware of any work probing the differences in the representation using this style of masking vs a more normal language model objective? It would seem to me that this is the key to significant progress here (and of course one would speculate that a representation that works well for this would also work well for all kinds of KB-related tasks).

Thinking about this for a few minutes things like masking names, colors and numbers (the things that neural representations often confuse) and then asking questions based on them might be interesting. I wonder if bAbI could be extended for this?

</comment></comment></comment></comment><comment><USER4> Judea Pearl has been bringing up the lack of causal knowledge in ML very often. He has even posted lots of interesting comments in Andrew Gelman's blog, e.g.: [https://statmodeling.stat.columbia.edu/2009/07/05/disputes_a...](https://statmodeling.stat.columbia.edu/2009/07/05/disputes_about/)

I tend to think that lots of solutions could come from topics like those discussed in this book, with a lot of further development: [http://probmods.org/](http://probmods.org/)

<comment><USER5> Understanding of causality is very likely an emergent property. While extremely important, it's unlikely that we have some hard-coded low level architecture of causal inference in brains. It probably will just arise as a necessity of grounded understanding of the world.

<comment><USER6> I'm not exactly sure what you mean.

The conditions for causal inference being _possible_ are pretty clear and have to do with the intentional modification of the local environment.

The intention to achieve some new environmental state, and _your_ action to bring it about, is a dynamical activity that enables "deep" model building.

Causal inference is not going to be some "module" of the brain... it requires a body. When you place your hand on a hot surface, _once_ , you immediately understand that it is hot. It does not require "induction" (as hume supposed). That is because our _body_ identifies causes.

Its therefore pretty trivial to observe no NLP system understands language, or even can understand language, because it lacks this capacity to acquire language semantics via participation in environmental exploration. It has no body.

ie., you need to have experienced "on top", "green", etc. to know what "green leaves grow on top of trees" _means_. There is no meaning in the frequency co- incidence of symbols in text.

So no matter how much you are able to reproduce these patterns, they contain no content. The content is in the _reader_.

<comment><USER7> Your comment is interesting but seems to conflate two separate though related areas. The need for a body arises from the embodied cognition school of AI which suggests that intelligence is fundamentally embodied, hence the need for a robot equivalent to a body for truly understanding language.

However this does not necessarily have to be related to causality, and counterfactual statements about a causal model. The math behind counterfactuals and causality is actually well understood now (see any of Pearl's books). It does not actually require that a system be embodied, just that the system have some suitable (and correct) causal model of the world.

It would of course be amazing to have both in one system, but that is not required. An AI system that understood causality and language could be bootstrapped from causal models supplied by humans - or even other AIs :)

<comment><USER6> I'm conflating them because they are deeply connected.

Causal analysis can be performed, via Pearl, on datasets _collected_ for causal analysis.

You still need some mechanism to collect the data, ie., the scientist. This requires solving the "relevance" (/framing) problem -- which, in my view, cannot be solved under a congitivist (/computational) theory of mind.

"Data" which is _relevant_ to a causal hypothesis isn't selected via inference, the body "selects" it.

eg., when my hand is on a hot surface, it's temperature isnt "chosen as the relevant casual variable".

The body is the primary solution to the relevance problem. So you can't just "shove in causal math" into a computational system and expect it to grasp anything.

I also don't think bootstrapping will take you very far: causal models of, eg., dogs are _very deep_. ie., we understand their 2d, 3d, skeletal, behavioural, color, sound etc. "dimensions".

To say, "the dog was well behaved" requires an extraordinarily deep model of "dog".

The only way i see this being built is via play, ie., via hypothetical interaction with an environment -- as we do -- with bodies capable of discerning relevance.

<comment><USER4> >Causal analysis can be performed, via Pearl, on datasets collected for causal analysis.

There's a lot of past and current work on causal inference on observational data too.

</comment></comment></comment></comment></comment></comment><comment><USER8> It seems like there are not many common-knowledge questions that you can't find answers to on the Internet? Most of us rely on web search these days.

Also, _making up answers_ isn't necessarily a good skill to train for if accuracy is needed. It would be more useful to quote and cite the source.

</comment><comment><USER9> I'm always amazed that some people think performing statistical analysis (training neural networks) on text can lead to actual intelligence and knowledge about the world, if only we increase the number of model parameters by a few more orders of magnitude (GPT-3 and the likely strategy for GPT-4).

Of course, all this without any model of how likely it is that the knowledge is embedded in the text, such as trying to train simple models on descriptions of a simple world. I think it's very likely a model couldn't even learn simple arithmetic (addition, subtraction multiplication, division on the rational numbers, let's say) given all of human writing on arithmetic, nevermind being able to reason about the entire world.

<comment><USER10> It amazes me people think their brain works differently.

It's pretty close to believing in body/mind dualism, the only thing in neuroscience more outdated than Freud.

Your brain works within the same laws of physics as the outside world. We don't know how the brain works exactly. But once we understand it, it is unlikely to be qualitatively different from a neural network.

On the other side of the equation, the emergent behaviour of deep networks make them fundamentally different from the sort of statistics that came before. So even if the building blocks are old and boring, the larger system isn't.

<comment><USER6> > it is unlikely to be qualitatively different from a neural network

I'm sorry but this shows a profound misunderstanding of what a NN is, and what the brain is.

There are no "neural network"s. The NN algorithm is a method for optimizing the parameters of a piece-wise linear regression model.

These regression models have _no_ homology to any brain structure and the process of producing them ("training") has no neurological analogue either. They can be produced with a variety of algorithms.

Here's one: f(x) = max(0, 2max(0, 3x - 0.1) - 0.5)

The phrase "neural network" is, as peddled by the media and poorly informed lecturers, a lie. It is neither neural nor a network. It's just gradient descent with more parameters.

A model of the brain would model, at least: neuroplasticity, biochemical signalling, activation frequency, etc.

There is _nothing_ about a peice-wise linear regression model which does any of that. No matter how many circles and lines you draw. (NB. essentially any mathematical function can be drawn as a "neural network". The "network" is just a way of diagramming function application & dot-products).

Aside from all that, the body-brain system of animals is a physical process whose properties are not abstract. The reason we are intelligent is because we have bodies capable of causal analysis; and that capability is biophysical.

To put it another way, no algorithm which runs on a digital computer will turn it into gold. Not even one called, "the midas algorithm".

<comment><USER11> Causal. Imagine a video. Each frame is plotted in space, so instead of a sequence of 2d images, you have a cube. The z axis of the cube shows each frame of the video in turn. This is an equivalent representation to the representation that we are used to. We have just switched the time dimension for a physical dimension. What you are reverently calling causality, is only correlation along the z spacial dimension. In the same way an image can be compressed due to the similarities across it's 2 dimensions, so can a 3d representation of video be compressed along all 3 of it's axis. An appreciation of causality is only induction and induction is only a correlation, if a then probably b. Finding correlations in one of the dimensions you are more familiar with, like the pixels of an image is no different to finding it in time. Within language the elements of time are encoded, just as they are within the video represented as a cube. "The boy threw the ball, the ball landed and then rolled." Just because the time dimension is represented to the neural network within the input parameters of a single iteration of the neural network, does not make it any less able to understand correlations across time.

<comment><USER6> So this is to repeat hume and mistake causal analysis as a kind of induction or inference.

It isnt.

Our bodies are the primary site of "causal analysis". Eg., when I touch the hot surface of a stove I do not _infer_ that temperature is a cause of my hand being hot.

Such an inference, as the basis for our models of the world, would be -- as you/hume/etc. say -- deeply insufficient.

The operation of the world _on our bodies_ is already laden with causal information. A hand striking a face does not just create a "painful sense impression"... rather the body encodes it as _caused_ by the object you also _saw_.

It is the action of the world upon the body that is the bedrock of our causal model building. Scientific/inferential processes sit _on top of that_ to disambiguate between possible distal causes.

A machine, as a person, given "mere data" cannot hope to do much.

<comment><USER12> None of this explains how modelling time sequences of events does not sufficiently approximate the kind of causal knowledge you mention.

<comment><USER6> Suppose I place a pot on a stove and the water boils.

Now I feed into the machine what data?

Here, it gets this: all gravitational, electomagnetic, etc data within 1km; all geometric information about all objects within 1km (, and _all_ of their properties, etc.)

Now, machine, what caused the pot to boil?

It has no clue. There are an infinite number of antecedent temporal events.

The problem isn't the mathematics of causal inference. The problem is relevance. That isn't an inferential problem.

<comment><USER12> >It has no clue. There are an infinite number of antecedent temporal events.

Right, determining the cause of the pot boiling given only local information about this one event is impossible. But that's not a good representation of learning from a real-world data set. A real training corpus might also have an example of a pot boiling in a campfire, a water heater heating up water using fire, someone touching an open flame and going "ouch!", fire burning down a house, etc. All these examples taken together can reasonably lead one to infer that fire causes things to become hot. This is the kinds of regularity found in real world datasets and a good learning algorithm will extract this regularity in the course of predicting the dataset.

<comment><USER6> Who prepares the dataset?

You are just shifting relevance problem to the human to solve. That's my point.

The "regularity" isn't very hard to find when the data which exposes it is _already_ selected.

<comment><USER12> No, I don't see your point. No one "prepared" common crawl to contain multiple instances of relevant examples for GPT-3 to learn from. It's just that a sufficiently large training corpus will naturally have this sort of regularity in it. _My_ point is that a general learning algorithm trained on a sufficiently large and representative corpus will capture causal regularity without the sort of fine-tuning of the algorithm or the training data you are suggesting. You haven't given any reason to think otherwise.

<comment><USER6> identifying causes cannot be done statistically, as a fact of statistics

events A then B then C do not imply C is caused by B is caused by A

This problem is __worse __the more data you have, as with my example above of giving the machine /every/ event within a 1km radius of a pot boiling.

Identifying a cause is a dynamic experimental process. A machine can only accept a highly prepared dataset which _has already been chosen_ because the associations _are known_ to be causal.

<comment><USER12> But this problem isn't specific to machines. The fact that my hand hurts after touching an open flame stove doesn't _entail_ the flame caused my pain. No amount of first-hand experience with flames can entail that flames cause pain. All we can do is increase the likelihood of this model. Experimental processes are in the same boat, except that the statistical power is greater. But our lived experiences with flames and pain and all other stimuli is a sort of low power ongoing experiment. But with enough of these poor experimental runs we can converge on an approximately true model. The same goes for a statistical learning algorithm and a large training corpus.

<comment><USER6> Yes but the body solves the problem of concluding that the stove caused the pain.

The body is a mechanism of relevance. The more data you feed a machine, the worse it performs.

The body isnt necessarily right about causation (though it often is) but it provides a minimal mechanism of relevance to enable inference.

Data itself contains no causal information.

<comment><USER11> You are just pushing the solution to the problem of relevance (which isn't actually a real problem) down the stack, into the body. How does the body magically create this new kind of relation called cause? You are mistaking the image in your mind for reality. The image you see in your mind is the product of an extraordinarily large neural network that has done all the statistical analysis for you.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> The article doesn't give examples, but the paper does. Here are a few examples of question overlap, for context.

        Test Question:  who plays max voice in a goofy movie
        Train Question: who does max voice in a goofy movie
        Answer:         Jason Marsden

        Test Question:  when will the 2018 oscar nominations be announced
        Train Question: when are the oscar nominations for 2018 announced
        Answer:         January 23 2018

        Test Question:  who has scored more goals in the premier league
        Train Question: most goals scored by a premier league player
        Answer:         Alan Shearer

        Test Question:  where are the cones in the eye located
        Train Question: where are cone cells located in the eye
        Answer:         retina

        Test Question:  who led the conquest of the incas in south america
        Train Question: conquistador who defeated the incan empire in peru
        Answer:         francisco pizarro

It makes sense that questions like these are especially susceptible to brute memorization. These are certainly bugs in the benchmark—and, in fact, about a third of questions in each dataset have this issue.

The paper also considers answer overlap; that is, when the answer to the question also occurs in the training set. This alone does not imply memorization, but it does open the door for some shortcuts. Some examples from the paper are:

        Open Natural Questions
        Duplicated: Phil Simms, Brian Johnson, 8, the Indians, the 1830s
        Unique:     Cloves, Matt Monro, 1,020 – 1,080 kg, Hermann Ebbinghaus, Matt Flinders

        TriviaQA
        Duplicated: David Bowie, Battle of camlann, Heligoland, Henry VII, Niagra Falls
        Unique:     Death in the afternoon, Clash of the Titans, ice-cream sundae, Camshaft, Cumberland

        WebQuestions
        Duplicated: Harvard, Alderaan, India, 2011, Zeus
        Unique:     Queen Victoria, Braslia, Paddington, Tom Corbett, Gary

It's less obvious how to treat answer overlap. In particular, removing answer overlap might bias the dataset towards harder questions. Some of the reduction in model scores is presumably because models have to work harder to understand the question, as merely looking for topical similarities will be ineffective, but it also removes questions whose answers are general enough to apply to many questions, like '8', 'the 1930s', 'Harvard', '2011', etc. This means that reductions in the score don't clearly say how much cheating happened. However, the success of the BERT-based Nearest Neighbor model, which retrieves the answer of the most semantically similar fine-tuning sample, scores similarly to BART, which seems much too high for comfort.

It should be noted that a lot of the discussions about causal knowledge and intelligence aren't too relevant to these questions, as they are largely tests of memory or retrieval. It is expected that these models answer the questions by searching their training data or their document index. The issue is that their training data isn't meant to contain copies of the test questions, just the information sufficient to answer them.

<comment> patrick-lewis Hi, First author here.

Thanks for the comment and for adding examples, and for your nuanced comments of the answer overlap split.

My position is that these datasets are still useful for QA, but what was lacking was an analysis of how easy/hard the questions in them were, and what kind of modelling was needed to do well. These overlap phenomena are less like "bugs" maybe, but more like poorly understood features.

We need models that can accurately recall QA pairs they have seen before, so being able to score well on "memorizable" QA pairs is still important to do well, but we also want models that can do more than that. One single accuracy number on a leaderboard cannot capture all the behavioural information we need to properly understand the capabilities of these models.</comment></comment>


Show HN: Paws, an AWS SDK for R - <AUTHOR> https://github.com/paws-r/paws <comment><AUTHOR> Hey HN,

We often use R and AWS, but felt limited in our ability to use them together. While AWS provides SDKs for many languages, R is not one of them. This led us to ask: how hard could it be to build an R SDK ourselves?

It turns out that it was harder than we thought, but our work has culminated in the creation of Paws - a Package for AWS. By using the existing Go and JavaScript SDKs as a guide, we developed Paws to provide users with packages for over 100 services that can be run in R. We have examples for a few of these.

We wrote Paws fully in R, with the hope that other members of the R community will feel comfortable submitting issues or contributing merge requests.

Thank you for checking out our work!</comment>


Lthread - A coroutine lib with multicore support - <AUTHOR> https://github.com/halayli/lthread

<comment><USER2> Seems quite interesting. I wish there was a more thorough explanation about how lthreads map to actual threads and the effects of that. What can run in parallel, when does the scheduler take over, what state can be shared without locks?

It seems clear that there has to be some limitations compared to traditional single-thread coroutines, but the documentation doesn't explain that. (Conversely, it needs to be more explicit about the advantages of lthreads as well. Coroutines in C are not that all that well known...)

<comment><AUTHOR> thanks for the feedback. I'll make sure to document it more extensively.

When you create a pthread, it creates an lthread scheduler in it, and any lthread created in this pthread will get associated with the pthread itself. A typical example is to create a global listener socket fd and have several pthreads, each accepting on the same fd and creating lthreads to handle it. the lthreads created in each pthread will stay in their pthread.

It has no limitations to traditional single-thread coroutines btw.</comment></comment>


Consume Less. Create More. - <AUTHOR> http://www.consumelesscreatemore.com/

<comment><USER2> It is better to have enough ideas for some of them to be wrong, than to be always right by having no ideas at all.

\-- Edward de Bono

When we engage in what we are naturally suited to do, our work takes on the quality of play and it is play that stimulates creativity.

\-- Linda Naiman

You can never get enough of what you don't need to make you happy.

\-- Eric Hoffer

If you want to make an apple pie from scratch, you must first create the universe.

\--Carl Sagan

Our duty, as men and women, is to proceed as if limits to our ability did not exist. We are collaborators in creation.

\-- Teilhard de Chardin

You have succeeded in life when all you really want is only what you really need.

\-- Vernon Howard

Edit for more:

Do not trouble yourself much to get new things, whether clothes or friends.... Sell your clothes and keep your thoughts.

\-- Henry David Thoreau

Creativity comes from trust. Trust your instincts. And never hope more than you work.

\-- Rita Mae Brow

Pop culture is not about depth. It's about marketing, supply and demand, consumerism.

\-- Trevor Dunn

But this is just the start of something much bigger.

\-- Cory Doctorow

Creativity is the sudden cessation of stupidity.

\-- Edwin Land

Growth for the sake of growth is the ideology of the cancer cell.

\-- Edward Abbey

Actually, they are all at [http://github.com/jmhobbs/consume-less-create- more/blob/mast...](http://github.com/jmhobbs/consume-less-create- more/blob/master/quote.php)

</comment><comment><USER3> 1\. Open site 2\. Set browser tab to full-screen

Instant screensaver, for when you don't have to bother with locking the desktop.

I don't wish to slag on what is obviously a labour of love, but other than the use-case outlined above, is there a point? Otherwise the site is plainly consuming more than it creates.

<comment><AUTHOR> I just wanted to put something together and didn't have a lot of time. It's something you are supposed to visit once and then move on :-)

It is true that it relys on quotes, but I didn't see that as consuming so much as combining, like using lego bricks to build something.

Thanks for looking!

</comment></comment><comment><USER4> I think this site would greatly benefit from redirecting to some charity.

<comment><AUTHOR> Recommendations?

<comment><USER4> I can only give you my opinion which may not be the best suggestion but something that benefits children or the environment. I think it would be great if others had suggestions on what charities they'd like to see it go to.

<comment><AUTHOR> Perhaps a rotating set of charities?

In between quotes (or every few quotes) a call to action and link to a charity could come up.

Does anyone else like that or have suggestions?

</comment></comment></comment></comment><comment><USER5> Here are my ideas for my fork:

1) Prev, pause, and next buttons for quote motion

2) Color swatches for the quotation marks and the words

Both of these would be hidden until mouse movement, a la the new google homepage

<comment><AUTHOR> Always happy to integrate ideas. What do you mean by #2, I'm not following. Do you mean you can change the color of the marks/words?</comment></comment>


Wired Documentary on Shenzhen - <AUTHOR> http://www.bunniestudios.com/blog/?p=4721 <comment><USER2> I worked extensively in Shenzhen (though it was a breath of fresh air to get back to the states), and it is a great ecosystem but I do want to address something not covered in the documentary. Their are a lot of things you need to be careful about before venturing into the wild west of electronic parts that is shenzhen. First, knowing some Mandarin or having a native speaker with you is definitely a requirement. Most big companies and vendors have english speakers working for them, but thats the exception.

The work mentality there is to get as much done as quickly as possible. Short cuts are the norm, which is frowned upon in North America, and you have to watch your suppliers and make sure they don't screw you over (ex. replace your requested part with a similar one or get you a cheaper part without checking with you and put the difference back in their own pocket). This even happens in the prototyping stage.

And as cheap as building stuff is there, living is still comparable to most US cities when it comes to good housing (ex. Austin, Portland, Denver).

With all that said, things move crazy fast. You put a circuit board order in on Monday and its on your desk on Wednesday.

<comment><USER3> It takes 2 days. I was expecting same day delivery. XD

<comment><USER4> There are many 24hr turn PCB fab houses too. Usually costs an extra 150-200RMB for that service, which by western standards is still an absolute steal.

</comment></comment></comment><comment><USER5> Shenzhen native, local Maker here.

All in all the video is pretty accurate. Like most of these videos they focus on the usual semi-official tourist stops- Huaqiangqei, local accelerators, etc. You never see the Huawei or TenCent R&D departments, or anyplace that the actual real day-to-day innovation usually happens because those are strictly no-cameras and very much off limits to forigners.

If anyone wants a better look around the HCB electronic markets I shot about an hour of 360º video there last week, it's on YouTube if you search.

<comment><USER6> Could you comment on if, as an American engineer, getting to know Shenzhen and learning Mandarin would be worth doing as valuable business skills?

<comment><USER5> You would need really, really good Mandarin in order to manufacture something without a translator. In conversation I find culture is more of a problem than language. We can always make it clear you will get the part on Tuesday. What Westerners can't understand is why that really does not mean that you will get the part on Tuesday

But everyone who lives here should study enough so they can get around and take care of themselves.

<comment><USER7> What does it mean? I'm curious as to what the subtext of something like that really is. Will it also mean that local manufacturers there would be more likely to try and pass off something non-genuine to westerners?

<comment><USER5> >What does it mean? I'm curious as to what the subtext of something like that really is.

Means he'd very much like for you to have it on Tuesday:-) He also does not want to make you unhappy and possibly lose you as a customer by saying it will probably be Wednesday. After all it could be Tuesday so why not have a try? It's a little frustrating for non-Chinese.

>Will it also mean that local manufacturers there would be more likely to try and pass off something non-genuine to westerners?

I think Westerners are more likely to get fake money since we assume they won't know how to check. Most Chinese think Westerner engineers are more technically competent so while they might sell fakes I don't _think_ it's a lot more likely? I can't really say though I don't do sourcing. Also it's about risk. Rip off another Chinese person he will tell others and it will hurt your reputation. Maybe he will tell someone and make trouble for you. This is less likely with Westerners.

<comment><USER8> Sounds like the advice Scotty gave in TNG, about always giving longer estimates so you appear a miracle worker when you deliver early.

</comment></comment></comment></comment></comment></comment><comment><USER9> I have been in Shenzhen for 5 years and know my way around. I am available, if anyone has any questions about this place or if someone needs a hand here.

<comment><USER10> Have you (or anyone reading this) considered selling your services as a contractor / consultant?

In particular, I imagine a web forum where you can discuss what's going on in Shenzhen with interested people from the US, in English.

You can develop jobs and even sub-contract work all using this forum.

Of course, that's just an idea. How would you do it?

I would be very interested in such a thing.

<comment><USER5> There is a lot of demand for this. Unfortunately people are often very unrealistic about doing business in China. Being the contact point, translator or consultant means taking the blame for the usual problems. When translation does not get good results the translators are blamed because no one else can understand or really cares if the client is unhappy so they become a "whipping boy". Often very publicly.

If I were not a local I would use a contract manufacturer. Westerners often think it's a communication issue when it's an relationship issue. Who you know and have relationships with. If you have established relationships with the people not willing to lose your future business by delivering poor quality then you are a contract manufacturer. You are not going to put anyone else in contact with those people since that is your IP and poor behavior from them would reflect on you and hurt your future business.

But people want to save some money and try to do each little thing themselves. When that does not work there is always finger pointing. And I've never seen anyone blame themselves. It's always the factory, the local Chinese, the translator/assistant etc.

<comment><USER11> What I want is a platform where entrepreneurs and engineers can interact with manufacturers to create hardware prototypes. I shouldn't have to be in Shenzhen to work with Chinese manufacturers, and trust shouldn't be an issue with a well-implemented feedback system.

<comment><USER12> That's the reason why you get such good prices. Hire cheap developers and you have to take a gamble on the deliverables. If you're willing to pay a fair or premium price your worries decrease ;)

<comment><USER11> Sorry but I'm not sure how your comment relates to mine. I'm talking about the challenges involved in manufacturing a hardware product in China without being physically present there.

<comment><USER10> I actually think a "gamified" feedback system will lead to a bad outcome, especially because it builds a false hope that $random_user with $points > big_number will solve all my problems.

A good system would have a few "core people" who work together over a span of years on several successful projects. By a few, I mean 3-7.

If we can attract Bunnie Huang, all the better. :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> I love the easter egg at 3:13. ("ALL PROPRIETARY AND NO OPEN SOURCE MAKES INNOVATION A SLOW PROCESS") The text is upside down in the video, so it's easy to miss.

But on that note of open source vs proprietary, I'm building a business on open source hardware, yet I have a hard time proving to others (especially other startup founders) that open hardware is the way to go. They fear that their designs will get cloned and they'll get blown out of the water (implicitly at a lower cost by someone in Shenzhen). They want to ensure they can recoup their R&D costs. My point is that if you make a successful product, you're going to get cloned anyway. The counter-point is usually "But why make it any easier for them to clone you?"

<comment><USER14> > My point is that if you make a successful product, you're going to get > cloned anyway.

If you're going to get cloned either way, how will you make selling your hardware a sustainable business?

I love hardware (robotics, incidentally) but I'm so hesitant to release a hardware product because of the inevitability and futility of competing against cheaper clones. I've seen it happen again and again in the nascent world of drone racing - somebody comes up with an innovative new design and there's a clone on Banggood three weeks later. Then most people just buy the clone. I don't see how it can be sustainable.

<comment><USER13> In the short to medium-term, it's a hybrid product+consulting business model with consulting gigs to add features, custom sizes, or integrated with specific testing frameworks. Long term, competition is based on brand, build quality, distribution, ISV partnerships, and the ability to keep innovating. Also, it's a B2B product, so success or failure is predominantly driven by the quality of the sales team and their process as much as anything else.

</comment></comment></comment><comment><USER15> Seems like the success of shenzen as a big startup place will also depend on to what degree IoT takes off, since custom hardware is so essential to that. Like the video says, the rest of us just use generic hardware where the only metrics are performance and maybe power consumption.

Imagine how different bay area startups would be if VC backed startups built robotic arms and legs instead of one-click deploy Rails PaaS infrastructure.

<comment><USER16> The thing to realise it's already that, essentially it's the place you go if you win at Kickstarter - if you went for $10k and got $1M - there's already a western hardware hacker community regularly rotating through the city.

Of course that's not exactly the traditional startup, these are often people bootstrapping themselves without a VC sugar daddy - not needing to have an exit story with 7 0s

</comment></comment><comment><USER17> Looking for a english speaking contact in Shenzen, contact info is in my profile, hit me up.

<comment><USER18> [https://news.ycombinator.com/item?id=11866581](https://news.ycombinator.com/item?id=11866581)

</comment></comment><comment><USER19> Thanks for this, hopefully I'll remember to watch the next part.</comment>


Simple n00b question about funding - <AUTHOR>

Lets say I start a startup on my own. Some VC comes along and decides to fund my company 10 million for 40% equity.<p>Do I personally get to keep any of that 10 million? If the startup fails do I owe him his 10 mil back? Can I pay myself a huge salary?<p>( i know this is a bad attitude to have, and i'm just using this as an example to illustrate my question. Trying to learn more about the process ) <comment><USER2> No, no, and no.

</comment><comment><USER3> No, absolutely not. VCs aren't stupid and you sign a contract with them. If you were a VC would you leave that door open?

<http://www.venturehacks.com> \- read this blog.

<comment><AUTHOR> yea i kinda figured that

but its hard to figure what some of these web 2.0 companies are doing with millions of funding if not paying the founders big 6 figures

<comment><USER4> I think you could swing paying yourself 6 figures with an investment of $10 million assuming you were one of only a few employees.</comment></comment></comment>


Vint Cerf: The government is going overboard in Internet copyright control - <AUTHOR> http://venturebeat.com/2011/11/14/vint-cerf/ <comment><USER2> Vint Cerf is about as classy as they come. He's a captivating speaker -- his was easily the best talk I've ever attended. He can talk about incredibly high level, complicated concepts (in my case, it was "internet in space"; in this case, "SOPA") in a way that makes them easy to digest for people who would normally be woefully under-qualified to comprehend the concepts.

I'm incredibly glad he has the backing of a company that can put him before the government.

<comment><USER3> > _Vint Cerf is about as classy as they come._

Only if you avoid the ICANN monopoly issue. Then he is pro-dictatorship.

</comment></comment><comment><USER4> I chuckled at the snarky Microsoft comment "I can see where Google photoshopped out the strings..."

It is interesting to live in the times where the world is grappling with something our grandchildren may see as obvious. On the one hand we have "Intellectual Property Interests" who are trying to extract every penny out of their "assets" while on the other hand we have the rest of us who are more and more irritated at being squeezed. The tension in key legislators between the folks who vote for them and the folks who pay for their elections is almost palpable.

Google, being bushwhacked by these people, is nicely not taking that sitting down. Its nice to see, but so far it has been like watching a court room lawyer and a bright high school student debate what is 'right' and 'wrong.' Fortunately they are a well funded high school student and they generally learn from their mistakes.

As the music labels die off, we can watch them to understand how it might go for others in their shoes, I am sure the book publishers are paying close attention. Your grandkids will read about this time in history and economics text books that is for sure.</comment>


Tell HN: My iPhone accessory based cycling computer - <AUTHOR> http://en.pedalbrain.com

<comment><AUTHOR> I've been working on this since the first day Apple released the accessory information for an iPhone. It works quite well and even have some professional cyclists and triathletes test it. I'll be releasing the rest of the site and applications over the next few months. The plan is to have everything ready in March including availability at your local bike shop.</comment>


Show HN: Tumblestone – We're a team of 4 and just launched on Steam and consoles - <AUTHOR> http://tumblestonegame.com/ <comment><AUTHOR> Hi I'm Alex Schearer, one of the developers on this project. Tumblestone is a new type of puzzle game. It takes the staid formula of Bejeweled and turns it on its head. We stripped out all the random gem flipping junk and replaced it with really tough puzzles.

Some interesting technical stuff about the game:

1\. It supports online multiplayer for up to four players with bots, local players, and join in progress supported. There are four distinct online game modes.

2\. We used machine learning to generate a huge number of puzzles as well as train the bots to be fiendishly difficult. As a result no puzzle should ever be played twice and you can mix and match our 12 game modifying rules with mind bending results.

3\. We launched on Steam (Mac and PC), Wii U, and Xbox One (we'll be part of Games with Gold starting Saturday) simultaneously -- and PS4 is around the corner. (For those of you unfamiliar with console development, this is quite a feat!)

4\. We've translated the game to support 21 languages. There's a 40+ hour story mode with cutscenes, so there's a ton of text to wrangle.

5\. We built an interesting system to share Tumblestone with friends on Steam. Anyone with a copy of the game can give a free Steam key to a friend which lets their friend play online up to five games per day. This required all sorts of tricks on the client side as well as a server to hand out the keys.

If you have any questions technical or otherwise I'll do my best to answer them.</comment>


LEGO NXT Pin Plotter - <AUTHOR> http://www.alfonsomartone.itb.it/naxntb.html

<comment><USER2> I'll be _really_ impressed when someone builds a lego that can assemble another version of itself, given the right parts...</comment>


Gmail is getting PGP Signatures (Feb 2009) - <AUTHOR> http://www.paulspoerry.com/2009/02/13/gmail-is-getting-pgp-signatures/

<comment><USER2> Over a year ago they were experimenting with this, and still no results? Not very encouraging. Has anyone since seen any evidence of further developments in this area? I've never noticed these features when receiving signed mail.

I had always hoped that gmail would popularize PGP signatures, if not integrate outright encryption (PGP has been implemented in JavaScript plenty of times -- right up Chrome's alley).

I'm sure there are all kinds of legal implications for Google to consider (disabling features for users in countries where crypto is illegal/more strongly regulated, places it would be illegal to "export" to, etc), not to mention the fact that encrypted mail would preclude targeted advertising, but email and crypto go together like PB&J. HTTPS enabled by default was a step in the right direction (and it certainly took them long enough), but signature support seems terribly overdue, to me.

<comment><USER3> Letting Google manage your secret key kind of defeats the purpose, doesn't it?

<comment><USER2> Absolutely, but I don't see why it couldn't still manage public keys for verifying signatures and encrypting outgoing mail.

Your private key could still be handled locally. Hell, even if they left signing and decryption (the parts you'd need your private key for) entirely up to the browser or plugins or a full-blown mail client, you could still verify signed mail that you'd received and send out encrypted mail from within Gmail's interface. That alone could go a long way towards encouraging cryptography beyond the security-conscious crowd. At the very least, it spreads awareness.

EDIT: Also, as far as my more unimportant emails are concerned, I'd rather have them bouncing around the internet encrypted by a compromised/throw-away key (i.e., one that Google has access to) than not encrypted at all. But in common use, yeah, the illusion of security would be worse than no security at all.</comment></comment></comment>


Soapware EHR Company is shutting down - <AUTHOR> http://www.soapware.com/ <comment><AUTHOR> This used to be their landing page, you can look at the google cached version [http://webcache.googleusercontent.com/search?q=cache:tZMBR6x...](http://webcache.googleusercontent.com/search?q=cache:tZMBR6xoJaYJ:www.soapware.com/+&cd=1&hl=en&ct=clnk&gl=us)</comment>


Show HN: we built a better bank interface which works with any bank. Thoughts? - <AUTHOR> https://www.bunsn.com/

<comment><USER2> So I would have to trust not just my ISP, Debian and Opera with my banking details, but also another third party which even stores that details somewhere else?

</comment><comment><USER3> How is this different from Mint[0]?

[0] <https://www.mint.com/>

<comment><USER4> The basic difference is that we're trying to cover the complete online banking experience, not just ways to organise and visualise transactions (although that's a part of it too). The big thing missing from Mint for us is payments.

Bunsn generally feels like an app where you can get stuff done. It also works with banks outside of the US and Canada and doesn't require your bank log in details.</comment></comment>


On open source, licensing and building a sustainable company - <AUTHOR> https://crate.io/a/on-open-source-licensing-and-building-a-sustainable-company/ <comment><USER2> Gist, which is pretty far in the post:

> Starting with CrateDB 3.3, we will start packaging and distribute the > "CrateDB Free Edition" that has all the enterprise features included. The > new restriction we have introduced is a scaling limit on instances.

The free version is now limited to 3 nodes. Previous versions were feature- limited instead.</comment>