Monday, May 28, 2012

Install Puppy Linux to USB without a CD (extracting files out)

[This is a rough guide, open for improvement. Leave any tips in a comment, or email me.]

A couple days ago I installed Puppy Linux (Precise 5.4.3) to a USB Flashdrive without a CD. I couldn't find a decent guide for this anywhere, so I figured it out primarily with help from a DSL tutorial. I did the install using Ubuntu Linux (which has built in support for reading iso files). If you are on another operating system, you will need some software like WinCDEmu to read the files from the iso file. You will also need to have Syslinux software to install a bootloader on the device.
apt-get install syslinux

Puppy Linux is great because it will fit on those old 256MB, 512MB, and 1GB USB disks, giving them new life.

Here I will roughly list the steps required to install Puppy Linux to USB.

  1. Format the usb to fat32 file system.
  2. I don't think this is completely necessary, but if possible, mark the usb partition as bootable. (using a program like fdisk)
  3. Prepare (mount) the Puppy Linux iso file so that you can for read/extract the files from it.
  4. Copy all the files from the iso to the usb stick.
  5. Create an empty file on the USB drive named: USBFLASH
  6. On the USB, rename the file isolinux.cfg to syslinux.cfg.
  7. Edit syslinux.cfg and change "pmedia=cd" to "pmedia=usbflash". (Be aware, editing this file may prevent USB booting if your editor modifies carriage return on the line ends.)
  8. Install syslinux loader to the USB drive in Linux
    syslinux -s /dev/sdb1

    Install syslinux loader to the USB drive in Windows (assuming F: is your usb)
    syslinux.exe -mas F:

Congratulations if you made it this far. You should now be able to reboot into your new Puppy Linux USB installation. Here is another great resource for installing syslinux, which may help on using with Windows-

Puppy Linux pmedia options, and other flags.
quicklist: usbflash usbhd usbcd ideflash idehd idecd idezip satahd satacd scsihd

Comment or leave feedback sepero 111 @ gmx . com

usb stick pendrive flashdrive pen flash drive puppylinux

Tuesday, May 15, 2012


If you're coming from another CMS or Framework like me, then Django is probably messing up your weblinks too with the APPEND_SLASH option. (Since when is it more user friendly or beneficial to put a slash after every url? Most websites on the internet leave the end slash off, and Django seems to be going against common convention in this regard.)

You could leave APPEND_SLASH off, but this may lead to problems with SEO.

Anyway, I love Django in many other ways, and thankfully Django is flexible enough to allow us to fix this problem. I developed a middleware that basically does the opposite of APPEND_SLASH, and it's accordingly named Remove Slash Middleware.

It simply works like this:
1. Remove all slashes from the end of the requested url.
2. If the url location is not found, then add one slash '/' and try again.

Now you can choose to get rid of all those slashes at the ends of your urls. Delete, subtract, pop, erase those slashes.

Comment or leave feedback sepero 111 @ gmx . com

Friday, May 11, 2012

OpenShot won't display audio Waveforms

Let me start by saying I like the video editor OpenShot. It looks good, and it has a clean, well organized interface. The worst thing I can really complain about is the razor tool. You would never find a bizarre tool like that in a well made proprietary video editing program (it can be beneficial to have a look at your competition). But I'm extremely willing to compromise when it comes to OSS, so that is something I could honestly adapt to over time.

Though, there is one thing preventing me from using OpenShot Entirely- lack of visual audio waveform. I can't see a visual of my audio.

When I record screencasts, about half the audio is actual dialog, and the other half is "um, uh", or silence. These long periods of garbage need to be cut out, sometimes with little bursts of audio that I need to keep. Without visual audio, this is a form of torture that I cannot endure. I would actually have to play the whole video (which could be hours in length), and listen closely to it. Only stopping to edit whenever I hear a bit of audio.

Additionally when cutting, it's is incredibly imprecise when it comes to sound. Because I can't see the audio, I can't be sure if I'm cutting a few seconds before the audio begins, or a few seconds after the audio begins. Ideally, I need to know at exactly what frame the audio begins on. The only way I can find out is by wasting more time listening to the video audio, and repeatedly undoing/redoing mistakes.

With a visual waveform, I can scan several hours of audio, cutting out huge chucks of silence quickly and efficiently. With a visual waveform, I can tell exactly where audio begins and ends. I can realign audio to different locations in the video with ease.

Ultimately this situation really sucks, because I rarely use any transitions or special effects at all, so it's not like I'm in need of something flashy or superfluous. I just need some basic video editing functionality. I understand that being a developer on such a project can often be a thankless job, so I want to say thank you OpenShot developers for all your hard work. I hope in the near future that I too will be able to use your video software.

Comment or leave feedback sepero 111 @ gmx . com

Wednesday, May 2, 2012

Webmasters- Don't Neglect Visitor Feedback

