Blog

Viewing posts for the category software

Little tiny side note: F-Spot rules as a...

Little tiny side note: F-Spot rules as a photo organiser: I can import my photos from the camera, tag them, print them, export them too photo albums, BUT there are two tiny issues:
* why cann't I start GIMP on a photo and automatically get a new Version of it when I save (preferable a separate version for each save operation)? or why can't I just say that photo 1 is a version of photo 2?
* why exactly does F-Spot consume over 250 Mb or real nonshared memory during photo import from camera and almost 150 Mb of memory at all other times?!?!?!!?!

grumble, grumble, grumble, must file bug reports, grumble, grumble...

Surveying web projects to remake the Lat...

Surveying web projects to remake the Latvian Open Source Associations web page. At this point we are hosting it on TikiWiki, but people are increasingly unhappy about it and so am I. I like very much that Tiki is very integrated and has all we need and all we might ever need (wiki, blogs, forums, articles, photo galleries, categories, users, messages, comments, calendar, ...), but it has several shortcomings:


  • The wiki syntax is very complex and hard to learn

  • The code is very bloated

  • Tiki eats lots of memory and CPU

  • It is kind of brittle - in many instances pages are sent out incomplete and only reloading the same page fixes that

  • There were some security issues with user uploaded files. I personally think that all files should be held either in database or in folders inaccessible by the browser and fed out to users by a specialised script

  • Plugins, while a very powerful tool, make the complex syntax even more complex

  • Many pages that the user gets can/should not be refreshed as that will cause a repetition of an action (adding another copy of the same comment, ...). In my mind,

  • The generated HTML pages of Tiki are huge - starting with a 100 Kb per page (including css and javascript, but excluding any images).

  • Many features that are natural for uses of PHPBB2 or other forums come like an afterthought in Tiki, like threading, named multilevel quoting, avatars

  • It is hard to maintain a modified version of Tiki and keep up with upstream changes


My ideal feature set:

  • Wiki

  • Forum (multiple named forums in categories)

  • Blog (multiple separate blogs with sepatare set of tags and a rss/atom feed for each blog, tag or combination of tags)

  • Calendar for planned upcoming events


Additional technical requirements:

  • Every object must be commentable

  • The same Wiki syntax must be used everywhere

  • Unified linking schemes with InterWiki support

  • There should be WYSIWYG edit option

  • Unified users and groups

  • Every page that users view must be a view page and not an update page. For a simple example: user is at viewpage/SomePage and fills a form there that will add a comment to the page, the form is being submitted to addcomment/SomePage with the comment data in POST headers, when the addcomment script has added the comment, it redirect the user back to the viewpage/SomePage, maybe indicating which comment was just added, so that user can see the change highlighted. Even better if it can be done, like in GMail, when the new comment is incorporated into the page without a reload and a request is sent to the server independently.

  • Names of Wiki pages must not be limited neither to CamelCase nor to ASCII chars. I want to be able to have pages called "Juridiskā informācija" or "開眼 の 司会者" :)

  • WAP version

  • It should be possible to attach files and images (with proper preview thumbnails) to each and every item: wiki pages, comments, blog posts, forum posts, news items, calendar entries, other files and images (hmm that would be weird :P)

  • It would be perfect if it was written in Python with proper objects for everything and database based object persistence



As you can see, I face a long selection/adaptation/programming prospect. I wish I could use as much of existing open source components and contribute my changes back, so they can be properly maintained within respective projects.

The optimum scenarion would be a construction of some kind of TikiWiki Light with the needed functionality, code cleanup, restructurisation, ... Will have to talk to TikiWiki project heads for that.

Ok, now the 0.5 release of my Simple Bac...

Ok, now the 0.5 release of my Simple Backup suite can now actually restore something from your backups! (both command-line and Gnome interfaces) It now even does automatic backups (and not just claims that it does). It even doesn't store empty folders in the backup. Oh and some usability fixes are also thrown in for no extra charge. :)
Note: due to a small, tiny bug in gnomevfs, restoring files from remote backup locations doesn't work yet. I'll have to do a lot of hacking to get that working :P

0.3 release of SBackup :)

