Hacker News new | past | comments | ask | show | jobs | submit login
Ask YC: Review my app (pycmds, a web-based command line) (pycmds.org)
14 points by csytan on Sept 29, 2008 | hide | past | favorite | 32 comments



The auto-suggest gets annoying because it's always displayed. You should only display it when you have a partial match.

This query crashes the site: http://www.pycmds.org/#youtube search for miley


I should mention somewhere that the inputs should be surrounded by square brackets. Try this: http://www.pycmds.org/#youtube search for [miley]

The auto-suggest is supposed to only display partial matches like you said. What browser/operating system are you using?


Or you should make it so inputs don't need to be surrounded by square brackets.


Bug report, when doing a search for 'albums by [muse]' (btw oops is not spelled opps ;-)):

Opps! You found a bug. Here's the skinny:

    Traceback (most recent call last):
      File "/base/data/home/apps/pycmds/1.34/main.py", line 36, in get
        out = self.dispatch(cmd)
      File "/base/data/home/apps/pycmds/1.34/main.py", line 59, in dispatch
        data = func(**kwargs)
      File "/base/data/home/apps/pycmds/1.34/pycommands/entertainment.py", line 67, in albums_by
        "type": "/music/artist"
      File "/base/data/home/apps/pycmds/1.34/pycommands/freebase.py", line 26, in mql_read
        return result['qname']['result']


Fixed :-)


It's DOM-injectable:

http://www.pycmds.org/#albums%20by%20['foo']%22%20onclick=%22alert(1)%22

It gives me Python stack traces on most funky commands.


The stack traces are intentional. Since it's an open source project, I figured I would make debugging as easy as possible.

As for the DOM injection, I will look into that after I have fixed the major bugs.


I did the same thing as you - http://geeky.siong1987.com . Anyway, I really love the way you layout your web application and it has better UI than mine. Work hard on it. My application does support API developed by developers. But, I implemented this feature in a very poor architectured way.

So, I really think that you should add the features that other developers can developer commands for you


Hi siong, Your site looks nice :)

I'm going to be working on a developer sandbox once I fix most of the major bugs. This should let people write python code in their browser and have it run on the server. The API is very simple: around 5 minute learning curve once I have the documentation in good shape.

If you're interested in collaborating, check out the project page: http://code.google.com/p/pycmds/


To be honest it's too slow to be of any use. It just feels clunky. I would use it if it were fast, but having to wait for the javascript to catchup is pointless. The autocomplete doesn't help when it pops up after I have paused for a second. If I type "you" very fast and hit tab, it won't always autosuggest in time. To make things worse, you are going to be directly competing against Ubiquity.

Another big annoyance is how dumbed down it makes a terminal. If I want to do a youtube search i feel like I should be able to simply write "youtube blue man group". I don't want to have to add in "search for" or add in square brackets around my query.

The main problem is that I can see that it's there. I use a terminal to avoid having to interact with an interface. I agree with Google's Chrome philosophy, that they don't want you to notice the browser at all. Spend your time figuring out how to make it faster and easier and then you've got something you can show off. I would be worried about Ubiquity though as a browser plugin can work so much faster than javascript.


It's cool, but I don't see how it's useful at all. Some of the commands are even more verbose than going to google and typing in a search.


Currently the commands that are available are there just for demonstration purposes. I think it will become more useful when users add their own commands, which will be pretty simple to do once I complete the sandbox.

As for the verbosity, it's there because once you read the command, you should be able to tell: 1. what it does, and 2. what type of input is required

Typing shouldn't be a problem with auto-complete. It should actually be faster than a normal command line!


You need to tell people to enable javascript.

Also please make the obvious commands like "help" or "info" do something useful.


I think "bash for the web" is a cool idea. I think it might make more sense to see this as a firefox plugin, though.

One reason we see these things as hosted apps is because authors are excited about users doing a lot of the work for them and submitting commands. (I know, I've worked on something like this).

Mostly, I think the core language and interface are more important than the libraries, and these will run better client side (unless you connection sucks). The core has to be robust because only real nerds will use it anyway, and they won't use it if it won't save them much time.

So, make the core more important, run it locally, make the user submitted libraries easily downloadable/syncable, and always assume the core language is more imporant that library usage (so optimize keystokes for core operations).

my 2 cents.


Look up Ubiquity.


I bet it's great, only it's almost utterly unusable in WebKit/Safari.


I've been testing it in the latest version of Safari on Windows XP, and there doesn't seem to be any major bugs. Could you tell me what isn't working?


When I type a key in the input thing, it's as if I hit PgUp.

I get completion, select an item and hit enter. Not only does it PgUp for every key, it also keeps the autocomplete visible after I hit Enter.

And otherwise slow. Try WebKit nightly on OS X.


The scrolling bug should be fixed now, and I think the auto-complete bug should also be fixed.

I turned off box shadows in safari, so that might speed things up a bit. There's still a lot of room left for javascript optimizations after I get it working decently in most browsers.


Thanks, I'll look into that


1)Why require brackets? They seem superfluous. Unless theres something in the design of your code that requires them, I see them doing no good. 2)Shorthand versions of commands. "wiki stargate" instead of "wikipedia stargate" 3) The UI is nice. It took me a second to realize it wasn't a plug-in/extension like Ubiquity, but I had to type in commands at the bottom.

What are you reasons for making this app? I like it, but I can't see myself using it every day.


Thanks for asking :)

Adding the brackets greatly simplifies things for the implementation of the command dispatcher/suggester. In addition, in some situations it can be difficult tell what part of the command is an input and what isn't.

For example, let's say a user intends to use the command: translate [text] to [language]

They type:

translate hey buddy! i found this neat guide to japanese

There are two ways to interpret this, both of which are valid:

1. The user typed a full command.

Bracketed version:

translate [hey buddy! i found this neat guide] to [japanese]

2. The user isn't finished writing the text to be translated, and should get a list of suggestions.

Bracketed version:

translate [hey buddy! i found this neat guide to japanese]

I made this app because traditional command lines are often tricky to use. I don't enjoy looking up documentation for each and every command argument.

With this method, you get suggestions at every step of the way (try typing "films starring [").


You could make brackets optional. And change them to quotes:

  translate serendipity to french
  translate "go after" to french


Read the curses library implementation. You might find it useful.


Hi :] What part of it would be useful?


It would be helpful if you had, at minimum, at least a fraction of the 12k+ commands already available at YubNub.

http://yubnub.org/


"... It would be helpful if ..."

Of course yubnub couldn't be improved or made easier? Having said that it does claim to be a CLI.


At first I didn't notice there's a command prompt at the bottom. At least you could point visitors to it.


I use shortcuts on Firefox to do exactly the same thing, but without the need to open a web-page.


Good work. We had a similar idea and we see potential in this. Dont stop!


Why is your AuthDomain "gmail.com"?


It's an appengine app




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: