HNHacker News
TopNewBestAskShowJobs

gelisam

100 karma · joined June 4, 2012

submissionscomments
gelisam··on Higher-order abstract syntax
The [Beluga language](http://complogic.cs.mcgill.ca/beluga/) is a variant of Twelf which aims to make such transformations much easier.

Full disclosure: Brigitte Pientka was my supervisor. I did not work on the compiler, but I did make the language's logo.

gelisam··on Ask HN: What kind of chatbot do you need?
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.

gelisam··on Ask HN: What is the skillset for programmers at AI startups?
I'm a programmer working at an AI startup, http://keatext.ai, but I'm not touching the AI part, so I just want to point out that there are other ways to get in. In my case, I had experience with Haskell, their backend is using Scala, those are both functional languages, and that was good enough!

Also, we're in Montreal and we're hiring :)

gelisam··on New haskell-lang.org
I thought FP Complete had moved on from selling tools (like the online IDE they used to host) to being a Haskell consulting firm?
gelisam··on New haskell-lang.org
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?
gelisam··on Learning Elm has gotten me confused about static vs. dynamic typing
> 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 :)

gelisam··on Show HN: I'm looking for science fiction writers
My best work of science fiction is much shorter than 1000 words, but here, enjoy it anyway: http://gelisam.blogspot.ca/2013/09/the-first-two-years.html
gelisam··on Antimony – A fresh look at CAD software
Is it only CSG? The page says it's using FRep instead of BRep. Is FRep limited to CSG operations only?
gelisam··on Understanding Elm
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.
gelisam··on CodingGame – An idea for a real time strategy game for programmers
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.

gelisam··on An Explanation of Type Inference for ML/Haskell
Sounds like fun, let's write one!
gelisam··on So you want to be a proof engineer?
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!

gelisam··on Dijkstra’s algorithm and the Fibonacci heap
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.
gelisam··on Kolmogorov Complexity - it's a bit silly
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.
gelisam··on Hacker School banning “feigned surprise” is absolutely brilliant
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.

gelisam··on Crap to stop doing on startup websites
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.
gelisam··on Git-slides - Text-based slides using vim and git
Thanks for posting my repo to HN! It always makes me feel like I do good work when other people post my stuff :)
gelisam··on Ask HN: How to become smarter?
I came here to recommend http://lesswrong.com/, but then I saw that you want to become more knowledgable, not smarter. In that case, your current strategy sounds right to me!
gelisam··on Vimdeck - Vim as a presentation tool
Related: I also made a vim-based presentation tool, called git-slides [1]. The main difference between Vimdeck and git-slides is that vimdeck generates slides out of a simpler format (Markdown), while git-slides displays one WYSIWYG slide for each commit in your git history.

[1] https://github.com/gelisam/git-slides

gelisam··on Awk in Haskell
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 :)
gelisam··on Vim Adventures
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/

gelisam··on Try Haskell: An interactive tutorial in your browser
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.
gelisam··on 5 minute fork
I certainly don't mind! I'm glad I could be useful.
gelisam··on 5 minute fork
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.

gelisam··on Test Your Intuition: What does it Take to Win Tic-Tac-Toe
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.

gelisam··on C++ Grandmaster Certification
"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.

gelisam··on The Simple Truth (2008)
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...

gelisam··on The Simple Truth (2008)
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/

gelisam··on Every single game from GitHub Game Off 2012
I know, that's why I sorted them! I think the first 18 are especially worthwhile.
gelisam··on Chibi-Scheme
The source for the manual is still up, and is quite readable despite the few style annotations:

http://code.google.com/p/chibi-scheme/source/browse/doc/chib...

Note: I don't have access to the original manual link either, so I can't confirm that it's exactly the same document. It describes the language in details.

Page 1 of 2Next →