This week was a productive for me, but I did run into some unexpected
technical difficulities and thus had to work throught the weekend to
catch up.

I just did the 0.3 release on freashmeat and sourceforge.

Progress checklist:
* backend daemon - ok
* GUI configurator - ok
* commandline restore - 50% (need to write a directory extraction
function that is missing from python tarfile module)
* GUI restore - 95% (depends on command line restore)
* GUI to write a backup snapshot to cd - 0%, optional

Of course extensive optimisation, testing and polishing is quite needed too.

I should be able to finish the restore tools tomorrow if no other
major problems occur.

Simple Backup Solution 0.1 is out !

Simple Backup Solution 0.1 is out !

With this simple and humble name my SoC project has met the first milestone - I have a fully functioning backend for my backup solution. The GUI is to be done next week.

You can get see the spec here, get the 0.1.1 version here and monitor all my development activity via my online repository. (You can access it with your web browser or with bazaar-ng.)

A Debian package will be uploaded after completion of all planned functionality, i.e. in a couple of weeks.

Mezzo bashing

Symphony Operating System

It is becoming popular today to have a whack at Mezzo. We all are busy, so let's head straight to the case:
* It is quite unclear how the 'corner targets' should work and how the workspace should actually be layered.
I suggest such scheme:
- bottom layer would be similar to the Workspace soncept, but: desklets should definately be resizable, positionable and manageable (preferably from one menu/application for all desklets, so I can easily kill a desklet that I accidentaly 'lost' somewhere or add a desklet to the desktop from a list of all desklets). Some desklets could acctually be portals to some on-disk folders thus easing the transition for people that do want to store something on the desktop. Also the managerie fits into this layer (customisable position and size, please)
- above that a layer of application windows would be.
- above the application would be layers that would emerge from the corner target buttons when pressed. I would suggest using a close-to-realworld experience and make these buttons like drawers - much like the Dasher. That is, when any of these buttons is pressed, a separate workspace layer comes over covering all aplications. The corner target button is pressed and if you click it again it will depress removing the layer. Some controls on the layer expand when pressed ('Find' on the documents layer can simply produce a text input box underneath it when pressed) or change the layer. Others launch an application (documents, programms). When that happends we 'fall back' into application layer and the target layer disapears (imagine animation of a document icon falling down and unfolding into the application window).
* within this concept trash target has no sence and should be replaced by a 'Desktop target' and a 'Trashcan' entery in the Computer target
* You will not be able to get away from categories in "Settings" and "Tasks" areas, especially without creating too much of interface clutter, but you can optimise these categories to make them expandable right inside the Computer layer and maybe even make some settings adjustable directly form the layer - imagine a volume control bar embeded into the computer layer. Same with 'Other programms'
* One must be very carefull not to obsure any usable content by the target buttons in any application window, when it's maximized (most people always have their main application in a maximized window)
* That also brings up a point of task switching when one window is maximised - that is a normal situation, how does one switch windows in such scenario?
* What is the purpose of "Close" buttons on each target layer?
* Going back to application windows - what is the motivation to move 'Minimize' and 'Maximize' buttons to the left side?
* I oftern find it useful to be able to close an inactive aplication with one click on its 'Close' buton instead of two clicks or four mose movements (navigate mouse to the window, one click to activate it, navigate mouse to 'Close' button, click it)
* Without side and bottom border, window title on the top is huge and does not fit anymore
* Window handles ticking out of the active window look ugly and do not have any functional meaning untill the window is to be resized. How about showing them only when mouse cursor is close to one corner?
Well, I think I am mostly done :)
It is of course interesting to see new design concepts and I hope it evolves into something both usable and valuable.

Downloads get corrupted

