123 reputation
5
bio website
location
age
visits member for 2 years, 3 months
seen Apr 13 at 4:41

I'm the author of a natural language programming tool called EngScript, which automatically translates English sentences into Python source code.

For reference, I've posted a link to questions with tags that I'm interested in.

Right now, I'm searching for a parser that can handle ambiguous grammars.

In theory, it would be possible to represent JavaScript code using Polish notation:

def sum , foo , bar baz {
    ; var theSum + foo + bar baz
    ; = return theSum
}

for var i 0 < i 10 ++ i {
    ; print sum 5 5
}

foreach current [ , 1 , 2 3 ] {
    ; print current
}

In theory, it would also be possible to create a very concise programming language with implicitly defined parameters:

isDivisibleBy: (foo % bar) == 0
//This is a function with 2 parameters: foo and bar.

isEven: isDivisibleBy(foo, 2)

isOdd: !isEven(param1)

firstCharacter: theString[0]

lastCharacter: theString[theString.length - 1]

firstNCharacters: theString[0:end]

firstCharacterIsLastCharacter: firstCharacter(stringParameter) == lastCharacter(stringParameter)

printEach: for current in anArray{ print current }

http://rosettacode.org/ is one of the most comprehensive programming language references I've ever found.

Optionally-typed programming languages are really awesome: they combine the type safety of languages like Java with the conciseness of languages like Python.

Some cool things that I've made:

Someday, I hope it will be possible to create a programming language that mixes code from different languages into a single file, like this:

Python {
    def foo():
        return "foo"
}
Ruby {
    def bar
        return foo + " was called from Python."
    end
}

Apr
14
comment How do I become more agile in shifting between activities?
It can be difficult to focus on a very boring task for more than a couple days, especially when I'm trying to focus on it almost exclusively.
Feb
24
comment Time management strategies for computer science students
It would be useful to find a program or web application that could give daily (or hourly) reminders for deadlines, as well as the number of days remaining until the next deadline. This would make it much easier to manage deadlines.
Feb
24
comment Time management strategies for computer science students
That reminds me of this web-based prioritizer that I wrote: jsfiddle.net/fq3sy/1
Feb
4
comment How to stop vocalization habit in reading
You could try to imagine the words being spoken in your mind, I suppose. :)
Feb
3
comment Time management strategies for computer science students
Actually, I find it very difficult to focus on anything that isn't related to software development - I need to find a way to regain interest in other activities.
Feb
3
comment Is there any multi-platform cloud based Pomodoro application?
Are you referring to a specific program that already exists, or do you want someone to create a program for you (which doesn't exist yet)?
Feb
3
comment Is there any multi-platform cloud based Pomodoro application?
What kind of information do you want to store using the cloud storage client?
Feb
3
comment Time management strategies for computer science students
Perhaps I should try to develop interactive websites about the subjects that I'm trying to study - it would make studying a lot more interesting. I could even try to develop educational video games (as a method of studying), so that I could combine my homework with a hobby that I'm naturally attracted to.
Feb
3
comment Time management strategies for computer science students
Whenever I start working on a homework assignment, I often lose focus quickly, because I often think about procedural terrain generation, fractals, and cellular automata when I'm trying to study something else.
Feb
3
comment Is there any multi-platform cloud based Pomodoro application?
You can find a few web-based pomodoro timers here: google.com/…