Hacker Newsnew | past | comments | ask | show | jobs | submit | bryanbibat's commentslogin

Daniel (HN staff) asked me to repost it. Said they were trying something out.

There were a couple of big changes in the game since I posted that, though.


I see, cool.


I don't think it's going to anywhere as popular as 2048. zero's "oh crap I clicked the wrong number ruining my 30+ chain just because I wasn't paying attention for a second" is much more frustrating and more common than 2048's "I filled up 3 rows so I have to take a chance breaking my 1024-512-256-128 row" :P

The "click separate circle to start a new chain" seems a bit risky - when I play the game on my phone, dragging/swiping tends to skip numbers. I'll try implementing the "clear selection" button suggested by the other commenter first.


I found that the easiest consistent strategy is to play it like Minesweeper: start with randomly clicking (to gain time) until you find it too risky, then start with the easy portions (2-3 chains like 5-5 and 3-6-1 to clear out blockers, also remove 1s and 2s to increase overall average value), then move on to the difficult part when you're ready (chaining 40+ numbers when you have a lot of time).

There are of course other strategies, but I'll leave that for others to discover. :D


wbhart got the gist of it.

Here's an even longer version of the rules:

Click/tap numbers to connect them to a chain. You can only connect numbers that are at the left, right, top, bottom of the last selected number. As a faster alternative, you can also drag/swipe through the numbers.

When the sum of the chain ends in zero (ie. sum % 10 = 0) you get rewards and side effects depending on whether the chain's length is composite or prime.

- if it's composite (e.g. chain length is 4, 6, or 8 digits long), you gain 2 seconds on your time for each digit connected. However, each digit also gives you a 1 in 4 chance of replacing a digit in the grid with a "blocker", a cell that cannot be selected. - if it's prime (e.g. 2, 3, 5), you only gain 0.5 seconds for each digit, but instead of spawning blockers, each digit now has a 1 in 5 chance of removing a blocker in the grid.

Either way, the point value of the chain is ((sum / 10) ^ 3) * 5.

So connecting 1-2-3-4 gives you 5 points and 8 extra seconds but has 4 chances of spawning blockers. On the other hand, connecting 9-3-8 gives you 40 points, 1.5 extra seconds, and 3 chances to clear blockers.

Game ends when the time runs out. The goal is 1 million points, but the game will not stop you from playing when you reach that point.


It's in the "Rules" part that shows up when you click "Start Game". I've also expanded the RPS in the navbar to make it even more explicit.


> I think PHP is the perfect language for beginning web development for two reasons: "Direct HTML embedding" and "Straightforward file organization"

After thinking about it a bit, it seems that your reasons for suggesting PHP for beginners are about the same as the reasons people gave three decades ago when suggesting BASIC as a language for beginners, namely the norm of having GOTO and global variables everywhere.

Just as GOTO and global variables make it easy for a beginner to easily pick up programming, embedding raw code in your pages and having only one file organization makes it a lot easier to pick up web programming. And yet at the same time, all four are eventually shown to be "considered harmful" - the only ones who advance are those who are willing to abandon the first things they learn while the rest are doomed to mediocrity.

Now don't get me wrong, I don't think PHP or even BASIC is inherently bad (well, they are, but at least they're not MUMPS or Brainfuck). I just don't think teaching bad practices to newbie developers is a good way to promote a language.


And considering Hacker News is based off Reddit...


If it's a simple mass-assignment vulnerability, the Rails team has nothing to do with it given that mass-assignment is a feature and the vulnerability is well documented:

http://edgeguides.rubyonrails.org/security.html#mass-assignm...

Heck, I even learned this way back when I was learning Rails:

http://railscasts.com/episodes/26-hackers-love-mass-assignme...


The fact that this is even a discussion is sufficient for me to consider it a bug. It's irresponsible of the Rails team to leave this default the way it is given that it's long been a known risk.

That they like to consider it a "feature" doesn't make it any better - it just makes them look like idiots


I was going to say the same thing.

The Security guide does describe the issue, and even describes attr_accessible as a "Countermeasure". http://guides.rubyonrails.org/security.html#mass-assignment

Without any precautions Model.new(params[:model]) allows attackers to set any database column’s value.

Unbelieveable! PHP showed long ago that allowing a web request to auto-populate arbitrary members in app objects is just a spectacularly bad idea.

Even the canonical "Hello Rails" example code neglects to specify attr_accessible. http://guides.rubyonrails.org/getting_started.html#hello-rai...

The general attitude of Rails developers towards security here is really shocking. I don't think I could recommend anyone use Rails.


Er.. that's because there's nothing malicious an attacker can do with the mass-assignment vulnerability in the "Hello Rails" app?

Being able to change the :id or timestamps of the post isn't anywhere near the SQL injection vulnerabilities I've seen in many tutorials in other languages/frameworks.

I agree, though, I wouldn't recommend Rails to people who can't bother to read documentation.


Been there done that. Wait a couple of years and those people from the second company will start dropping like flies.

They either get a personal life and move to a company that allows that, or burnout / go insane because they don't have anything to live for.

Not everyone is built to live just for "code".


1. Maybe. I have no plans to teach Rails 3.1 for the rest of the year, but on the other hand writing about 3.1 will get me up to speed on the new features faster than simply writing some throwaway programs.

2. What Ryan Bigg said. :D I sometimes get a couple of extra hours at the end of a training course to teach topics like Haml, Devise, Paperclip, etc. But that's only if the students are experienced developers; I'd get in trouble if I put these topics in the course outline but couldn't cover them because the students had to take time to absorb the main topics.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: