Wednesday, December 29, 2004

We've got listed!

My Google Alert on PyQLogger brought something new today, apparently we've listed at FSF/UNESCO Free Software Directory. And that is rather cool!
To see the entry [click here]

Tuesday, December 28, 2004

A Pleased customer :)

Ok. I know that being vain is bad, but it's very nice to hear good words about the job you are doing. This is quoted from Sharon Kimble's Blog
One thing that I really do like when working on linux is the ability to talk to the program developers about their program and any problems that I'm having with it. A case in point is a program called PyQLogger where I was having problems getting my previously posted entries from my already published blog. Through emails we set up a conversation using Instant Messenger, where the programmer [Eli] was able to talk me through various things, and when I hit a problem he was obviously trying it out at his end because he hit exactly the same problem. I learnt a whole lot more about his program, how to do various things, and he learnt that there was a problem within his program.

The end result is that he has today put out a new version of his program, just over twenty-four hours after our conversation via IM. And the new version seems to have solved the problem too. :)

But, this is not the only example of me contacting a programs author with some difficulty or problem, and they re-looked at their program and/or code, and made some changes. Now, if you were using the most widespread Operating System in the world (i.e. MicroSoft) and other programs on it, do you honestly believe if you emailed a programs author with difficulties or problems that they would even answer you let alone change their program? From my experience, I think not!

Saturday, December 25, 2004

Happy hollidays, everybody!

I couldn't help it. Although I'm not a holliday person, I feel this was asked for, so: Merry X-Mas People!


And Happy Hanukkah!

Wednesday, December 22, 2004

I am sick

sickAnd not in some metaphorical way. I am plain old sick.My throat hurts, and my eyes burn... And life sux in general... Oh well.



Today the branching of PyQLogger code was done. There is a stable-1.x branch, which was made of 1.3.3.0 code, and we'll use it for bug fix releases, if those will be needed.

The second branch is 2.0 - trunk. This is the testbed for new developments. It will take some time until the first beta of 2.0 is released... We have many ambitious plans for it. I already wrote a complete network async backend using QT's network modules, and Xander drawn and took time to describe the scheme for Multiple blogs and account. After that we have huge plans for new configurable and extendable plugins... And some other stuff.

Stay tuned!

Sunday, December 19, 2004

Patching up.

Mkay. The 1.3.3 was a fiasco on my side. It was rather popular (according to downloads), but very low-quality. I had to re-upload the tarball 3 times because of Major fuckups.

Today to address some more issues, and to add some clarity to the problems, I'm releasing 1.3.3.0 the first bug fix release. Most work here was done by Xander, he even tried to make my code look a bit cleaner. That will take much effort on his part :)

There ain't no major changes in this version,except proper command line handling. All other stuff are just bug fixes. It's highly recommended to upgrade.

For me, on the agenda for future releases are:

  • Make all network operations Qt aware, and add progress bars for them
  • Create a whole new plugin system, with lots and lots of new features :)

In other news... I've been fiddling with new MSN offerings, i.e. beta MSN Search, Desktop Search and MSN Spaces. Here are some thoughts:

  • I will not use Desktop Search. Period. I was very disappointed with Google Desktop, and I’m even more disappointed with MSN‘s. They are limited , unextendable and totally pointless for someone who’s not a Microsoft fan, meaning – I don’t use Internet Explorer, I don’t use MS Office, I don’t use MSN Messenger and god forbid, i DO NOT use any Outlooks. So basicly, MSN Desktop Search can’t find s**t for me!
  • I will try using MSN Search. It has some interesting results as an alternative to all mighty Google. The interface is very un-obtrusive and very un-microsoft ;) which is a good thing
  • I’ve setup a test Msn space to play around. The blog setup, and picture upload are awesome. The lack of template editing sucks. Many bugs (i.e profile showing doesn’t work). Works very badly in Linux and Firefox (oh god, what a surprise!). And doesn’t support Atom API – so it’s not interesting for me. At all.

Currently listening to: NAS - The Genesis
Ok. That's it for now, go get a fresh bugfix release, and play nice!

Cheers, reflog

Wednesday, December 15, 2004

1.3.3 Released!

Good day.

Today we’ve release a major upgrade to PyQLogger. Here’s what changed:

  • New configuration system. The settings are stored in human readable INIformat. Fully backwards compatible. (Xander)
  • Optional KDE Support. If PyKDE is available, you’ll be treated to full-blown KHTML based post preview, tray icon and dcop interface. If not – nothing is changed. (thanks Detliev (eric3) for the idea)
  • Option QScintilla support. If QScintilla is available, it will be used instead of default ugly post editor. Antialiased fonts are bonus :)
  • PyQLogger is now more distribution friendly. It installs .desktop file, so now it should appear in Network menu in gnome/kde. Until we have a proper icon, I’m using kedit’s
  • Some minor bugfixes

Get the release from project’s home page and please take time to vote for it on Freshmeat.net

Monday, December 13, 2004

Some progress

Good day!

First of all, here’s the progress on PyQLogger:

  1. Kde is in. Tray Menu, KHTML Preview and DCOP. Fear!
  2. QScintilla is in. Optional ofcourse. It’s transparent aswell.
  3. Better fonts for editor control (hopefully this will work) with anti aliasing
  4. New plain text, human readable config files, courtesy of Xander
  5. Image insert dialog now supports upload and automatic thumbnail generation

And that’s it for now… Hopefully I’ll pack a 1.3.3 release today. We’ll see how it goes.

Now, in other news, I am starting to get scared of Google. They become to DARN good at what they do. :-S

Their last spawn called Google Suggest is absolutly amazing.

Ofcourse, some one immidiatly wipped a fresh Python module called PyGoogleSuggest that will return a list of suggestions per word request. Amazing again.
The only thing that would make this even MORE amazing, is that if someone would be able to build this into Firefox's search bar. Oh yes!

