Hacker Newsnew | comments | show | ask | jobs | submit | jrpt's commentslogin
jrpt 45 days ago | link | parent | on: New Haxe website

I hope Haxe succeeds even more than it already has. Congrats guys.

What's a good and up-to-date Haxe tutorial for making mobile apps, targeted at Mac developers?


Translation of terms: Play -> ply (or half-move) Match -> game

The data doesn't support the conclusion that chess is becoming more defensive. It could be that time controls or new rule changes have changed the play. For instance, one proposed rule change is to not allow draws before move 50, which would definitely impact the number of moves.


rhiever 46 days ago | link

>The data doesn't support the conclusion that chess is becoming more defensive.

That's a good point. I weakened the wording to make it clear that I'm speculating.


jrpt 46 days ago | link

Relatedly, if you want to analyze PGNs, I put together some Python code that can analyze PGNs in combination with a chess engine. It can also draw chess positions, if you find interesting positions you want to programmatically draw:


I'm kind of hoping someone will do a thorough analysis of the types of moves chess grandmasters make during a game. For instance, here is a chart from a GM book that categorized moves into four categories: http://imgur.com/BMOElXN


rhiever 46 days ago | link

Nice! I've been needing a tool like this for these chess analyses. Do you have docs showing how to use the scripts?


jrpt 46 days ago | link

Not really, it was mostly made for my own use then thrown on Github in case someone wanted it. It works for most games, but isn't guaranteed to be able to parse all games. I added example code to the readme.


I remember my neighborhood getting pledges to donate towards a common goal, so the idea's been around pre-2001. I think the idea has been around for centuries, looks like it was used with the Statue of Liberty's pedestal: http://en.wikipedia.org/wiki/Crowdfunding

There's an argument that modern crowdfunding is important enough that maybe Brian Camelio is the father of [modern] crowdfunding.


No, I wasn't aware of that, but that is interesting.

Betty just grew out of my cheat sheet of commands. I was tired of repeatedly looking up things in my cheat sheet or Google, and decided to make this.

The current project has a limited number of commands, but I am hoping that by making it public, others will issue pull requests with things they'd want to use.

Its current state is command line only, which is for power users. But thinking ahead, on the roadmap I wrote that by the time it reaches v1.0, I'd like it to be extensible. This means it can be used from text-to-speech apps or whatever. Some futuristic use cases: I'm sitting on my bed, with my computer on my desk, and say "Betty: next song" and it just works. Or I'm running on my treadmill, talking aloud: I'd say "Betty: open the New York Times in Chrome" then "Betty: read me this article" and it just works. That'd be cool. I don't know specifically how to do everything I'd want to do, but those are the sorts of far future things that would be cool. In its current implementation, it's mainly for not having to keep looking up commands or options.


the_af 66 days ago | link