I wonder what is the problem with my network recently - whatever I download, it has corruptions in it. After I download something with BitTorrent - some pieces must be redownloaded. If I use HTTP, MD5SUMS fail.
Hmm, maybe my new shiny RAM is at fault ;(

Git Traffic #1 For 2 May

Git Traffic #1 For 2 May

Linus Torvalds said: Did I already happen to mention that I think that the git model is the best model ever, and that I'm just not an incredibly good-looking hunk and becomingly modest, I'm smart too?
Davide Libenzi replied, You forgot, *again*, to take your medications !!

Now that's what I call entertainment. :) Seeing Linus and the gang make a SCM instead of a OS kernel ir really fun. You can see it as a 'Junkyard' for software geeks *or* as rocket scientists on a vacation creating the worlds fastest wheelchair. :D

Mac OS X 10.4 Tiger

Ars Technica - Reviews - Mac OS X 10.4 Tiger
What would you expect from a review of a point release of a operating system? About the same as you would expect from the point release itself.
This one had much more then I exected. First of all the changes are reviewed on a very deep level starting from the kernel level changes and their implications to lack or appearance of a one pixel line in the interface.
I must say that this article showed me a lot of new and interesting ideas from the Tiger (and some from the old releases), what Spotlight is and isn't, how extended attributes work and what they do or could do, Quarz engine, Finder changes and a lot of new stuff.
Best of all this is not another "whoo whoo" review - mistakes are shown, old unsolved issues are brought up, potential further improvements are shown. But also the most important of 200+ improvements are reviewed.
I must say that this is a must-read for all developers starting from kernel and filesystem writers to interface designers.

Reinstalling laka.lv

Today I ventured into the most annoying adventures a system administrator can face - reinstall. Fortunately this was a planned one, so I had just made all backups.
Problems started even before I did - all air circulation devices were broken in the company that collocates our server, so it was very hot there. I am not afraid of some heat unless it cooks my servers, so I went on with the reinstall.

While I was on the way to the location I asked the kind people there to make some kind of temporary banner page on one of their servers to say something like 'LAKA is being repaired now, come back in a few hours'. While they were doing that, it was needed to restart their corporate firewall as it stopped responding. And then ... the firewall didn't come up. Dong! Now imagine three men in a hot and tight server room struggling to untangle cables to get that firewall box out in the open to see what happened to it. Juk! After dissection the firewall claimed that it suddenly needed a video card. It's clear that the CMOS battery is dying on that thing. The way of least resistance was chosen (as people from all levels of the building were rushing in the server room every 5-7 seconds) and the Internet was returned to the people, and me as I was just going to finally start reinstalling our server.

As usually with 7+ year old hardware, the CD-ROM gave out in the worst possible case. Luckily there were some spares around. This servers case is something really interesting - it actually has a button to open the side of the case. Like a case eject :).

Installing Debian was uneventful showing the high level of this distro. In parallel I helped one guy to try to install SMB printer in Gentoo and soon I had to arrive to a conclusion that Gentoo sucks - nothing worked without a bit of tinkering. Even after installing ppds for the printer I had to unzip and install them manually. Juck!

Reinstalling needed programms was fast and seamless. The biggest problem was restoring the data. Unfortunately I made a full backup of the whole disk an that was a big problem. I mean 800 Mb is big if your downlink is less then 50 KB/sec :(. I spend a hour cutting out all the stuff I needed to revive the web and shell users. That was 150 Mb. Not wanting to waste my time waiting I wanted to put it on the download and head home to finish the thing remotely, but there was another problem lurking in the firery shadows - the firewall didn't want to give me back my IP.

I left hosters deal with that problem. When I left they were telephoning the authors of the firewall. Half an hour after I got home, the server was back online and I could start copying the reduced backup. Restoring Web and mysql services was a snap even considering migration to Apache 2 and MySQL 4 in the process. It just worked :)

After that I realized that I had screwed the user ids by copying old /etc/passwd and /etc/shadow over the new ones. Doh! I was save by some mysterious force that made backups right after the installation. I spend 20 minutes inching back into control of the system (I lost root and ssh would scream in panic because /etc/passwd had 0600 mode :P) and another 15 to carefully carry old users over to the new system.

Then I recovered a lost MySQL root password by looking at backup of my .mysql_history file. Doh!

Now I'll need most of the rest of the backup to get mail and postgresql back up. More waiting :(

Edit: Now this is getting ridiculous - the server that has the backup just shut down on his own. Ridiculous!

Recent Posts

Archive

2017
2016
2015
2014
2013
2012
2011
2010
2009
2008
2007
2006
2005

Categories

Authors

Feeds

RSS / Atom