Thursday, December 09, 2004

Qt/Kde sweetness

Coupla days ago a new snapshot of Eric3 was published. In it’s changelog I found an interesting line:

added some dialog wrappers that make eric use KDE dialogs, if
KDE and PyKDE are installed

And I was like – WTF? Why didn’t I think of that? So in a few minutes I was ripping through Eric’s code in frenzy. Ten minutes later – I had first results

Now, what does it mean for an end user? The following:

  • If you don’t have PyKDE or KDE installed – nothing will change. You won’t even notice the new features
  • If KHTML can be initialised, the ugly QTextBrowser used for preview is replaced with full blown KHtml based previewer.
  • If DCOP can be initialised, then the user get a very sweet remote control over PyQLogger1
  • A very nice tray applet is added, with menu items for basic actions

I might add more as I come along…

1 Here are the things you can do with DCOP at this point:



command: ~~~~~~ dcop pyqlogger-28190 PyQLogger result: ~~~~ QCStringList interfaces() QCStringList functions() void newpost() void setPostTitle(QString) QString getPostTitle() QString getPostText() void preview() void setPostText(QStringList) command: ~~~~~~ dcop pyqlogger-28190 PyQLogger getPostTitle result: Qt/Kde sweetness

And etc! Use your imagination :-P

Monday, December 06, 2004

Busy day. Busy day!

Oki doki. Finally some news!
The main reason for this update is Xander. His interest in PyQLogger revived my interest, and now you can reap the results :-)
Here's what was done today:

  1. New plugin created (together with Xander) to add ‘Now listening to..’ line to the post
  2. New release complete 1.3.2 (visit the usual place)
  3. A WiKi has been setup. I didn’t have much time to fill it with info, but pay it a visit anyway. It’s here.
  4. The project was added to freshmeat, and now waiting to be announced!

Now how's that for one day? ;-) Anyway, more to come! Xander is working on new configuration system for PyQLogger, which will allow a human-readable config files, and maybe some per-plugin configuration, and I will do my best to finish the Image Upload thingie.

Sunday, December 05, 2004

SuSe Packages.

Couple of days ago, I've setup a Google-Alert for any new PyQLogger related pages, and today it came up with this:
Guru's RPM Site
Guru's RPM Site Home » Packages » Network » pyqlogger.
Someone by name of Pascal Bleser aka Guru, took his time to prepare SuSe packages for PyQLogger, PyOSD and FeedParser. Very cool!
If anyone prepares any more packages for other distros, I'll be more than happy to post them at BerliOS and announce here, but please keep me posted! :-)

Thursday, December 02, 2004

Some ramblings.

Finally, the weekend nears! This week seemed like it wound never end... Oh well. Last week I wrote two interesting tools for one of my college courses, one is a pure Python implementation of GNU GetText. Extraction and replacemeny of localized strings and etc, and the other one is Digital Watermarking of executables. Written in Python aswell. (god, i love this language (U)) When I'll finish and submit those projects I'll publish them, with some sort of article, maybe someone will find them educational.
NB. The smiley added above was posted using my Smiley plugin for PyQLogger :-[

Hmm... What else... Oh. I had a rather interesting experience with Linux distros lately. I've never considered myself a linux guru, but always thought that I find my way with any kind of linux machine. Lately I had to (don't ask why) install a Linux From Scratch type of distro. It was very educational... But... After you installed it, and became all smart and linux-savvy, you are left with barebone system, which needs to get filled somehow. So you try to compile some app. It requires 10 libs... You know the story. Anyway, there IS a certain reason why systems like RPM, APT and Portage where invented.

So, after compiling and downloading and compiling and downloading... I decided - fuck em. So i went and did an interesting trick. I installed Portage over my LFS. With help from Gentoo's forums, It took me 2 hours to create a fresh working almost-gentoo system. Sweet! :-D

Minor PyQLogger release 1.3.1

Just wanted to notify those who are interested, that a new minor release of PyQLogger is available :) This one has new plugin called Smiley Add, and two new dialogs - Insert Image and Insert Url.
Insert Image is not complete yet, but basic functionality is already there.
More info about the new plugin (it's rather cool...) can be found it README_PLUGINS file.

Cheers.
P.S. Oh yeah. It can be found here: PyQLogger Project Page

Wednesday, December 01, 2004

Small updates

Good day!
One fellow Pythoner and Blogger by name of Xander Soldaat did some nice patching and feature adding on PyQLogger which made me want to work a little bit on the project again. It's the guilt. I can't take it :)
Anyway, I will be preparing new release soon with the features added by Xander and myself, which include two new dialogs for adding Urls and Images, plus I think to add a Smiley plugin...
Btw, if u use this PyQLogger for your blog, please consider adding this button:


<a href="http://pyqlogger.berlios.de"><img src="http://developer.berlios.de/dbimage.php?id=1127"></a>


I know that it's ugly, but i have absolutely NO artistic skills :(

Tuesday, November 16, 2004

More GMail news!

I am as usual excited about the stuff Google folks are bringing us:
Just launched!

