sshrin | 12 years ago | on: Amazon India is now live
sshrin's comments
sshrin | 13 years ago | on: The Central Limit Theorem Visualized with D3
sshrin | 13 years ago | on: The Central Limit Theorem Visualized with D3
sshrin | 13 years ago | on: A lot of free ebooks
sshrin | 13 years ago | on: Free Interactive Java Tutorial
Now, as it happens, I have some experience trying to get Java to compile and run on Google App Engine. Actually, at the outset I thought it was impossible because of the way the sandboxing works on App Engine (writes to the file system are disallowed and the javax.tools. package is not part of their white list). So straightforward approaches such as invoking the Java compiler from code will not work.
Here are various approaches that I have tried and the results:
1. Use Beanshell and approximate Java:
Beanshell is a scripting language for the JVM with Java like syntax. It also has a "strict" mode where it will behave like a strongly typed language.
Pros: you can run this on App Engine and can trust Google Engineers to worry about security of their sandbox. You also get the scalability of App Engine.
Cons: It is not really Java and language features like Generics are not supported. The error messages are also not as useful as what the regular Java compiler outputs.
2. Get users to compile code on their own machines and upload the .class file. Then write a class loader that will load this class and then execute whatever method you need to.
Pros: Works perfectly and no language issues.
Cons: The interactivity is lost to an extent. Also, beginners need to start worrying about installing Java and configuring CLASSPATH etc. from get go.
3. Use an in-memory compiler like Janino. Pros: Works like the Java compiler and error messages are useful.
Cons: it does not support generics and it also does not support other features like the for(String value : values) {} syntax.
4. Use Google App Engine as the front-end and then run a compiler-as-a-service somewhere else (Linode etc.).
Pros: Full language and you are in control.
Cons: You better know how to sandbox the code (chroot / SecurityManager etc).
5. Use Google App Engine as a front-end and outsource compilation and execution to some other service like Ideone.
Pros: Full language support and someone else worries about security issues.
Cons: Expensive (the Ideone API only allows 1000 free submissions per month).
If you know some other method, please let me know. I love trying to see how to make things work on App Engine (I learn quite a bit this way).
(minor edits)
sshrin | 13 years ago | on: Free Interactive Java Tutorial
"Our website has over 50,000 monthly hits - programmers from all around the world visit LearnJavaOnline.org to increase their professional programming expertise in the Java programming language."
However, I notice that the domain was registered very recently (on 19-Feb-2013) and there are hardly 15 tutorials on the site and most of these pages are blank.
Edit: looks like this site is just using a template. Please see the OP's response to this comment.
sshrin | 13 years ago | on: Ask HN: Learn Math the Hard Way
sshrin | 13 years ago | on: Codecademy closes $10M round
sshrin | 14 years ago | on: Google's Code Editor
"Google Apps Script gives users a new level of control over Google products. Now you can access and control Google Spreadsheets and other products using JavaScript scripts that you write yourself and can share with others. Unlike browser-based JavaScript, the scripts you write run directly on Google servers in order to provide direct access to the products they control.You can also use Google Apps Script from Google Sites."
This online code editor seems to be a new and improved UI for creating / editing apps scripts. That said, this editor isn't proprietary. A quick look at the source shows that they're using CodeMirror (http://codemirror.net/). We've tried out various code editors for unclassroom.com (where I work) and code mirror has been the best to work with in terms of features, ease of use and comprehensive documentation. The second version (CodeMirror2) is really top notch compared to other alternatives out there.
sshrin | 14 years ago | on: Android Fragmentation Visualized
sshrin | 14 years ago | on: Rainbow.js - code syntax highlighting in 1.2kb
sshrin | 14 years ago | on: Rainbow.js - code syntax highlighting in 1.2kb
sshrin | 14 years ago | on: HN front page - 1,350 visits in 30 mins: apologies, learnings & statistics
sshrin | 14 years ago | on: (un)classroom: Learn PHP and build apps in your browser
sshrin | 14 years ago | on: (un)classroom: Learn PHP and build apps in your browser
http://blog.unclassroom.com/2012/03/getting-on-hn-front-page...
sshrin | 14 years ago | on: (un)classroom: Learn PHP and build apps in your browser
Thanks and you can also reach me at [email protected].
sshrin | 14 years ago | on: (un)classroom: Learn PHP and build apps in your browser
The login is required because otherwise we can't save and pre-load the code for you the next time you visit the same activity.
Edit: what I mean to say is the app itself is secure and so is our sandbox that runs the code and this is more of a UI issue that we'll fix immediately by removing the login prompt.
Edit: The paywall is going away as well :).
sshrin | 14 years ago
That said, we're still very much in alpha so please excuse bugs (UI / otherwise) but we'd love your feedback.
You can also directly e-mail me at [email protected] or find out more at http://about.unclassroom.com/.
Also, just to be clear we have nothing to do with codecademy as zds has rightly pointed out in this thread. The title might be misleading so apologies in advance if it is. Unable to change it though.
Would love feedback!
sshrin | 14 years ago | on: Why Facebook Connect Shouldn't Be Your Only Sign-in Option
sshrin | 14 years ago | on: Stanford Free Classes – A review from a Stanford Student
They seem to be two different initiatives. I know for sure that the ones on the SEE page are recorded video lectures from the actual live classes.