HN user

gelisam

100 karma
Posts2
Comments33
View on HN

Not sure what the context of the question is, are you offering services to build custom chatbots? The startup I work for, keatext.ai, happens to need one.

We analyse free-form comments and uses NLP to extract commonly-mentioned problems. Currently users need to log into the app and explore their data in order to discover problems, but it would be much more convenient if we could send the problem descriptions to a slack channel as our AI discovers them. It would be even more convenient if the users could then ask our bot for more details about a problem, such as giving example comments illustrating the problem or listing the customers who are affected. We have the data required to answer those questions, but even though our AI extracts information from free-form text, it's not the kind of AI who can answer free-form questions, so we might need help with that.

I thought FP Complete had moved on from selling tools (like the online IDE they used to host) to being a Haskell consulting firm?

What? Apart from Sibi Prabakaran who I've never heard of (maybe I only know them by their handle?), everybody else in the list is a high profile, highly-respected member of the community. As far as I can tell from being on /r/haskell during the whole day every day. What kind of trouble did they cause?

Does this mean I’m a static typing zealot now ?

That part made me chuckle, because it made me realize that a typing zealot is exactly what I've become! I used to be a huge fan of Ruby and I was using it for everything, and now 10 years later I'm a huge fan of Haskell instead, I give talks about how JavaScript is horribly error-prone and how Elm is so much better because not only is it statically-typed, it's also purely-functional, and yadi-yadi-ya.

The transition occurred so smoothly that I didn't notice it. Beware! You might not be a zealot now, but if you continue on this path, you might unintentionally become one too :)

Understanding Elm 11 years ago

I understand FRP, but I did not understand this post. What's this philosophical fluff about the ever-changing "now"? The fact that a signal is a value which describes how something changes at all points in time does not mean that there is only one value, or that time is reduced to a single point.

I implemented version of this several years ago, except against human players instead of against an AI, and with randomly-generated levels instead of a succession of harder and harder levels.

It was a semester project where we had to hand in a game satisfying a few basic requirements, and since we were done early we were allowed to add as many extra features as we wanted. One of those features is that whenever you clicked on a unit and ordered it to do something, a log message would show you a ruby command which would do the same. You could then open the console and control your units using arbitrary ruby code, and you could also attach AI scripts to your units.

This was before the era of github, so the source may or may not have been lost to history. I'll update this comment if I manage to find it.

While Haxl is great and is a good example of Haskell usage in the industry, it's not a good example of the usage of formal methods, since functional programming is only the first of the two steps mentioned in the article.

The title of this post made me hope they were looking to hire a "proof engineer", but alas, they're only explaining how to become one. It's already hard enough trying to find a Haskell job, finding one in Isabelle or Agda must be near impossible!

How about adding new elements with lower keys instead of decreasing the existing elements? Then, once we count that more than half of the n elements are duplicates, we could spend O(n log n) operations cleaning up the heap by recreating it.

How can I downvote this post? He uses a non-standard definition with a very obvious flaw, and then proceeds to explain how Kolmogorov complexity is "silly" because it has that flaw.

After reading the title but before reading the article, I was trying to imagine a situation in which anybody might want to fake surprise in a work environment. The only thing I came up with was as a teaching mechanism, as in: "your program is crashing when you divide by zero instead of returning NaN? How strange! Let's investigate together".

I was quite surprised to see that by "feigned surprise", the article actually meant something along the lines of "really, you expected an integer operation to return NaN?". The article does explain why people might say that, but I still have a hard time believing it. Why would anybody want to say that? It's not helpful at all.

I guess I must be lucky never to have worked in the bad working environments described by the article.

If Google is really using that algorithm, then I'm afraid I'm polluting their data. When I am looking for something on Google, I ctrl+click on all the relevant-looking links so they open in new tabs. Since I haven't even read any of the results yet, it is inaccurate to assume that the last link I ctrl+clicked was the most relevant.

Awk in Haskell 13 years ago

While I am flattered that somebody would post one of my repos on Hacker News, any particular reason why the link is to my fork and not to the original repo? ssadler deserves some credit :)

Vim Adventures 13 years ago

You're kidding, right?

I want to like this game; I love vim, and I agree that the premise of the game is very creative. But the execution is vastly below average. They are using free graphics [1], annoying sounds, and they force the user through a strict tutorial instead of encouraging them to explore [2]. They ask for more (25$) than the vast majority of indie games on Steam [3], all of which are a lot more polished than this. And even then your license is only valid for six months, something I thought was only done by MMORPGs!

[1] http://www.lostgarden.com/2007/05/dancs-miraculously-flexibl...

[2] http://www.lostgarden.com/2010/01/ribbon-hero-turns-learning...

[3] http://store.steampowered.com/genre/Indie/

try this:

    > let foo = map reverse
As the error message "clearly" says, the result "map reverse" is a function, which doesn't have a printed representation. You might think that all objects would at the minimum have a default printable representation as "[Object 0x011432542]" or something, but they don't. As always with haskell, the idea is to catch mistakes at compile time: in this case, mistakes where you wanted to show something meaningful to the user, but forgot to define how that kind of object should be printed.
5 minute fork 13 years ago

What this project does really wasn't clear to me until I tried reidrac's canvas-raycasting URL, so here is a (hopefully more clear) explanation:

If a github repo has an index.html file and you click on it, github will show you the source instead of the webpage. 5minfork shows you the webpage so that you can have an idea of what the repo is about.

The way in which ties are resolved is very important. I had assumed that in case of a tie, neither player won the bidding war, so they had to bet again. Under that interpretation, the worst case is that O always bets the same as X, trapping the game into a non-productive sequence of tied bids. The only way to avoid this is to always bet more than O can possibly bet, which means we need more than 300.

Fortunately, Gil Kalai has added in the comments that tied bids are resolved with coin flips, so if you can find a winning strategy in both sub-trees, ties are fine.

"You will also earn the title Certified C++ Grandmaster [CPPGM]."

A certificate or title isn't worth anything unless the organization who emits it has the authority to emit them. And if you can truthfully claim to have written a fully-compliant C++11 compiler all by yourself... you're already so badass that throwing in an extra title or certificate won't make a difference.

I don't know much about philosophy, but I know that Less Wrong's opinion of it is pretty low [3].

Eliezer probably talks about quantum mechanics more than most philosophers, so his recent explanation [4] of how statements about day-to-day objects can be true despite the fact that only fundamental particles really exist is probably original.

[3] http://lesswrong.com/lw/frp/train_philosophers_with_pearl_an...

[4] http://lesswrong.com/lw/frz/mixed_reference_the_great_reduct...

That post is part of a sequence called "Map and Territory" [1] in which Eliezer explains that your beliefs are a map, which may or may not correspond to reality, the territory which the map is supposed the represent.

In this post, Eliezer is mocking philosophical arguments about the meaning of "truth", to illustrate that truth isn't that complicated: a belief is true if and only if it corresponds to reality. Eliezer has recently written a much clearer version of this viewpoint [2], in which he again uses the idea of walking off a cliff to illustrate the difference between strong beliefs and true beliefs.

[1] http://wiki.lesswrong.com/wiki/Map_and_Territory_(sequence)

[2] http://lesswrong.com/lw/eqn/the_useful_idea_of_truth/