That would be cool indeed and I hope my comment didn't sound too negative. And you should definitely take a look at Inform (and similar), it's amazing what they can do. I think some interpreters are open source (edit: it seems it's not, I remembered incorrectly).


rolux 66 days ago | link

Ironically, with version 7, Inform itself switched to natural language syntax. The following is valid Inform 7 source code:

`The iron-barred gate is a door. It is north of the Drawbridge and south of the Entrance Hall. It is closed and openable. Before entering the castle, try entering the gate instead. Before going inside in the Drawbridge, try going north instead. Understand "door" as the gate.`

However, what makes a command like "examine sword, then take it and give it to the wizard" complex is not the parsing, but the world model. What if examining the sword reveals an engraving saying "Never hand this to a wizard"? What happens to giving if taking fails? What if the wizard himself is holding the sword? What if he attacks anyone holding a weapon? Etc.

Writing a natural language command line interface seems a lot more straightforward.


e12e 66 days ago | link

Unfortunately, as I understand it, while the "old" v6 toolset is open, the "in" tool that takes "regular" text and turns it into v6 "code" is gratis, but not open sourced:


Some more on how inform7 differs from more traditional interactive fiction systems:


As for this tool: I like it. I like the idea that it's simple, and that the author didn't let details like it being difficult to do "well" or "better" stand in his way. I've thought along the same lines many times, not so much "how did I do _ (solution often involves awk, sort, uniq et al) -- I'm too familiar with the command line for that, but rather: Jeez, you've got a smart phone. The one guaranteed interface that works is audio in/out. How hard could it be to deploy solid limited domain voice control coupled with a dead simple state-machine for doing stuff like "next song", "stop", "play", "accept call".

I wonder if these projects (there must have been projects, right, ever since the first uptake of mp3s) get the first part working, then some moron suggests that the user will expect to be able to do "play song such-and-such by such-and-such" -- and then it's no longer (strictly) limited domain, and that doesn't work, so the scrap the whole thing.

[edit: Some more on "newstyle" inform vs traditional IF:] "A Comparison of TADS 3 and Inform 7" http://brasslantern.org/writers/iftheory/tads3andi7.html


llamataboot 65 days ago | link

Inform was my very first programming language. Now that I code in Ruby all day, I'd probably find something like TADS less frustration prone, but Inform is incredibly powerful for its domain.


dsr_ 66 days ago | link

Here you go: http://www.eblong.com/zarf/glulx/


Al-Khwarizmi 66 days ago | link

Here is another modern interactive fiction system of which I'm the creator and maintainer. It is fully opensource (BSD license): http://code.google.com/p/aetheria/

It can also parse sentences like the one with the sword and the wizard shown above. It's really not very difficult to achieve those things, as imperative sentences have pretty uniform characteristics that make the problem of parsing imperatives much easier than general parsing. As said in another comment, the bulk of the complexity of these systems is in the world model, not in the parsing.

A drawback is that, although the system works for several languages including English, the documentation for game developers/IF writers is only in Spanish at the moment. Collaboration for translating it to English would be very welcome.


thom 66 days ago | link

The very smart people at Wit.AI[1] are building a backend for this sort of thing. You could do worse than hook into that in the short term.



sp332 66 days ago | link

My favorite command-line parser was in the (now-defunct) Ubiquity [edit: not unity] project from Mozilla. It had internationalized parsing, extendable verbs and noun types.


edit2: another link https://wiki.mozilla.org/Labs/Ubiquity/Parser_2


topdownjimmy 66 days ago | link

Yes! I remember this!



sp332 66 days ago | link

And "Parser 2" was much better than that! It could predict verbs from nouns and use multi-word verbs without hyphens.


jrpt 66 days ago | link | parent | on: Ask HN: Idea Sunday

Hey, I had been thinking about this and decided to actually publish it on Github today:


It's not super full featured yet but I use it, most often for iTunes stuff.

- Jeff


bradchoate 66 days ago | link

Nice! Starred, and I'll check it out.


Here's two super easy test ideas that can produce big wins.

1. Change text, specifically around your value proposition. Emphasize different things and see what happens.

2. Remove content. Make the page more focused on what's important. Here's an example that increased account creation by 43% at Optimizely: http://blog.optimizely.com/2012/10/09/optimizelys-100000th-e...


It depends. What is your use case for the CRUD app? Who will be using it?


This calculator makes reasonable assumptions. For example, it doesn't use bootstrapping, and it assumes a normal distribution. I don't see how making these assumptions makes the calculator bad, it just means if you are a stats person who wants to do something different, you'll need to implement your own script. Outside of the HN crowd, there are people who don't code, who nonetheless work with a/b tests, and still need a measure of statistical confidence.

Since a binomial distribution approaches a normal distribution for large N, that's a valid assumption to make.

The arguments in this thread over which is the precise distribution are over analyzing, in my opinion. If I had an experiment that gave one winner with a binomial distribution, and a different winner with the normal approximation, I'd feel little confidence in the results and want to run it again or collect more data. I don't see how that would happen though.

Bootstrapping would be better, sure, but it would be confusing for an a/b test calculator to give you different numbers each time you refresh the page.

You're free to write your own R scripts if you want to do it yourself.

I agree with martian's advice about figuring out a minimum number of visitors you expect to need before analyzing the data, or else you're at risk of biasing the experiment by declaring a winner prematurely.


The arrows are better because they're shorter, more math-like, and because there's two of them (skinny and fat arrows) that do useful things.

For what it's worth, the arrow syntax is likely going to be in JS at some point: https://mail.mozilla.org/pipermail/es-discuss/2012-March/021...


The 1024/2048 games are themselves clones of Threes: http://asherv.com/threes/

Threes is doing really well in the app stores right now.



Guidelines | FAQ | Lists | RSS | Bookmarklet | DMCA | News News | Bugs and Feature Requests | Y Combinator | Apply | Library | Contact