Today I will remark on a very common issue, neglecting visitor feedback. If you want the largest amount of great feedback, this is my advice-

Allow visitors to give textual feedback directly on the page they are currently on, and have it displayed on that page for others to see.

God forbid that visitors correct (or suggest corrections to):
  • Typos
  • Grammar
  • Broken links
  • Incorrect information
  • Outdated information
  • Page order, organization

There are different ways to allow visitor feedback:
  • wiki page implementation (should always include a separate "talk" page for every informational page)
  • visitor comments on page, and visible to others
  • a url to a contact page, email, mailing-list, or forum

The only intelligent reason I can think of making visitor feedback difficult is if your content is highly controversial, or "politically incorrect". You will surely become vandalized often if that is the case.


When should you use wiki implementation?
  • Whenever information changes over time.
  • Whenever it's possible that the information could be more complete.

Recognize that vandalization will always occur with wiki style pages, but the positives can often out weigh the negatives. Is your content more likely to be vandalized than the average website? These are all pretty subjective criteria, so you just have to make an estimation of your own level here.

A wiki implementation allows visitors to easily fill in gaps of information. Wiki can also lead to visitors making tiny edits/corrections here and there- innovative little ideas about writing things that would have never crossed your mind. has moderators, registered users, and even allows for some anonymous user editing. They are an excellent example of how to implement wiki style editing.


When should you use page comments?
  • Anytime you're not implementing wiki.

Yes, you read that right. Simply put, if it's not a wiki type page, you should implement visitors comments. Why the hell wouldn't you? If you don't allow comments because you are trying to avoid spam, think again. The amount of spam you receive will be proportional to amount of quality feedback you get. If you exclude comments to reduce spam, you're successfully reducing quality feedback also.

Many people like to read the comments of others and this can also keep visitors on your site longer. Visitor comments can sometimes reveal tremendously informative things that were not mentioned by the page author. Also, having other visitor comments displayed will encourage new visitors to be less shy about giving their input on the page.

How to handle comments-
Use common sense. You want comments to be super easy, while also reducing spambots. An excellent solution to this problem is OpenID login. People can still remain semi-anonymous, while still being scrutinized on an identity basis. The barrier to leave feedback is very low, while amount of spam protection is just as high as if you had gotten their credentials directly. On a website I previously ran, I permitted anonymous comments, and I setup filters to moderate comments that posted url links (likely spam). Also comments were blocked based on a honeypot input system. The filters would automatically block and remove any repeat offenders. This successfully allowed anyone to comment, while having virtually no spam.

Contact Page, Email, Mailing-list, or Forum

These are all good forms of contact, but none are an intelligent replacement for wiki or on page comments! These forms of feedback should be thought of as complimentary. They require more initial time, preparation, and knowledge from from the user. They also may require the user to reveal more information than they may be willing to divulge (therefore preventing them from giving feedback at all).

These forms of contact act to compliment a good feedback system, but often are poor if used alone.


Every website is going to have different needs, but we create all this content for the visitors. If we are doing something wrong, we should be smart enough to allow those visitors to let us know.

Tuesday, May 1, 2012

Manually Install Django-Nonrel 1.5

At the time of this writing, the installation guide for Django-Nonrel does not list the most updated repositories and is misleading. So I'm writing this to give some people a clue who are trying to figure the puzzle out.

If you just want to easily install Django-Nonrel for Google App Engine right now, then use the Django-Nonrel Installer (supports versions 1.3, 1.4, and 1.5)

Here are the steps for a manual install of django-nonrel:
  1. Download the all needed archives.

Also needed for MongoDB backend:

*Advance warning. Django-Testapp does not work with MongoDB at the time of this writing. So if you're installing MongoDB, but hopefully these instructions can get you in the right direction*

  1. Extract the archives.
  2. It's recommended (not mandatory) to rename every folder to something more relevant.
rename django-nonrel-nonrel-search-cd54e52/ to nonrel-search/

  1. A) If you know how symbolic linking works, link all of the libraries into the folder django-testapp/
This can be tricky because many of the libraries are an extra level deep in structure. You have to look inside each folder and find the name of the library folder. The library folder inside nonrel-search is named "search".
cd django-testapp
ln -s ../nonrel-search/search .

  1. B) If you're unfamiliar with symbolic linking or if you're on a Microsoft system, just move the library folders directly into the django-testapp/ folder.
Again, you have to look inside each folder and find the name of the library folder.
cut nonrel-search/search/ paste into django-testapp/

    At this time you should have a complete setup. If you have the GAE sdk installed and listed in your $PATH, you can test out the local server. Change to the directory django-testapp/ and start up the local server by running a command similar to this:
    $ python runserver

    Then point your browser to:

    For more Django-Nonrel Documentation:

    Update 2013 May 23:Fixed archive URLs, and updated to django -nonrel 1.5 beta.

    Comment or leave feedback sepero 111 @ gmx . com