Hacker News new | past | comments | ask | show | jobs | submit login
PracticeJS – Coding exercises in a mobile friendly web app (practicejs.com)
116 points by rem_one 7 months ago | hide | past | web | favorite | 19 comments

I think coding on a phone is doable if we "rethink" the keyboard part.

I've built a PoC (also a Web app, but requires a backend), video demo here:


The neat thing is that all the heavy-lifting of syntax highlighting, autocomplete, etc are done by Vim, so I don't need to port everything to the front-end.

This seems very similar to codingbat.com. My CS teacher in high school made me do codingbat and it was very helpful; I could see this site doing the same for JS learners. Codingbat is not as mobiles optimized but is still usable on my phone. As another commenter mentioned, some important differences are:

Number of problems, sorted into levels of difficulty / focus areas (this has only one problem that I would consider 'hard')

Help (not just solution) is available to those who want it

Helpful error messages

Syntax highlighting

That said, I really like the interface here. It works well on my phone and looks nice on a desktop, and is straightforward and simple. The only issue is that keyboard auto capitalization/autocorrect gets annoying to deal with on a phone. Hacker's Keyboard (free software Android keyboard) could help with that; it would be nice to have a link to something like that for Android+iOS on the website.

Auto capitalization can also be fixed with a cheeky little `autocaptialize="off"` attribute.


I'm not convinced coding on a phone will ever be a thing. I've tried a few challenges on my phone while interviewing and it was just a clunky and slow experience

I don't think coding an entire app ever will be. But mini training exercises? Maybe.

AWD editor has a built in sftp plus something like juicessh for command line server access makes it not too bad even on a small phone.

I like the initiative, but the 'editor' on desktop is just an input field. Would have benefited from something like Ace Editor or CodeMirror.

Not sure what the test cases are for the Fibonacci sequence (just happened to pick that one first), but it gives an error for my code, and I'm not able to figure out why. (please ignore my bad variable names)

  function(index) {
   var fib = [0,1];
   for(var i=2; i<index; i++){
   return fib[index-1];

Your function will return 2 for index = 4, whereas it's expecting 3.

Then are the instructions not clear enough, or am I just missing something....

From the website: "For example, the sequence [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] forms the first ten entries of the Fibonacci sequence." Entering 4 should return 2 in this case, which is correct? I don't get it.

Index 4 is the fifth element, 3. Index 0 is the first element (a zero).

Reread the examples.

Hmm...I see. Thank you for the help!

1) would benefit from some kind of keyboard help so that it’s not capitalizing every first character.

2) getting errors when trying to use single or double quotes which makes things difficult:

>SyntaxError: Invalid character '\u201c

Otherwise, nice work.

The test cases for the Fibonacci sequence is terribly bad, you can cheat by returning fn = n=>[0, 1, 1, 2, 3, 5, 8, 13, 21, 34][n] You need random test cases and larger test cases.

Codewars is definitely better than this.

Neat! Are there any programming keyboards for iOS out there that help with common operators /characters?

Can you add syntax highlighting to this?

Messagease is really good for coding and typing at a shell prompt, etc.

Seems very procedural-oriented. Would be really cool to see a procedural and functional orient solution.

Terse and you don’t learn anything. You should build levels and offer explanations to YOUR code.

algodaily.com has some really good explanations

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