Skip to main content

Web: PyCon 2005

I just finished attending PyCon. Specifically concerning the Web, I'd like to direct your attention to:

http://pyre.third-bit.com/pyweb/index.html
Basically, there are too damned many Web application frameworks, and they all assume you know what you're doing. The PyWebOff is an attempt to figure out which is best from a newbie's perspective. Hopefully the talk will be available in video format later. I just finished reading the blog. She said, "Please, whatever you do, don't try to solve the problem by writing another Web application framework!!!"

http://www.python.org/peps/pep-0333.html
Ian Bicking gave a talk on this. It's an attempt at consolidating some underlying Web application API's. Basically, it's an attempt at making up for lack of a servlet API. It's great in that Web application framework authors may be able to share some code, but it still doesn't address the fact that there are too many choices for the user. Furthermore, it does nothing for the API's exposed to the user himself. These aren't changing, it's the underlying API's that are changing. The API exposed to the user has to remain pretty much the same or else existing code will break :-/

http://www.python.org/pycon/2005/papers/75/LivePage.pdf
Donovan Preston, the author of Nevow, did a talk on writing dynamic Web applications. About the coolest thing is that he transparently transmits selected JavaScript events to the server so that he can write the callbacks in Python. From Python, he can do things like "client.myDiv.innerHTML = 'foo'". Furthermore, he uses an iframe that is always waiting for a response from the server. In this way, he can have the server "push" data to the client at anytime. I'm a bit bummed because I thought of almost all of these things before I had heard of him doing it, but he beat me to the punch in writing a proposal for PyCon. Nonetheless, it's always a pleasure talking to him.

http://sqlobject.org
I just ran into this. It's from Ian Bicking.

http://www.python.org/moin/Aquarium
I didn't write this, but I'm definitely impressed with how well the author summarized Aquarium. I've talked to him via email, and he sounds like a great guy. In fact, he suggested SQLObject would be a good combination with Aquarium, which is news to me ;)

I'm a little bummed about the whole WSGI thing since so much of it is really a duplication of the API's that Aquarium sought to lay down. Porting Aquarium to WSGI is like making an adaptor for an adaptor :-/ Nonetheless, I will probably make an Aquarium WebServerAdaptor to support WSGI's API.

I'm also a bit bummed about the "Ruby on Rails" thing, since Aquarium had the same functionality in a subproject called Piranha about three years ago (both automatic retrieval of data from an RDBMS and automatic code generation for a GUI to work with that data). The essential difference wasn't features, but it was accessibility for newbies, and it didn't help that I "left the Web" for about two years to work on the IPv6 project. In the future, I'm hoping to direct more of my attention to the newbies.

Comments

Popular posts from this blog

Drawing Sierpinski's Triangle in Minecraft Using Python

In his keynote at PyCon, Eben Upton, the Executive Director of the Rasberry Pi Foundation, mentioned that not only has Minecraft been ported to the Rasberry Pi, but you can even control it with Python . Since four of my kids are avid Minecraft fans, I figured this might be a good time to teach them to program using Python. So I started yesterday with the goal of programming something cool for Minecraft and then showing it off at the San Francisco Python Meetup in the evening. The first problem that I faced was that I didn't have a Rasberry Pi. You can't hack Minecraft by just installing the Minecraft client. Speaking of which, I didn't have the Minecraft client installed either ;) My kids always play it on their Nexus 7s. I found an open source Minecraft server called Bukkit that "provides the means to extend the popular Minecraft multiplayer server." Then I found a plugin called RaspberryJuice that implements a subset of the Minecraft Pi modding API for B

Ubuntu 20.04 on a 2015 15" MacBook Pro

I decided to give Ubuntu 20.04 a try on my 2015 15" MacBook Pro. I didn't actually install it; I just live booted from a USB thumb drive which was enough to try out everything I wanted. In summary, it's not perfect, and issues with my camera would prevent me from switching, but given the right hardware, I think it's a really viable option. The first thing I wanted to try was what would happen if I plugged in a non-HiDPI screen given that my laptop has a HiDPI screen. Without sub-pixel scaling, whatever scale rate I picked for one screen would apply to the other. However, once I turned on sub-pixel scaling, I was able to pick different scale rates for the internal and external displays. That looked ok. I tried plugging in and unplugging multiple times, and it didn't crash. I doubt it'd work with my Thunderbolt display at work, but it worked fine for my HDMI displays at home. I even plugged it into my TV, and it stuck to the 100% scaling I picked for the othe

Creating Windows 10 Boot Media for a Lenovo Thinkpad T410 Using Only a Mac and a Linux Machine

TL;DR: Giovanni and I struggled trying to get Windows 10 installed on the Lenovo Thinkpad T410. We struggled a lot trying to create the installation media because we only had a Mac and a Linux machine to work with. Everytime we tried to boot the USB thumb drive, it just showed us a blinking cursor. At the end, we finally realized that Windows 10 wasn't supported on this laptop :-/ I've heard that it took Thomas Edison 100 tries to figure out the right material to use as a lightbulb filament. Well, I'm no Thomas Edison, but I thought it might be noteworthy to document our attempts at getting it to boot off a USB thumb drive: Download the ISO. Attempt 1: Use Etcher. Etcher says it doesn't work for Windows. Attempt 2: Use Boot Camp Assistant. It doesn't have that feature anymore. Attempt 3: Use Disk Utility on a Mac. Erase a USB thumb drive: Format: ExFAT Scheme: GUID Partition Map Mount the ISO. Copy everything from