This is just yet one more example how Fog Creek, as a company, consistently demonstrates that they are a classy bunch of guys.
They treat their customers and developers well, Joel has contributed quite a bit of knowledge to the startup community, and on top of that, open-sourcing a dead product so that its fans can keep it going should they want to.
Thanks for your comments. The two devs who built the entire site, and pushed for open sourcing it are amazing people, and we're lucky to get to work with them.
The most annoying thing is the name. Putty is a well known SSH client and terminal emulator. On seeing the name WebPutty I'd believed Putty had been ported to a web interface.
I had never heard of WebPutty until this post, and when I saw the headline I got excited that I could install PuTTY and use it in my browser. I understand where the devs got the name as explained in the post down below this, but even clever names need to have some consideration of existing product names.
I'm following the step-by-step instructions to run it on my google app engine account, but I get an error when I run "fab deploy." It asks me for my email and does a bunch of stuff, but then this happens:
Zipping ziplibs.
Traceback (most recent call last):
File "/Library/Python/2.6/site-packages/fabric/main.py", line 712, in main
args, kwargs
File "/Library/Python/2.6/site-packages/fabric/tasks.py", line 327, in execute
results['<local-only>'] = task.run(*args, **new_kwargs)
File "/Library/Python/2.6/site-packages/fabric/tasks.py", line 112, in run
return self.wrapped(*args, **kwargs)
File "/Users/swiss/webapps/WebPutty/fabfile.py", line 53, in decorated_func
return func(*args, **kwargs)
File "/Users/swiss/webapps/WebPutty/fabfile.py", line 66, in deploy
ziplibs(env.deploy_path)
File "/Users/swiss/webapps/WebPutty/fabfile.py", line 178, in ziplibs
os.path.walk(to_zip, add_file, (zip_file, os.path.dirname(to_zip)))
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/posixpath.py", line 224, in walk
func(arg, top, names)
File "/Users/swiss/webapps/WebPutty/fabfile.py", line 177, in add_file
zip_file.write(os.path.join(dir_name, name), os.path.join(dir_name[len(common_base):], name))
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/zipfile.py", line 1024, in write
fp = open(filename, "rb")
It is attempting to zip a directory in the fabfile. You don't need to zip the contents of an app to deploy it. Try deploying using the SDK directly with:
$ python2.5 appcfg.py -A appname update .
replace 'appname' with the name of the app you registered.
Thanks! That worked. I get "Error: Server Error" when visiting my appspot url though (drpepecss.appspot.com)
Also, getting this error after successful deployment:
Completed update of app: drpepecss, version: 1
Uploading cron entries.
Uploading task queue entries.
Reverting /Users/Varun/Documents/workspace/webputty3/js_css_packages/packages.py
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/fabric/main.py", line 712, in main
*args, **kwargs
File "/Library/Python/2.5/site-packages/fabric/tasks.py", line 327, in execute
results['<local-only>'] = task.run(*args, **new_kwargs)
File "/Library/Python/2.5/site-packages/fabric/tasks.py", line 112, in run
return self.wrapped(*args, **kwargs)
File "/Users/Varun/Documents/workspace/webputty3/fabfile.py", line 53, in decorated_func
return func(*args, **kwargs)
File "/Users/Varun/Documents/workspace/webputty3/fabfile.py", line 76, in deploy
clean_packages(env.deploy_path)
File "/Users/Varun/Documents/workspace/webputty3/fabfile.py", line 89, in clean_packages
compress.revert_js_css_hashes(base_path)
File "/Users/Varun/Documents/workspace/webputty3/compress.py", line 23, in revert_js_css_hashes
popen_results(['hg', 'revert', '--no-backup', path])
File "/Users/Varun/Documents/workspace/webputty3/compress.py", line 152, in popen_results
proc = subprocess.Popen(args, stdout=subprocess.PIPE)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/subprocess.py", line 594, in __init__
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/subprocess.py", line 1097, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
I wanted to use it but couldn't find a way to use a tool that didn't play with source control. It didn't work for sites too simple to need Git because it only hosted CSS and thus made the project too complex.
This looks great, I wasn't aware this existed. Can anyone share some similar tools they use to speed up that Ctrl+S and changing between windows process that happens when editing CSS?
Not for editing the whole website, but we have launched a web widget editor recently (http://designduke.com). You can edit individual HTML widgets like buttons, input boxes, forms etc :)
They treat their customers and developers well, Joel has contributed quite a bit of knowledge to the startup community, and on top of that, open-sourcing a dead product so that its fans can keep it going should they want to.