6 Blog Entries for 2006
First Django Post
Hello, this is my first Django powered blog post.
I've attempted to create a blog a few times, switched to blogger, and now am creating a blog again. Mostly for the reason of learning Django. Plus, I like having things on my own server so when I forget exact URLs or passwords I can easily look them up. Anyway, welcome to my new Django powered weblog.
The body of these blogs are using Markdown, so I have to learn how to "mark up" my text with links, images, emphasis, etc. Of course that will be easy enough.
All of ...
Safari's Hidden Debug Menu
I just discovered that Safari has a hidden debug menu that you can enable with the following command in Terminal:
defaults write com.apple.safari IncludeDebugMenu -bool true
After restarting Safair there is now a "Debug" menu with lots of functionality. Things like:
- Show DOM tree
- Turn On/Off RSS Support
- Log Javascript Exceptions
- Show Javascript Console
-
A bookmark to the Shortcuts page at
file:///Applications/Safari.app/Contents/Resources/Shortcuts.html - Import bookmarks from NS/IE/Mozilla
- Open page with an alternate browser
- User Agent settings
- Change the supported protocols (http:, ftp:, etc)
Apple releases Python based calendar server
During the WWDC Apple announced a number of open source projects. One interesting project for Python was the release of the iCal Server which is Python based. It uses the Twisted networking framework as its server component and all the other bits are Python. It implements CalDAV. The source page is here: http://trac.macosforge.org/projects/collaboration.
Javascript becoming more Pythonic?
http://developer.mozilla.org/en/docs/New_in_JavaScript_1.7
Javascript is picking up Iterators and Generators (with the yield keyword). And array comprehensions! Does this look familiar?
var ten_squares = [i * i for (i in range(0, 10))];
I wish browsers would simply open it up to allow:
<script type="text/python" src="mypython.py" />
Most graphical toolkits have APIs for many languages, why not the browser?
But I like seeing that Javascript is seemingly becoming more Pythonic.
Pygmalion - Python Interface to Ma.gnolia
This is very cool...
>>> import pygmalion
>>> dir(pygmalion)
['Exceptions', 'Handlers', 'Pygmalion', 'Types', '__builtins__', '__doc__', '__file__', '__name__', '__path__']
>>> pyg = pygmalion.Pygmalion('your API key here')
>>> dir(pyg)
['__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__', 'apikey', 'bookmarks_add', 'bookmarks_delete', 'bookmarks_find', 'bookmarks_get', 'bookmarks_tags_add', 'bookmarks_tags_delete', 'bookmarks_tags_replace', 'bookmarks_update', 'headers', 'tags_find']
>>> bookmarks = pyg.bookmarks_find(person='robhudson')
>>> b = bookmarks[0]
>>> b
<Bookmark: Pygmalion (http://code.google.com/p/pygmalion/)>
>>> dir(b)
['Tags', '__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__', 'created', 'description', 'id', 'owner', 'private', 'rating', 'screenshot_url', 'tags', 'title', 'updated', 'url']
>>> b.title ...
MacPorts and removing fink
I discovered MacPorts (nee DarwinPorts) this weekend and for some reason I like the way DarwinPorts works over how Fink works. So I set out to remove Fink and install MacPorts. Then ran into some troubles...
First was how to uninstall Fink? I found this blog post which got me most of the way. I ran this command found there to remove most packages successfully:
fink list | perl -lne '/^\s*i\s+(\S+)/ and print $1' | xargs fink purge
When that completed, I simply removed the /sw directory:
sudo rm -rf /sw
Next I installed MacPorts and attempted to selfupdate ...