Thursday, November 09, 2006
Wednesday, August 02, 2006
Thursday, June 15, 2006
I've installed this 'fine' piece of software called Flock... A Web2.0 version of Firefox or what ever...
It acted very friendly and offered to import a shit load of settings and bookmarks from Firefox. I agreed.
Then it suggested to use del.icio.us integration. Cool. I agreed.
Then this fucker imported and merged all the bookmarks in wrong folders and mishmashed them with the posts I had in del.icio.us. Blarg. That was annoying.. But ok. I removed them all, and decided to reimport just from del.icio.us.
And here comes the funny part. Apparently - when I pressed delete on my local bookmarks... It deleted them permanently from del.icio.us aswell! With no confirmation!!!
After getting pissed as hell, I remembered that I imported del.icio.us to Yahoo! MyWeb a couple of days ago. So I decided to save what's possible from them.
So I've used their API to get all my posts. Without using and SOAP/REST whatever, I just copied an URL from ther docs, and changed it a little.
This will return a neatly structured XML of all your bookmarks with their tags.
Then the next step was parsing this data, preparing it, and shipping it off to del.icio.us.
Here's when trusty Python comes in:
- Use ElementTree module to parse the xml using .fromstring method
- Use PyDeleicious for adding tags
All in all - about 20 lines of code.
So after 10 minutes of mucking around with python code - all my bookmarks are back in place, and Flock is in my permanent SHIT LIST (and I see I am not alone: flocksucks.wordpress.com)
This was a public service announcement from Eli Yukelzon. :)
Saturday, March 18, 2006
You can see here a 'Recent Posts' plugin, and a nifty little AJAX Chatterbox i.e. 'Shoutbox'. It took me about half an hour to write these, which is rather cool, considering this AJAX Shoutbox plugin idea that came up recently generated ALOT of buzz, for no apparent reason... Oh well. Have fun with it.
In other news - i just passed 111 posts ;)
Monday, March 06, 2006
I've implemented threaded comments! Yup. With a nice DHTML feel, pick a comment, press a reply and volia - an editor appears, and sub-comment can be added!
Monday, February 27, 2006
It was actually redicilously easy using entrypoints from setuptools.
To take a look how it is done, I've added a sample 10 line plugin that adds a 'Recent Posts' to the sidebar of the blog.
Cool stuff! Technorati Tags: turbogears, turboblog, python
Tuesday, February 07, 2006
So now we have it in TB, and so:
- Ping backs implemented (endpoint is '/RPC', method: 'pingback.ping')
- blogger API implemented 100%
- mt API implemented 100%
- metaWeblog implemented 90% (the newMediaObject does nothing)
- ...and we have trackbacks!
I'd really like to hear some comments on where do you think I should go next with this (i warn you, I will disregard any sexual references! :) ), what to implement next, and etc.
C`ya Technorati Tags: turbogears, turboblog, xmlrpc
Saturday, February 04, 2006
Wednesday, February 01, 2006
- Fixed post editing
- Fixed draft publishing
- Fixed spelling
- Fixed table names. - it's a breaking change. you'll have to recreate the DB by deleting old tables, and running 'tg-admin sql create ./createdb.py' . This was necessary to working with other backends, not just SQLite.
- First settings are in - you can now select and store default blog, and site admin.
- Blog selector - if in Site Dashboard you select 'Blog selector' as a default page, when reaching first page of the site, you'll see the list of all available blogs.
If you have suggestions - post them.
You have problems - open tickets.
You fixed bugs - submit patches!
Technorati Tags: turboblog, turbogears
Monday, January 30, 2006
Today I've hacked a bit more on the TurboBlog code. Here's what I came up with:
- Tag clouds. Yep we have those. One click to turn the list view of tags, into cloud view.
- Main page prettyfing. Avatar now looks better, tags are not stuck together
- Tag managment is complete (add/remove/rename)
- Comment managment is complete (view/mass edit/delete)
a) Settings (global and per-blog)
b) Search (i should add one on the main page, and activate those in managment parts)
After that, I think we can have a nice 0.1 release ;)
Sunday, January 29, 2006
Wednesday, January 25, 2006
I've had some nice progress on TurboBlog today, here's what we have:
- Comment submition fixed
- Blog add/delete added
- User add/delete/update added
- Post creation added (finally!)
- Admin-topbar revised, now work correctly
Technorati Tags: turboblog, turbogears, python
Saturday, January 21, 2006
Tuesday, January 17, 2006
Yep, the 5G, black one. But that's not what I wanted to post about. I wanted to post about Podcasts. It's not a new thing, but it gaining momentum these days. Read the Wikipedia, it's insightful as always.
Anyhow, I wanted to share my list of subscriptions, with little descriptions aswell:
- Audible Ajax - A show from guys at Ajaxian.com about all things AJAX, with interviews of the most important developers in this field.
- Diggnation - A show hosted by Kevin Rose Alex Albrecht (TechTV guys) about the most popular topics from their social-news site called Digg.com , is very light and fun show.
- Engadget - Very professional show about EVERYTHING that there is to know about coming up gadgets and tech-toys.
- Gillmor Gang - Discussions with various influential people of the industry. Can sometimes be dull, but mostly rather interesting.
- Inside the Net - Leo and Amber (TechTV) talk about all the new Web2.0 sites and new project buzz around the net.
- Infected - A hysterical show by Martin Sargent (Unscrewed). Nothing tech-related, but a good laugh is garantied.
- The Web 2.0 Show - As the title says, it's a show about Web 2.0 trends, and has some very interesting guests.
- this WEEK in TECH - Called 'Best podcast of 2005', this is another Leo's show with John Dvorak and many other hosts, one of my definite favorites. Very up-to-date stuff.
So there you have it. This is what keeps me occupied on my drive to work. If only I could manage to hard-wire the iPOD into my Honda Civic's radio, and not suffer from that FM transmitter that I have... Oh well.
Till next time,
Technorati Tags: podcast, ipod
Monday, January 16, 2006
- Finish the damn admin section (use TinyMCE as post editor)
- Add ping reciever and sender
- Add trackbacks
- Add recent posts to index view sidebar
- Add settings dialog to admin, allow to select default blog, or show a blog-list page by default.
- Add gravatar support?
Pingbacks are probably out of the question since TurboGears/CherryPy won't work with XMLRPC... Need to check it, though.Silly me. CherryPy has XMLRPC filter. Nifty. Will do pingbacks then :)
Saturday, January 14, 2006
I've prettified the login/signup screens, in style of WordPress (hey, I know NOTHING about designing sites...) and cleaned stuff up a bit.
here's how it looks now:
This is main blog index screen, notice the admin panel that appears on top when you logged in with certain permissions. It can either take you to admin section, logout, of post a new entry.
This is the post/comments view screen. For each registered user, avatar is shown.
The already mentioned login screen...
And a sign-up screen, with avatar upload, and... anti-automation-key-code-verification thingie :)
That's it for today. G`Nigh y`all!
Tuesday, January 10, 2006
Keep it up guys!
- User avatars can now be actually seen
- Author details are taken from the db
- If only only blog is defined, it's owner is not shown in posts subtitle
- rss/atom feeds now work (per blog)
- changes needed to work with latest svn version of TG are made
- create_db script: this is actully important. after defining your db in dev.cfg run this script. it will create all needed table values and default settings
Friday, January 06, 2006
- Admin dashboard: for now it has a simple plain page linking to two generic DataControllers for blog/user editing. No settings/posts/tags is available at all.
- Login/Logout is somewhat broken. Redirection after the action doesn't work.
- Comment posting is allowed only for logged in users.
- There is no user-registration page ;)
- There is not user-details page (although there are links to it)
- No validation on fields. It REALLY needs to be done.
So... After all this talking about TurboGears based blog engines, I had to put some sources out there to back my ideas. So I did.
Here you can browse the SVN.
Don't be too harsh, it should be in rather un-usable state ;)
Before commiting, and I went and redid the whole url scheme that I had using 'slugs'. Probably it broke one or two things.
So, take a look, browse around, and bash me for the ugly code that is in there :)
Technorati links: TurboGears | Python
Wednesday, January 04, 2006
I've been contacted by Jared and Michele who are working on Toasty goat project together with D.Stanek, with suggestion to see what others are doing in terms of TruboGears powered blog engines. So I went, and took a closer look. All-in-all it's a rather nice project. It is still in a VERY alpha stage, but who am I to judge? I didn't even publish the sources yet for my project :)
Now, about the suggestion of merging the efforts... It's a tough topic to tackle. My experience in Open Source community so far is rather limited one. I actively participated in only one project (PyQlogger) and I was the lead programmer of it, so I could call the shots, and it was rather nice. Being a despot has it's merits :)
So I was browsing the sources, and though I did saw a couple of things that were done better than in my project: variableProviders usage, I didn't even know it existed, validators for forms, which I hesitated to add, slugs (text ids) instead of numeric ids for posts, and nice 'theme-in-a-dir' concept.
On the other hand... The code is very far from the style that I prefer, the methods concerning comments are in the RootController instead of their own one, posts have only one date field and are sorted by it (meaning that If i edit a post I published a day ago, it will pop up in front of my newer posts), the current design is for single-blog, and written with the assumption that it will stay that way, and no Identity management is implemented (but i think this is one of the next steps, coz with Identity Framework of TG it's waaay too easy :) )
Anyhow, I don't want to sound like a wining weasel, and probably I suffer from syndrome that most coders have: "I Can Write Better One" syndrome. At any rate, I do not try to claim that what I am writing will be better, it's just modeled a bit differently. I cannot claim anything actually, until I publish my sources so people can judge for themselves...
So, time will tell, and for now - to Jared and the ToastyGoat team: keep up the good job!
Hope I don't get flamed too much for this post :)
Monday, January 02, 2006
This is a little something that kept me occupied for a while now. Like a month back I got back into checking the hype around AJAX (i've posted about this a while ago). I've started to check it out with the Ruby On Rails project but kinda dropped it for two reasons: I didn't get into Ruby that much, still prefering Python, and I didn't have any project to apply it to. Two weeks ago I was asked at my work to code a little in-house monitoring app for our servers, and I decided to check out what's out there in the Python field for coding this. So, I came across project called TurboGears, which is a Mega-Framework. Actually, it's a glue on a slew of awesome Web development projects already available in Python - Kid, SQLObject, CherryPy and MochiKit. I won't dive into much details, but each project is very mature and very well documented with VERY active communities which I totally dig. So I've coded that app, and it took me around one day or so! I was totally amazed by it. Here's a quote from my post to TurboGears newgroup:
Good day, All. Just wanted to share my regards for this great product you've all been working on! I was required to develop a small in-house monitoring solution for our servers for the support team, and I used TurboGears for it. The basic outline of the project was done in about 20 minutes, the actual monitoring code - additional 20 minutes (since Python is my language of choice), css styling of the site - minutes, implementation of access control, using Jeff's excellent Identity framework, another 20 minutes, adding awesome eye-candy ajax enabled, full-blown grid control from Ronald's CatWalk - another 20 minutes. Polishing, hooking up Postgres DB instead of SQLite - 20 more. All in all - a full blown, slick, fast product - 2 hours of fun work.Yup, that was really fun. Lately I had some more time to fiddle with TurboGears, and I talked with awesome guys at the newsgroup (including Kevin Dagnoor), so I picked up another rather popular topic to implement - a Blog engine. I call it TruboBlog (yes, my originality shines yet again) and it's a total WordPress knock-off. It already has everything except the Admin section:
- Multiple Blogs
- Multiple Users
- Complex permissions system (defines what logged in user can or cannot do, like: post, comment, moderate comments, admin the site)
- Comments (with features like: add comment, edit comment in-place (using AJAX), approving comment in place (AJAX aswell)
- Post archives (by any format) with browsing
- Post tags (can add tags to posts in-place (AJAX again)), and browsing by tags
- Templates (using Kid engine). It's rather tedious, but still way better than the Word Press PHP style.