It's your mail. You should be able to choose how and where you read it. Access your mail the way you want to, with free POP access and automatic forwarding. You can even switch to other email services without having to worry about losing access to your messages. Think of it as email portability.

  • Free POP access
    Download your messages. Read them offline. Use your Blackberry or Outlook or just the good ol' web. Learn more
  • Free automatic forwarding
    Forward new incoming messages to any email account you specify. Learn more
  • Monday, November 08, 2004

    Plugin Pack

    Good day.
    Today I've packaged and uploaded the promissed plugin pack for PyQLogger.
    It can be found at BerliOS

    Have fun, and do read the Installation instructions for the package.

    Sunday, November 07, 2004

    PyQLogger 1.3

    Oki Dokie. Finnaly got some time to package and release PyQLogger 1.3.
    It's available at the usual places - PyPI and BerliOS.
    The plugin pack will be packaged today aswell, and I'll post it to BerliOS at the evening (hopefully).

    Cheers.

    Tuesday, November 02, 2004

    Slowdown to a stop

    I am really sorry for lack of updates on the blog lately, but I'm having some really tought times at the work and Real Life (tm) takes it's toll.
    I promiss to package up the last version of PyQLogger sometimes soon, and for those who cannot wait - there's always a Subversion repository at BerliOS page.
    Take care.

    Thursday, October 21, 2004

    Pre Release

    Mkay. I think PyQLogger 1.3 is pretty ready to be realsed to public. I'll run it tomorrow for a while, and then prepare a build.

    I will also package the PyQLogger Plugin package, which for now only contains SpellChecker, but later will include SmileyAdd, Tagline and ImageUpload plugins.

    The most annoying thing at this point is the Syntax Highlighting in the editor... It works VERY bad, and I just don't have the energy to fix it. I will. Someday :)
    Anyway, for the 1.3.1 release I will prepare the Backup/Restore feature, and build it into the GUI.

    Wednesday, October 20, 2004

    Logo

    Hello again. I was thinking... And I know that this is a long shot, but... Maybe someone is willing to make a logo for PyQLogger? I think it's time to make an about dialog, and I have nothing shiny for it :)
    So, if you posses any art skills, be my guest, any form would be just fine, and I'd be very grateful!

    Plugins and SpellChecker

    Ok. I've managed to whip up a simple plugin system for toolbars. It allows the creation of primitive actions (like the Tags buttons) by using just one method (Factory-like), and also subclassing and creating separate modules in plugins/ directory.

    All tag buttons are already became plugins, for things to be more general...
    Anh, oh yes, here's a teaser, a screen shot from brand spanking new Spell Checker, which uses ASpell as a backend. It's rather raw for now, but It's usable already :)

    Sunday, October 17, 2004

    PyQLogger progress

    Hi there. The work on PyQLogger is still on. I plan to squash main bugs and implement my basic requested set of features before I release 1.3. Until now there were this changes:
    1. - Fixed the hanging of the application after GUI exit
    2. + Added first draft of Unicode support (post works, fetching does not)
    3. * Web browser for preview now is opened correctly thru webbrowser.py module
    4. + In AtomBlog added getPost function
    5. + Blog Backup util started (see previous post)

    What does bother me, though, is the Unicode problem. When I post an entry with mixed encoded material (i tried russian and hebrew), it get's posted just great, but in response I get ????? symbols instead of letters. Very discouraging. Ideas anyone?

    Friday, October 15, 2004

    Blogger backup tool

    To address the request from this blog's visitor, I'm working on a little tool to accompany PyQLogger. It can be used to backup and restore blogs posts. You supply it your blog's homepage (which is used to get links to archive pages), blogid, username,password (they are used to get the posts) and it parses the pages, gets posts id's, and then stores it all into a file.

    Afterwards you can use it's Restore mode to publish all the posts from this file to some other blog. For now it's a command line tool, but I plan to add a gui for it, so you can choose what posts to backup/restore for easier batch mode. After the GUI is made, I'll add it to PyQLogger.

    Here's a sample output from the tool:

    Blogger backup/restore tool v0.1 by Reflog
    >>> Getting archives from http://XXX/
    + Got 2 archives...
    >>> Parsing http://XXX_archive.html
    + Got 2 posts
    >>> Parsing http://XXX_archive2.html
    + Got 6 posts
    >>> Getting posts' content...
    * Post ID:109592965255358780
    * Post ID:109584571770849575
    * Post ID:109757610707240154
    * Post ID:109757589840720876
    * Post ID:109757582631207808
    * Post ID:109679815617951163
    * Post ID:109688115038667795
    * Post ID:109688037090822849
    >> Done!
    !!! Content saved to file:1

    I'll post first draft of the tool soon.

    Thursday, October 14, 2004

    BerliOS

    Good day, all.
    Well, I aint sure, but I do think I found a perfect host for my project, and BerliOS. They have all the features that I've needed and did not get at Savannah. The project can be found at: http://developer.berlios.de/projects/pyqlogger/
    I've already setup a mailing list, you can add bug reports and feature requests, there are forums, public ftp, Subversion AND CVS, PHP and MySQL, and other nifty things, including a WiKi :)
    So far I am VERY pleased. Pay them a visit, very nifty and liberal place.

    Tuesday, October 12, 2004

    Hosting woes

    Arrgh! I am heavily irritated!
    Savannah hosting proved itself to be a rather bad choice for me. There are several reasons for saying that:
    1. No mailing lists available
    2. Most cumbersome upload system which made me want to pull my hair out
    3. Un-working tasks system
    4. Odd way of managing a webpage
    5. No php/mysql to keep a normal webpage

    Anyway, today I will sign up for BerliOS and see what they have to offer, then maybe move there. For now, Ive updated a link in PyPI to point to my old hosting, please you it, instead of Savannah, until I settle my hosting problems.

    New PyQLogger release!

    Theres a new version available: 1.2.1, which was planned to be just a bugfix release, but incorporated some really nice new features and changes aswell.
    Here is a quote from changelog:
    + Added new version notification
    + Added icon to the window
    * Changed taborder in wizard
    + Wrote first test case for AtomBlog (see blog for link)
    + Added export feature for posts
    - Cleaned up the BG module. Less code now, no notify() method.
    - Minor bugs fixed
    * Changed the settings format. Its incompatible with previous version.
    Sorry, but it was needed, since previous format did not allow the user to store list of posts for multiple blogs.
    * Changed the UI to represent the ability to control multiple blogs

    The 1.3 version will be next major update, with toolbar plugins

    As usual the release can be found at Savannah and PyPI

    Wednesday, October 06, 2004

    Savannah Project

    I've decided that to keep track of all the crap I'm dumping into this project I'll need a CVS repository.
    Usually I immidiatly think 'Sourceforge' when such thing arises, but since my last fiasco with them (I had to re-submit my project proposal two times for Shlogger, and it still got rejected, they require like 2 page project specification... What the heck? This stuff is for fun - let's keep it this way!) I was looking for other options.
    I came across this place and in two days I had a project approved. And although they don't have shell access, they have all other perks like CVS, tracker and mailing lists. Suits me!


    So the link is [here]

    GMail new features

    Google folks have been hard at work. To quote:
    Some features we know you've wanted (and one we should have had all along):
    • Gmail Notifier Want to know if you've got new mail? Let us do the checking so you don't have to. Find out when new messages arrive, and even see their subjects, senders and snippets, all without having to open a web browser.
    • Search your contacts With the new and improved Contacts list, search for a contact as easily as you would a message in Gmail. Add notes and phone numbers. View messages directly from the Contacts list. Stay in touch with the people in your life more easily than ever before.
    • Automatic forwarding to another email account We're testing a new feature that lets you forward new incoming messages to any email account you want. It's free during the test and you can set it up in seconds. Even set up filters to forward only some of your messages. It's your mail. Get it the way you want it.
    • And finally... Save Drafts! For when you can't find the right words, save drafts and find them later.

    Tuesday, October 05, 2004

    Weepie!

    Congratulations to me! :)
    I didn't think this would happen, but it did - my blog had crossed the 1000 visitors landmark! Hurray!

    Monday, October 04, 2004

    PyQLogger v1.2

    Ok. One more little update. Some more cleaning up. Here's a quote once more:
    1. Post editing is fixed
    2. Post publishing made async aswell
    3. Not mentioned in previous entry:
    4. The 'delete' button was removed from the form. Now deleteing a post is done thru popup menu on items.
    5. The 'new' button was moved to main toolbar instead of some unknown blank one :)
    6. License notice added to the modules
    7. XmlTramp was removed and now only FeedParser is used
    Get it from PyPI

    AtomBlog Unit test

    The unit test for AtomBlog module can be found at this location
    If anyone has suggestions on better way of unit-testing such online modules, step right up!

    Friday, October 01, 2004

    PyQLogger updated

    I've made few beautifications to PyQLogger and prepared a proper (hopefully) release.
    If anyone gets their hands on it please report if you had success using it.
    Here's a quote from changelog:
    Second try on the fist version.
    1. Modules moved to separated dir
    2. Added a script to correctly execute the app
    3. Fixed and improved the packaging
    4. Included the GPL license
    5. Added WhatsThis to most of GUI items
    6. Added accelerators to most items
    7. Fixed some major fuckups in the code
    8. Prepared translation file. (though it's not used yet)

    Thursday, September 30, 2004

    Some PyThoughts

    Sup.
    After releasing PyQLogger I've reached the following conclusions:
    • Python community is very active. The release had drawn 200 hits to my blog in one day, wheres my Shlogger release on GotDotNet brought one person :) This is very comforting and encouraging
    • None of the people who came to the blog (or snached the release from PyPI) have actually tried using it :) Or maybe they tried, failed, and didn't care enough to report bugs to me. How do I know that? Well, after coming home, and reopening the release, I realized that there were about 5 very critical bugs, and few annoying ones. Plus I forgot to make a normal startup file, so the users had to guess and execute MainForm_Impl. Very unproffesional on my side, but it was just a first try. (not only at packaging. this is really my first Python program and first ever GUI program under Linux)
    • Coding is fun, getting response for your work is even more fun - too bad that didn't happen.
    • In next two days I'll prepare a cleaner, proper release 1.1 with all the fixes.
    • Thanks to David Boddie from PyKDE mailing list, I will provide a more fine-tuned Syntax Highlighting aswell. I've dropped QScintilla to minimize dependancies as much as possible. (I'm still dreaming on porting this thing back to *NDOWS)

    Tuesday, September 28, 2004

    PyQLogger 1.0 Released!

    To make news short: PyPI: PyQLogger 1.0
    Name: PyQLogger
    Version: 1.0
    Author: reflog
    Author email: reflog at gmail com
    Home page: http://yukelzon.blogspot.com/
    Download URL: http://reflog.nxt.ru/PyQLogger-1.0.tar.gz
    Summary: PyQLogger: PyQt Blogger Client
    Description: PyQT Client for Blogger.com usign Atom API. Requires pyosd, pyqt Uses xmltramp, feedparser

    And a link

    Thursday, September 23, 2004

    Little changes

    Sup. Just wanted to drop a few lines here...
    • First of all I've added a link to www.blogspot.com since I'm using this awesome service myself now, and think anyone who's into reading blogs MUST see it.
    • To represent my new interest in Python I've changed the Blog's description :)
    And to those who consider trying this language I highly suggest two tools.
    • First is an IDE called Eric3 and could be found here. It's way better than some commercial IDEs I've tried, very fast and has full support for PyQT.
    • Another tool is IPython. It's an interactive Python shell, which is highly useful when you want to try snippets of code and just browse class-structure. Two thumbs up. You can find it here

    Py!

    Some more notes:
    • There will be no WYSIWYG editing in PyQLogger. Period. I ate enough shit with it in Shlogger.
    • The will be syntax color editor. I'm using QScintilla for it. Awesome.
    • All plugin buttons will get a separate Toolbar page
    • All plugins and toolbar items will get a separate copy in context menu
    • OSD messages are done. yeppie.

    PyQLogger Screenshot


    PyQLogger Screenshot
    Originally uploaded by Eli Yukelzon.
    Mkay, Here's how it looks like. Pretty, eh? I think it looks better than Shlogger. Plus I plan not to add StatusBar, but instead display all messages in OnScreenDisplay. Nifty.

    1..2..3 Is this on?

    Howdy.

    If all goes well, this would be the first post from my new toy called PyQLogger, which is basicly a Shlogger rewrite in Python and QT. The core is already usable, and I am quite please with it. What is completly missing at this point is the plugin system, which will be done differently than in Shlogger.


    I'll post the first screenshot soon.
    Cheers.

    Wednesday, September 22, 2004

    Firefox - spread the fire!

    Get Firefox! I've decided to give a hand to an awesome http://www.spreadfirefox.com/ campaign. I'm a heavy supporter of this great browser and wish all the luck to it's developers!

    Wednesday, September 15, 2004

    Mono is dull

    Yeah, ok, I knew this would happen... To quote my self:

     This is very ambitious since I haven't written a single app in Gtk, but this could be a nice challenge. Most likely my enthusiasm will die down soon, but it's worth a shot.

    So anyway, I've wrote like 10 pages of Mono/Gtk/Glade/Linux/Windows tutorial with all the details that I've came across and the just said to my self - FUCK IT.

    • It's not interesting.
    • Not exciting.
    • Very bad for mental health.
    • And why the hell am I doing it?

    I am officially off Mono. Until it's a complete port of .NET over to Linux, I am NOT touching it. That's it.

    The tutorial plan is off, and I viciously removed Mono from all my PCs, and it felt... Well, rather liberating

    But, since I cannot stay with no project at hand, I threw myself at Python. It's a very interesting alternative to my all-time favorite Perl. It allow to write a very neat and clean code, has very object oriented design, and (a BIG plus for me) has a nifty set of IDEs and toolkits created for it. Anyway, right now I am porting Perl's module Term::Shell to Python. They have a similar module in the distribution called cmd.py but it's very function-limited and doesn't have all the features of the latter. So I've converted all the code (I like learning new languages this way) and now busy bug-squashing

    So, expect more from me, rambling on this new toy of mine

    Nother Shlogger plugin

    Oki. Today decided to revive Shlogger a little, so I've made a little additional plugin, called Taglines.

    It allows to add some one-liner to the post's body. For now I've added 3 types of taglines:

    1. WMP/iTunes Listening to
    2. Foobar Listening to
    3. Random Quote

    And now to show off, here it is:

    Now listening to: Royce Da 5'9 - [Death Is Certain #08] Gangsta Ft. Cutty Mack

    So, there it is. 

    Tuesday, September 14, 2004

    A Domain

    Howdy. I've received a nice offer, so now this blog can be reached at this shortcut: www.reflog.info Nifty, eh?

    Sunday, September 05, 2004

    GMail

    Ok. To keep the flood of post in blogsphere about Gmail i'll post my 2c on the issue.

    1st. Thumbs Up

    a) Speed. Overall performance of the site is REALLY impressive. The whole open post/read/archive process is lightning fast. Flipping through messages is a breese. Plus, no un-needed graphic buttons/ads/crap, so everything loads very smoothly.

    b) Interface. Finally a real exploitation of the DHTML in webmail! Address auto-completion is absolutely beautiful, the Spell Checker is really sweet (and keyboard controlled), the Grouped Conversation view is just perfect for keeping all corespondence relevant intact. A+

    c) Size. Well. 1GB. Nough Said.

    d) Ads. Can't beleive I'm voting for this, but... The AdSense in GMail is just awesome. It's probably the only type of advertisment I've seen on the web that I didn't add to my AdBlock list :) Having information directly linked to the mail I receive is an awesome advantage. And to those weirdos talking about gmail-is-too-creepy and etc... Open your eyes! Every mail you get is run through your ISP, or through Hotmail or any other webservice. The only reason nobody is talking about 'mails being screened' is because nobody knows! If the 'Big Brother' would want to read your mails... They would. So relax. The only way GMail is different from any other webmail in this sense, is that it visualizes the fact that mails are open ;)

    e) Tools. Not really Gmail's 'fault', but... The geeks re-united and created lots of nifty tools. The main one I'm using is the GMail notifier extension for Firefox. Absolutely sweet.

    f) Geekness. Gmail is uber-cool right now. The whole invitation thingie was a perfect publicity stunt (I think that was the main reason, not the beta-trial). Every geek on the planet has to catch a good name on GMail. Ph34r.

    2nd. Thumbs Down

    a) No HTML Mailing. Right now you can only create messages in plain text.

    b) Un-Clear Spam checking. The way of spam recognition is very vague, plus when you select a mail as spam, it goes to 'Probable Spam' list, instead of being thrown into trash.

    c) Annoying 'Delete'. Gmail's policy about the 'Delete' function is really obtrusive. "Never delete your mail. Archive, don't delete" and etc. It takes WAY too many steps to delete a mail. This is annoying.

    d) Plain Filtering. Filtering system is VERY raw and VERY basic. What I would REALLY want to see here is implementation of something like an awesome open source project called POPFile, which uses Baysian learning system to automatically filter your mail, according to previous studing period. I've added this suggestion to GMail, but unfortunatly I seriously doubt that they will consider it.

    Anyway, generally, I'm a happy camper and trying to move all my mail to my GMail account. Plus, having some invites, I'm starting to get my buds hooked aswell.

    I sencirly hope that GMail will not stop at it's current state, and will utilize all the feedback from beta-testers to make it even better than now.

    Cheers.

    Sunday, August 29, 2004

    GMail baby!

    Wheepie! A pure soul of Steve Eichert shared a GMail invite with me!

    Now I join the ranks of wackos rambling about this nifty thingie. Already setted up a Firefox extension for monitoring the account. Neat.

    Wednesday, August 25, 2004

    A promissed slowdown

    As i've promissed, the posting to the blog has gone down hill. Main reason for this is - I'm back at work. So, less fun, more crap. :) Anyway, I'm still working on the paper that I've promissed (the one about Glade and Mono) and I hope it will be ready in a few days. Btw, if anyone is acutally reading this - does anyone know ANY decent blogger posting tools for *NIX ? Hello?

    Tuesday, August 17, 2004

    Site Updates

    Well, as you can obviously see, the site's template was changed. Why? I dunno, just liked this one better. I've also changed the page's font, which looks much more readable (as far as I can see).

    Oh, before I forget: there is one more feature that needs to be added to Shlogger: pre-publish plugin activization. Ahh, I love those long, technical names. Anyway, for plugin like speller, it could be set to check the post before publishing, and for plugin like Smiley , it can parse the text and change all the  ":)" to  and etc. The only problem is - this feature will demand some sort of configuration UI for the plugins, which I tried to avoid. We'll see.

    Another Shlogger Plugin

    After my victory over file uploading yesterday , today I've finished the oh-so-needed (for me) ImageUpload plugin for Shlogger! It replaces the usual IE 'Add Image Dialog' and allows the following:

    1. Add link to image (with optional thumb image and alt description)
    2. Upload image to ImageArk webhost
    3. Upload image to ImageShack webhost

    For the latter two, the thumbnail can be generated and uploaded. Border adding and alignment are supported. All in all I am very pleased

    Monday, August 16, 2004

    File Uploading

    Well, this has to be, by far, the ugliest piece of code I've ever written, but... it works. :)  I've been struggling with file uploading for a while, but now it's done. Here's the function that will upload an image to ImageArk and return result HTML. Have fun.

    static string FileUpload(string url, string referer, string filename)

    {

    Random r = new Random();

    string randStr = r.Next().ToString();

    string dataBoundary = "--xyz"+ randStr;

    HttpWebRequest Req =(HttpWebRequest)WebRequest.Create(url);

    Req.UserAgent = "Upload Test";

    Req.ContentType = "multipart/form-data; boundary=xyz"+randStr;

    Req.Method = "POST";

    Req.KeepAlive = true;

    byte[] FileData = File.ReadAllBytes(filename);

    StringBuilder DataString = new StringBuilder();

    StringBuilder DataString2 = new StringBuilder();

    DataString.Append(dataBoundary + "\r\n");

    DataString.Append("Content-Disposition: form-data; name=\"userfile\"; filename=\"File1.jpg\"\r\n");

    DataString.Append("Content-Length: " + FileData.Length.ToString() + "\r\n");

    DataString.Append("Content-Type: image/jpeg\r\n\r\n");

    byte[] tmpPostdata1 = System.Text.Encoding.Default.GetBytes(DataString.ToString());

    DataString2.Append(dataBoundary + "\r\n\r\n");

    DataString2.Append("Content-Disposition: form-data; name=\"MAX_FILE_SIZE\"\r\n\r\n512000\r\n\r\n");

    DataString2.Append(dataBoundary + "--\r\n");

    byte[] tmpPostdata2 = System.Text.Encoding.Default.GetBytes(DataString2.ToString());

    byte[] t = new byte[tmpPostdata1.Length + FileData.Length + tmpPostdata2.Length];

    tmpPostdata1.CopyTo(t, 0);

    FileData.CopyTo(t,tmpPostdata1.Length);

    tmpPostdata2.CopyTo(t, tmpPostdata1.Length + FileData.Length);

    Req.ContentLength = t.Length;

    Req.Referer = referer;

    Stream tempStream = Req.GetRequestStream();

    tempStream.Write(t,0,t.Length);

    tempStream.Close();

    HttpWebResponse Resp = (HttpWebResponse)Req.GetResponse();

    //Read the raw HTML from the request

    StreamReader sr = new StreamReader(Resp.GetResponseStream(),

    Encoding.Default);

    //Convert the stream to a string

    string s = sr.ReadToEnd();

    sr.Close();

    Resp.Close();

    return s;

    }

    Sunday, August 15, 2004

    GladeSync

    As I've mentioned in previous post, I've found a nifty Glade util. I had to rewrite it a bit to suit my needs. If anyone interested, here it is (look in the comments)

    I'm Stereo (Not MONO)

    OK. Apparently I overestimated myself (as usual). There are some things that mortal men cannot archive - for example : writing a full-blown application with MONO and current GUI toolkits for it.  In past two days I've crawled through numerous projects: wx.NET , Gtk# , UIML.Net and even #Fox. The latter two are out of the question because I am just not willing to design a complete application by hand with no GUI Designer at hand. No, thank you . The wx.NET is not appealing for me because of two reasons: 

    1. It's way too much like MFC. It's previous century! Why the heck would anyone want to use MACROS for events? It's 2004 for crying out loud!
    2. The wxDesigner. The most cumbersome GUI editor I've ever seen! Un-bearable! And to top it off, it's also missing a XYSizer, and allows only Grid like form designing, which is not so suitable for most things.

    So, what's left? Gtk# . It seems like the most flexible and the most developed out of the bunch. But still, using GLADE to develop a cute looking app is just too overwhelming task for me.

    So, dropping the whole cross-platform idea? Yes, and no. I will not rewrite Shlogger for Mono. Not until they come up with System.Windows.Forms support. BUT. What I am planning to do is the following: while I've been cruising the web for Gtk# information I came to a very sad conclusion: there's really little of it! The only thing that can be referenced as a good source is MONO Handbook. It has a lot of examples ready and waiting to be pasted into the code. Another interesting thing I found was this Ray's blog which had some interesting GLADE info. You might want to check it out. So I though - how about giving something back for a change  ? So what I will do is write a complete tutorial on creating a cross platform application using C#, Mono, GTK# and GLADE. The topic for application that I've selected is Comics Fetcher. Yes, I know, VERY original, but what the heck? Anyhow, I will probably be getting back to programing under Linux soon, so the cross-platform thingie will be tested there as well.

    OK. Enough rambling for now, let's get back to business!

    Friday, August 13, 2004

    Updates slowdown

    Howdy. Well, the updates on the Shlogger project will get a slowdown in the near future for the following reason - it's done.  It works like I want it to, and has all the needed features. I've made a workspace with all the sources and will probably build a test release, but I doubt that anyone will use it, since it's written in beta c# 2.0 , but what the heck?

    Anyhow, there are some changes:

    1. I've added an About Dialog, which can be run from the System Menu (I didn't want to clutter the main interface with such unneeded feature)
    2. The tree view was changed to ListView. The dates of the posts are displayed next to the posts now, which is pretty. This change had opened up quite a few bugs, but all are small and I will squash them soon
    3. Since all the features are complete I'm thinking about something quite different to do with the project - Port It to MONO. This is very ambitious since I haven't written a single app in Gtk, but this could be a nice challenge. Most likely my enthusiasm will die down soon, but it's worth a shot.

    Tuesday, August 10, 2004

    I've GotDotNet :)

    Ok. Due to the request from my anonymous reader I've setted up a GotDotNet workspace today for Shlogger. I'm uploading all the stuff just now. Once again, I do not recomend using this as a working posting app, but more of an educational thingie (if you manage to learn anything from this junk )

    The url is: http://workspaces.gotdotnet.com/shlogger

    Monday, August 09, 2004

    Html Component

    Oki doki. I did a big rewrite today, due to the fact that I've got rid of the old HtmlControl that I've used (it was a Microsoft example component). Apparently .NET GOD named Lutz Roeder already made a WAY better component for this! It can be found here. It does all that I've needed (cursor positioning and even notifications) and some more. Plus it has it's own Native wrapper, so I won't have to bundle the Interop DLLs now.

    Anyway, I'm pretty pleased with progress today, the Shlogger is getting along quite nicely. What else... Yes, I've submited request to SourceForge to approve the project, so I'll setup the CVS repository tomorrow or so.

    Ah, there seems to be some horrid bug in the ToolStrip implementation (except the one that i've mentioned earlier about shortcuts) which is - when the buttons are hidden in the right-hand dropdown and clicked, the ItemClicked event is notfired! wtf x 2!

    Sunday, August 08, 2004

    RE: ToDo

    Ok. The RssBandit plugin works just great! (as you can see below) It was shamelessly ripped from the w:bloggar plugin in the RssBandit destribution. Some other stuff was added: the plugin loading was moved into a separate thread, so the start up time should be faster, added a 'View Blog in browser' feature, and squashed some small bugs.
    • Write a RssBandit plugin 'ShlogThis' similar to w:bloggar

    • Implment a command line options to fascilitate the plugin from previous item

    [Via Reflog's Random Thoughts]

    ToDo

    Here are some thoughts on what to do with Shlogger in next few days:

    • Investigate the issue of ToolStrip shortcuts. Apparently there is NO functionalty for adding shortcuts to buttons or menus in the Strip! wtf?
    • Find out the way to get current position inside the HTML editor. Right now the only way to insert some text to it from the plugin, is only to it's end. Which is rather anoying.
    • Write a RssBandit plugin 'ShlogThis' similar to w:bloggar
    • Implment a command line options to fascilitate the plugin from previous item
    • Think about changing the TreeView on the left to ListView with groups... Maybe it will look nicer. We'll see.

    That's it. Run along now

    Smileys

    Ok. Here's some more progress on the plugins for Shlogger.
    Smiley Extension is Implemented!
    The plugin reads an XML file which contain the smiles encoded in base64 (for displaying them in the menu) and url of the images (for displaying them in the blog). Now, just simple selection from the menu adds a cute smiley

    Here's how the menus look like:


    Saturday, August 07, 2004

    speller, baby!

    Speller plugin for Shlogger implemented:

    As I've mentioned previously, I've used NetSpell by Paul Welter which is absolutely great, and very fast. I don't plan to add any configuration for the plugin, just the base functionality.

    The next plugin to be implemented is the ImageArk service. The only problem is, I for the world cannot manage to get the HTTP POST functions working in the WebClient!

    Friday, August 06, 2004

    I'm back!

    Howdy! Well, I'm back from my trip - which was absolutely awesome (but way too short), maybe I'll post a pic a too from the 200 pix that I took there ;)
    I'll get back to my projects tomorrow (I'll have to read my own blog to remember what was I working on ;) ) Have a blast, cheers

    Wednesday, July 28, 2004

    Shlogging

     Async is complete! Works like a charm :) I implemented it with BackgroundWorker class. Very nice. Now the only irritating thing left is this screwy Html Editor. I'll try to think on what to do with it when I get back from my trip.

    Oh, I didn't mention it? ;) Anyhow, tomorrow me and my girl are leaving from London and then Dublin for like a week.

    More progress will be after I return. (I plan to open a gotdotnet.com workspace to host all the miny project i babled about)

    html blues

    Arghh! This HtmlEditor component is very unsettling! The most useful functionality, like textchanged events, cursos placement, and text replacement are not implemented!

    Maybe i should drop the WYSIWYG ide and go to straight Html editing? I wonder...



    Btw, I am trying to post this in async mode.. Let's see how it goes.

    progress

    Ok. Some more progress info:

    1. plugin architecture added. shamelessly stolen from DaSPoof project. (which in turn was stolen from RssBandit ;) )
    2. i hate references . Why? because of the following scenario: I have a dll which contains an IEditorExtension interface. What I want to do is to allow creation of new dlls which would reference only this one. Now, in the main app I have some Dll loader class, which iterates thru .dll in plugins\ dir, and tries to load them thru IsAssignableFrom. But here's the catch. When you do 'Build Solution' the EditorExtender.dll get's build in the Debug dir, all the extensions referenced to it get built in Debug\plugins , and the EditorExtender.dll get's also copied there. Why? I don't know. Why do i care? Because when there are two same dlls, the closest is picked, but it's not the one that plugins reference to! So the whole plugin mechanizm get's fucked. Pardon my french.
    3. about smiley plugin - how dumb am I ??? What smileys?? And put their pictures where exacly? never mind, i've droped the Miranda theme idea ; what i WILL do is make a simple xml-theme format like this:
    4. <smiley>
    5. <image url = "" />
      <description>bla bla</description> <pattern>;-)</pattern> <!---- this will be used from smiley recognition at some point ----!>
      </smiley>

    6. now, the user will be able to upload to some host the smiley images, and just use them from Shlogger.
    7. Another plugin that i'm making is for ImageArk. It's a kickass service that allow free upload of images. Fast and simple. I'll add a 'Insert Image the ImageArk' option.
    Ok. Reflog - out.

    Sunday, July 25, 2004

    Sauce Reader Update

    Ok. :) Now maybe not everything is lost for Shlogger. Apparently SauceReader will have to join the group of other apps i tried to work with. For now I've seen two problems with it:

    1st. it inserts unneeded line breaks in the post - it's seen in previous post.

    2nd. it's not async. the programers were prolly as lazy as me ;)

    Sauce Reader

    Arghhh!

    As always with most of my project, it seems that i've been rushing things...

    I've came across SauceReader today, which seems to be a VERY nice app for reading RSS, but it also includes a blogging module which is VERY nice, and seems to be quite like my Shlogger ;)

    I'll give it a run, istead of my RssBandit, see how it goes.

    But I do still plan to continue on Shlogger, coz it's just way too fun :)


    What else... Ah, i've decided to add some plugin architecture to Shlogger, which would allow adding items to HtmlEditor toolbar, like 'Add Smiley', or 'Check Spelling'

    For spelling i plan to use NetSpell

     

    Saturday, July 24, 2004

    Shlogger v2

    Here's some progress on Shlogger project:

    All the base functionality is there: Loggin in, fetching posts feed, posting new items, editing existing items, saving some items for draft, WYSIWYG html editing...

    Actually, I am posting this in shlogger right now ;)

    Anyhow, the main thing that i've left for last is the async gui updates, which is still quite vague to me.

    Ok, enough for today, I gotta study for the exam anyway :)

    Shlogger

    This is Shlogger. Ok. I haven't talked about this one... It's a concept project I whipped in one day to see how the Atom API works. The thing is, like every coder I'm vain. I've went thru like 4-5 bloggin apps and each one had something i didn't really like. So I've said what the heck :) I've fetched HtmlEditor example from Microsoft, an Atomizer class and made this little baby.
    Actually I'm rather excited about it, it's rather fun to code.

    Friday, July 23, 2004

    DaSPoof

    This is DaSPoof. What we have here is main  toolbar that allows loading spoof collections from different sources (provider dlls). I already made Xml, QuickSpoof and ShitForBrains Spooph providers. Each collection can be converted to another one. The second toolbar is for quick spoof entry, and the third on is for controlling the tabbed browser on the bottom, as well as adding some spoofs as favorites.

    Site2Feed

    Ok. This is Site2Feed. On the left is the list of currently collected sites, on the right are all the settings, on the bottom is the log (collapsable). Settings are presented thru PropertyGrid, which I really got to use and like... That's about it for now. The interface is simplistic, it minimizes to tray and fetches the sites in background thread process.
    Today i'll post some screenshots of the projects I was babbling about, in case anyone's interested :)

    Tuesday, July 20, 2004

    For those interested in Visual Studio 2003 stuff, this is a must visit: RE: Announcing:Coolest Add-in Contest - Entries available for download
    Coding Contest: Coolest/most useful VS.Net Add-in or Macro
     
    Announcing the Add-in Contest site:
    [Via ISerializable]

    Plans

    Ok. For now here's the list of things I fiddle with, or plan to.

    1. DaSPoof - remake of all the ideas behind QuickSpoof, ZSpoof and Spooph. Written in c# 2.0 . For now works quite fine, except two things - searching and better tabbed browsing. I'll post more info about it at some other point
    2. Site2Feed - a concept project that will allow to setup a local little server that will visit selected sites, parse them, turn content into RSS feeds, and then serve them on local HTTP server. Created when i realized that i get pissed to always visit SuprNova with it's bulky design, after i use my RSS reader... For now it works , but very un-extendeble. The idea is to make Provider interface for making plugins, and make a default Regex based plugin.
    3. Editor# - Yeah, i know, very original name :) Anyhow, this was a project for the college (C# course). It's a simple mini-mini IDE for C#. Supports IntelliSense with live code parsing (SharpRefactory Used), and Reflection dll loading and parsing. VERY slow, but works.
    4. Reflector extension - i am fiddling with the idea of turning Reflector into something more useful for patching DLL files. What i need so far is two things: in ILASM mode display the HEX codes for each command, and per request display a physical offset inside the DLL file for some method/class, etc.
    5. WBEditor extesion - this proggy seems very nice, but it would be nice to have a Smily plugin. I plan on making one, using XEP format from Miranda.
    6. SharpReader/RSSBandit extension - the idea is to make something like my Site2Feed, but built inside one of this proggies. I need to check which one is more extendeble for this feature...

    ok. now that was a long post! ;)

    Howdy

    I always thought that if typing your name in google doesn't bring any result, then something is wrong with the world :)

    Anyhow, now there will be another piece of garbage information stored on the planes of the web with my name tag on it...

    The stuff that will be posted here will have no sense or purpose, just a dump for thoughts.

    Cheers.