<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Basshero.org</title><description>Basshero.org</description><link>http://www.basshero.org</link>
<item>
<title>Running a Pylons development environment on the N900</title>
<category>pylons;python;nokia;n900;maemo;programming;web design</category>
<pubDate>Sun, 05 Sep 2010 23:33:42 +0200</pubDate>
<description><![CDATA[<a href="http://picasaweb.google.com/jaywink/PylonsEnvironmentOnTheN900?feat=directlink" target="_blanc"><img src="http://sharez.basshero.org/img/Screenshot-20100905-181626.jpg" border="0"></a><br><br>How many phones in the world do you think can run a full <a href="http://pylonshq.com/" target="_blanc">Pylons</a> development environment? Although I&#39;d like to be proven wrong, I&#39;m quite sure the answer is: One. The <a href="http://maemo.nokia.com/n900/" target="_blanc">Nokia N900</a>.<br><br>It runs on <a href="http://www.linux.org/" target="_blanc">Linux</a> and has all the needed <a href="http://www.python.org/" target="_blanc">Python</a> support, so I decided to go ahead and try installing Pylons. Everything went smoothly according to the normal <a href="http://pylonshq.com/docs/en/0.9.7/gettingstarted/#installing" target="_blanc">installation instructions</a> and in no time the development environment was up and running. The N900 is truly a versatile mobile device.<br><br>Just a few notes on the install;<br> - The development environment needs to be installed outside of MyDocs. The reason for this is that MyDocs is a FAT32 partition. <code>/home/user</code> is an excellent place considering disk space.<br> - Some warnings relating to C optimization were generated. This is because by default the N900 doesn&#39;t have a C compiler installed. The Pylons development environment works fine without this optimization, but if you wish you can first install a C compiler (gcc for example, some <a href="http://ossguy.com/?p=475" target="_blanc">instructions here</a>).<br><br>Some more screenshots in my <a href="http://picasaweb.google.com/jaywink/PylonsEnvironmentOnTheN900?feat=directlink" target="_blanc">Picasa albums</a>, including <a href="http://picasaweb.google.com/lh/photo/GnZ7X4vwTBENzGeDt7qIVQ?feat=directlink" target="_blanc">a screenshot</a> of <a href="http://subversion.basshero.org/argonaut/trunk/" target="_blanc">a new version of The Argonaut</a> running via the Pylons environment on my N900. Hope to get it in such a shape that I can replace this old PHP monster with the new Pylons version soon.]]></description>
<link>http://www.basshero.org/86/running-a-pylons-development-environment-on-the-n900/</link>
</item>
<item>
<title>Acer Aspire One memory upgrade</title>
<category>acer aspire one;how to;gadgets;hardware</category>
<pubDate>Fri, 03 Sep 2010 17:34:21 +0200</pubDate>
<description><![CDATA[<img src="http://sharez.basshero.org/img/DSC07346.JPG"><br><br>I finally grew tired of the lack of memory on my <a href="http://en.wikipedia.org/wiki/Acer_aspire_one" target="_blanc">Acer Aspire One</a> (the default 512mb) and remembered that I have some extra 512mb memory modules laying around. So, how hard is it to add a little memory to a laptop? Not hard usually, but Acer engineers certainly made it challenging for the AA1.<br><br><a href="http://www.reghardware.com/2009/02/19/aa1_memory_upgrade/" target="_blanc">Reg Hardware has some excellent step-by-step instructions</a> to do the upgrade. It&#39;s basically a small matter of taking the AA1 to bits, but thanks to the instructions I managed to do it in 30 minutes without (hopefully!) breaking anything.<br><br><a href="http://picasaweb.google.com/jaywink/AcerAspireOneMemoryExpansion?feat=directlink" target="_blanc">Check out some pictures of the upgrade in my Picasa albums</a>.]]></description>
<link>http://www.basshero.org/85/acer-aspire-one-memory-upgrade/</link>
</item>
<item>
<title>Control your N900 remotely with Phone Control</title>
<category>maemo;n900;tips;software;scripts;open source</category>
<pubDate>Sat, 28 Aug 2010 16:25:27 +0200</pubDate>
<description><![CDATA[<img src="http://sharez.basshero.org/img/phone-control.jpg"><br><br><b>Phone Control</b> is a script produced by an active <a href="http://maemo.org/" target="_blanc">Maemo.org</a> member and mobile enthusiast <a href="http://maemo.org/profile/view/mohammad7410/" target="_blanc">Mohammad Abu-Garbeyyeh</a> that allows you to control basic device functions from the command line. It is based on commands collected on the <a href="http://wiki.maemo.org/Phone_control" target="_blanc">Maemo Wiki</a>.<br><br>Not only does this enable easy use of basic device functions from scripts and small apps (think of Phone Control like an API into device functionality), but it also allows remote usage via <a href="http://wiki.maemo.org/SSH" target="_blanc">SSH</a>.<br><br>Take the following example. You&#39;ve hooked your N900 to your home stereo to play some music or internet radio. Instead of walking over to the stereo to change tracks, Phone Control allows you to do it remotely via SSH simply with the following commands;<br><br>To change to the next track:<br><pre><tt>phone-control --mp-next</tt></pre>To raise or lower volume:<br><pre><tt>phone-control --volume [0-100]</tt></pre>You can also select a track with:<br><pre><tt>phone-control --mp-play [/path/file]</tt></pre>Lots of more commands are available, relating to calls, speaker, profile settings, launching apps, turning wifi or bt on/off, capturing images and more.<br><br>The script is currently in <a href="http://wiki.maemo.org/Extras-devel" target="_blanc">Extras Devel</a> and of course you can also get it directly from the <a href="http://maemo.org/packages/view/phone-control/" target="_blanc">Maemo Package downloads</a>.]]></description>
<link>http://www.basshero.org/84/control-your-n900-remotely-with-phone-control/</link>
</item>
<item>
<title>Resolving SVN checksum problems</title>
<category>subversion;tips;programming</category>
<pubDate>Tue, 03 Aug 2010 17:52:42 +0200</pubDate>
<description><![CDATA[A few times I&#39;ve had a problem where I have made no changes to a file, but for some reason <code>svn status</code> says it&#39;s modified. Trying to commit it brings up the following kind of error:<br><br><code>Sending        basshero3/model/config.py<br>Transmitting file data .svn: Commit failed (details follow):<br>svn: Checksum mismatch for &#39;/home/jaywink/Dropbox/basshero3/basshero3/model/.svn/text-base/config.py.svn-base&#39;; expected: &#39;729186b4c1c81136b743d51940afd4e9&#39;, actual: &#39;9ce432c5ab3fe8ae1827846fa093eeae&#39;</code><br><br>Doing <code>svn revert basshero3/model/config.py</code> showed that the file on the server was indeed different - for reasons unknown (there was an extra line containing the word &#39;<code>code__</code>&#39;).<br><br>Searching Google brought up several posts that really only could tell you to backup changes in your working copy, delete the working copy, do a fresh check-out and copy back the changes.<br><br>However, it really isn&#39;t required to delete the whole working copy if this error is only related to one or a few files. I resolved this problem by copying the problematic file contents to a safe place, then doing;<br><br><code>svn delete --force basshero3/model/config.py<br>svn commit basshero3/model/config.py</code><br><br>After this restore the file as it should be and do;<br><br><code>svn add basshero3/model/config.py<br>svn commit basshero3/model/config.py</code><br><br>Problem fixed.]]></description>
<link>http://www.basshero.org/83/resolving-svn-checksum-problems/</link>
</item>
<item>
<title>Python script to update hosts file for ad blocking</title>
<category>ad blocking;maemo;linux;python;n900;scripts</category>
<pubDate>Fri, 23 Jul 2010 20:27:00 +0200</pubDate>
<description><![CDATA[<img src="http://www.mvps.org/winhelp2002/banner2.gif"><br><br>There are many ways to do <a href="http://en.wikipedia.org/wiki/Ad_blocking" target="_blanc">Ad Blocking</a>. Probably the most popular one being an ad blocking add-on or extension to your browser. These are available for at least <a href="http://www.google.com/chrome" target="_blanc">Chrome</a>/<a href="http://code.google.com/chromium/" target="_blanc">Chromium</a> and <a href="http://www.mozilla-europe.org/en/firefox/" target="_blanc">Firefox</a>.<br><br>The trouble with adding stuff to the browser is that it also makes the browser more resource heavy. In the world of mobile computing, especially real mobile computers that can multi-task and do stuff that "proper computers" can do, every resource counts. One of these computers is the <a href="http://maemo.nokia.com/n900/" target="_blanc">Nokia N900 running Maemo Linux</a>.<br><br>This is where hosts files come in. The default <a href="http://en.wikipedia.org/wiki/MicroB" target="_blanc">Maemo browser</a> (and the <a href="http://www.mozilla.com/en-GB/mobile/" target="_blanc">Firefox Mobile</a> that is also available) do have <a href="http://adblockplus.org/en/" target="_blanc">AdBlock+</a> extensions available. I however like to keep the browser as light and responsive as possible.<br><br><a href="http://en.wikipedia.org/wiki/Hosts_file#Ad_filtering" target="_blanc">Excerpt from Wikipedia about hosts files</a>:<br><code>This method exploits the fact that most operating systems store a file with IP address, domain name pairs which is consulted by most browsers before using a DNS server to look up a domain name. By assigning the local 127.0.0.1 IP number to known ad servers the user directs traffic intended to reach those ad servers to the local machine. Running a suitable web server locally the ad content can be replaced with anything the user wishes. For instance if the web server sends a blank html page for any request the ads completely disappear from the pages they were originally intended to appear on.</code><br><br>There are lots of different ready compiled hosts files for offer that contain the majority of major advertisement and banner servers, effectively removing them from web pages. One of these is updated at <a href="http://www.mvps.org/winhelp2002/hosts.htm" target="_blanc">mvps.org</a>. To automate the process of regular updates of this file, I&#39;ve made a small <a href="http://www.python.org/" target="_blanc">Python</a> script to retrieve the newest version and add the content to your /etc/hosts file. This script can be run manually or scheduled to run in <a href="http://maemo.org/packages/view/alarmed/" target="_blanc">Alarmed</a> or <a href="http://en.wikipedia.org/wiki/Cron" target="_blanc">Cron</a> like I have done.<br><br>The script is designed for <a href="http://www.linux.org/" target="_blanc">Linux</a> distributions that have their hosts file in /etc/hosts, for example <a href="http://maemo.org/" target="_blanc">Maemo</a>, <a href="http://www.ubuntu.com/" target="_blanc">Ubuntu</a>, <a href="http://fedoraproject.org/" target="_blanc">Fedora</a>, etc. Just save the script anywhere on your file structure (I prefer to keep all mine in /opt/scripts) and as root type "<code>python [path to script]/gethosts.py</code>" to update your hosts file. If not as root, add "<code>sudo</code>" in the front to run the script with root permissions. Only root has editing rights to /etc/hosts by default so the script will give an error if it cannot write to the hosts file.<br><br><a href="http://sharez.basshero.org/codez/gethosts/" target="_blanc"><b>Download the script here.</b></a>]]></description>
<link>http://www.basshero.org/82/python-script-to-update-hosts-file-for-ad-blocking/</link>
</item>
<item>
<title>FootieBot ownz your World Cup</title>
<category>sports;programming;python;automation;maemo;n900;scripts;robots;footiebot;games</category>
<pubDate>Thu, 08 Jul 2010 20:05:09 +0200</pubDate>
<description><![CDATA[<img src="http://culturekids.files.wordpress.com/2009/12/zakumi-mascot-world-cup-2010.jpg"><br><br>The World Cup. It&#39;s been on (almost) everyones mind for the last month or so. A lot of people are also guessing out the scores for fun or profit. There are also leagues set up to compete on guessing out the scores. I participated in one of these set up by a colleague, fun and play, no money involved.<br><br>Let&#39;s make one thing clear. Sports doesn&#39;t interest me. At all. I have never been all that interested in football, or any other sports for that matter. But I do like to compete and when Janne, our CEO made a script to calculate scores for our previous betting league (Ice Hockey world championships?), it was like throwing down the gauntlet. On our <a href="http://www.spellpoint.fi" target="_blanc">company</a> forum I swore I would create a bot to participate in the Football World Cup.<br><br>And so I did, and he&#39;s called <b>FootieBot</b>. Bolted together with <a href="http://www.python.org" target="_blanc">Python</a> and equipped with web page analyzing components and Twitter for communications - FootieBot bravely set out to go for win. And well, failed, and is now coming in last :)<br><br>Even though FootieBot didn&#39;t get the win, it was a fun little project and gave me a good reason to try the power of <a href="http://wiki.python.org/moin/WebBrowserProgramming" target="_blanc">Python in automated web page handling</a>. As said, FootieBot is completely automated, and scheduled on my phone to run every 5 minutes. The program flow in short; <ul><li>Log in to <a href="http://www.veikkaajat.net" target="_blanc">Veikkaajat.net</a> and get the next matches</li><li>Store matches in an SQLite database</li><li>For any matches within the nex 24 hours, get hits from Twitter for the last 5 minutes. Twitter is searched with the official name of the country from the pages of FIFA.</li><li>Store amount of hits in the db</li><li>Calculate a likely result and submit to Veikkaajat.net</li><li>If there is only 20 minutes to kick off, post result on Twitter and mark match as submitted to ensure post is only done once</li></ul>Requirements;<ul><li><a href="http://www.python.org" target="_blanc">Python</a> 2.5 or higher 2.x version is needed.</li><li><a href="http://pypi.python.org/pypi/simplejson/" target="_blanc">simplejson</a> (needed for Python 2.5 only, used by Twython)</li><li><a href="http://pypi.python.org/pypi/twython/" target="_blanc">Twython</a> (Twitter API)</li><li><a href="http://pypi.python.org/pypi/mechanize/" target="_blanc">Mechanize</a> (web page automation)</li><li><a href="http://pypi.python.org/pypi/BeautifulSoup/3.0.8.1" target="_blanc">BeautifulSoup</a> (excellent HTML parser)</li><li><a href="http://docs.python.org/library/sqlite3.html" target="_blanc">SQLite3</a> for Python</li></ul>FootieBot should run on any platform with Python. I&#39;ve been running it on my <a href="http://maemo.nokia.com/n900/" target="_blanc">Nokia N900</a> phone, scheduled to run every 5 minutes via <a href="http://maemo.org/packages/view/alarmed/" target="_blanc">Alarmed</a>. How many phones can you schedule Python scripts on? Maemo rocks.<br><br>For anyone interested, the code is posted below. It requires the Veikkaajat.net game ID and login details, and Twitter login details. Also some small changes have been made to it over time so it is possible the original World Cup winner and top player -parts are not bug free. Oh and <a href="http://www.veikkaajat.net" target="_blanc">Veikkaajat.net</a> is a Finnish language website for organizing betting leagues. With small modifications the script could be used for any similar website.<br><br><b><a href="http://sharez.basshero.org/codez/footiebot/">Download the code here!</a></b>]]></description>
<link>http://www.basshero.org/81/footiebot-ownz-your-world-cup/</link>
</item>
<item>
<title>MeeGo 1.0 on my netbook and running Dropbox</title>
<category>linux;meego;tips;dropbox;open source;operating systems;chromium</category>
<pubDate>Fri, 18 Jun 2010 12:20:03 +0200</pubDate>
<description><![CDATA[<img src="http://meego.com/sites/all/files/imagecache/highlight_image/highlights/meego-v1.0-launch.png"><br><br>Finally installed MeeGo 1.0 on my Acer Aspire One netbook a few days ago and I must say it really is a promising little Linux distro. It carries a lot on from Moblin 2.1, but is even more snappier even on a really low power netbook like the AA1 original "half a gig ram/8 gig flash drive" -netbook.<br><br>MeeGo is the only Linux distro to come with Chrome or <a href="http://code.google.com/chromium/" target="_blanc">Chromium</a> as the default browser, which I like a lot of course. There aren&#39;t a lot of applications yet in the main repos but it is Linux so in reality there&#39;s a huge amount of apps to choose from. <br><br>Here are some instructions on how to install Dropbox for MeeGo (courtesy of <a href="http://www.makeuseof.com/tag/dropbox-skype-adobe-air-codecs-working-meego-os-netbook/" target="_blanc">MakeUseOf.com</a>):<ul><li>Go to the <a href="https://www.dropbox.com/downloading?os=lnx" target="_blanc">Dropbox Linux download page</a> and grab the Fedora x86 package</li><li>Open up the Terminal, change to the folder containing the Dropbox rpm and do the following:<br><code>sudo yum --nogpgcheck localinstall [name of rpm file]</code></li><li>The Dropbox app can then be opened from the Applications menu</li><li>Remove the automatically added Dropbox repository by opening the terminal and typing:<br><code>sudo rm /etc/yum.repos.d/dropbox.repo</code><br>Otherwise Yum might not work</li></ul>Happy syncing!<br><br><a href="http://meego.com/downloads" target="_blanc">Get MeeGo for your netbook here</a>.<br><a href="http://arstechnica.com/open-source/reviews/2010/05/hands-on-meego-for-netbooks-picks-up-where-moblin-left-off.ars" target="_blanc">MeeGo 1.0 netbook experience review by Ars Technica</a>]]></description>
<link>http://www.basshero.org/79/meego-10-on-my-netbook-and-running-dropbox/</link>
</item>
<item>
<title>How to generate an easy to remember unique password for each site?</title>
<category>tips;security;internet</category>
<pubDate>Sun, 30 May 2010 18:30:21 +0200</pubDate>
<description><![CDATA[<img src="http://sharez.basshero.org/img/password.jpg" style="float:left; padding:10px;">Here is a tip I&#39;ve wanted to share for a while now. A tip that has made my online life a whole lot easier.<br><br>A question: How many passwords do you use on all the websites that you visit? Two, three, four? <a href="http://www.telegraph.co.uk/technology/news/6125081/Security-risk-as-people-use-same-password-on-all-websites.html" target="_blanc">Or just one for all?</a> With tens or even hundreds of websites where one needs to register as an active net user it becomes impossible to remember a distinct password for all the sites, especially if you only visit some sites maybe once or twice a year, if even that. But that registration form needs a password, so you have to type one in. A common huge security risk is to use a collection of passwords on all sites. This way you will always manage to log in by trying your most usual passwords. I have been using this tactic for ages, having maybe 5 different passwords I have been using.<br><br>Then it happens, <a href="http://www.google.fi/search?q=exposed+passwords" target="_blanc">one of your passwords is exposed in plain text for example by a security exploit to anyone for grabs</a>. Passwords are also compromised by badly designed sites that send them to you upon registration or a "forgot my password" link. Whatever happens, all the sites you use that password for are open for someone else to login with your account. And what if you don&#39;t even remember what sites are using a particular password? All of them need to be changed, which is difficult if you don&#39;t even know all the sites you have used the password on.<br><br>Solutions are numerous, <a href="http://en.wikipedia.org/wiki/Password_manager" target="_blanc">password managers</a> being a popular one. However the problem with these is that they are restricted to either using a particular browser, service or local database (like <a href="http://keepass.info/" target="_blanc">KeePass</a>, for example). While handy tools, they are slow to use for sites that are not visited often. So here is a tip I found came across some time ago that made all this simple and effective. I couldn&#39;t find the original source of the tip, but I&#39;m quite sure it was from <a href="http://lifehacker.com/" target="_blanc">Lifehacker</a>.<br><ol><li>Generate a password you can remember that has at least 5 letters. Apply the <a href="http://en.wikipedia.org/wiki/Password_strength" target="_blanc">general rules</a>, ie include some capital letters and numbers and make sure it is NOT a dictionary word.</li><br><li>Create a rule to generate 3 letters from the URL of the website. Do not make it too simple, don&#39;t for example use the first 3 or last 3 etc. Something like the first, the last and the second of the second (if any) word.</li><br><li>For extra security and variety add to the end the content of another rule, for example a number containing the length of the longest word.</li><br><li>Memorize the generated password and the rules. Save them in a password manager if you are the type of person that saves passwords for all sites, this way if you forget either part of the rule you can check them later from there.</li></ol>When registering to a site you can now generate yourself a decent security, but easily remembered distinct password for all sites. All sites have an unique URL and this makes each password unique. And unless your rules are something too simple like the last 3 letters of the URL, an exposed password is unlikely to give out our rule (unless someone knows you are using this method like anyone will now know of me). <br><br>Of course these are just examples of what kind of rules could be created to create distinct passwords for web sites. Sure made my struggle with all the password managing a lot easier.]]></description>
<link>http://www.basshero.org/78/how-to-generate-an-easy-to-remember-unique-password-for-each-site/</link>
</item>
<item>
<title>Add a reboot button to the N900 power menu</title>
<category>n900;maemo;tips</category>
<pubDate>Tue, 06 Apr 2010 21:20:58 +0200</pubDate>
<description><![CDATA[<img src="http://lh4.ggpht.com/_wC1OW9UEEaM/S7ogsGXllPI/AAAAAAAAB74/Hvka6RZvoSY/s400/Screenshot-20100405-203959.png"><br><br>Nice N900 usability tip from Mobile Livingroom. Not often will you need to completely shutdown your device, but sometimes a reboot is needed. I usually have a terminal window open so I just type <code>sudo reboot</code>. But the N900 actually has a reboot button implemented - it is just hidden for some absurd reason. All you need to do is edit the system UI configuration file and enable the reboot button. Here is how, instructions courtesy of Mobile Livingroom.<br><ol><li>Open up a terminal and gain root:<br># <code>sudo gainroot</code></li><br><li>Change to the folder with the System UI config:<br># <code>cd /etc/systemui</code></li><br><li>Backup the old config:<br># <code>cp systemui.xml systemui.xml.bak</code></li><br><li>Open up the config file with your favorite editor or with the following command:<br># <code>vi systemui.xml</code></li><br><li>Go to the line where you see <code><menuitem priority="20" name="Reboot"></code><br>Delete &lt;!-- before it and insert &lt;!-- after &lt;/menuitem&gt;<br><br>Your code should be looking like this:<br><br><code>&lt;menuitem priority="20" name="Reboot"&gt;<br>&lt;return&gt;6&lt;/return&gt;<br>&lt;po&gt;osso-powerup-shutdown&lt;/po&gt;<br>&lt;/menuitem&gt;<br>&lt;!--<br>&lt;menuitem priority="10" name="Soft poweroff"&gt;</code></li><br><li>Exit the editor with <code>:wq</code> (if using vi editor). You will see the Reboot-button active in the menu after a reboot.</li></ol>If you feel like some more tweaking, don&#39;t forget to check out the <a href="http://wiki.maemo.org/Customizing_Maemo" target="_blanc">Maemo.org wiki for some more customization tips</a>, some easy and some only for hard core modders.<br><br>[thanks <a href="http://mobilelivingroom.de/Howto-add-Reboot-Button-N900" target="_blanc">Mobile Livingroom</a>]]]></description>
<link>http://www.basshero.org/77/add-a-reboot-button-to-the-n900-power-menu/</link>
</item>
<item>
<title>Microsoft announces future advertisement driven Windows licence (APRIL FOOLS)</title>
<category>microsoft;windows;free;operating systems</category>
<pubDate>Thu, 01 Apr 2010 09:04:26 +0200</pubDate>
<description><![CDATA[<img src="http://cache.gawker.com/assets/images/lifehacker/2009/08/windows7_01.jpg" style="float:left;width:280px;padding:5px;"> Has the inevitable happened? The rise of free operating systems (Linux, and a future Chrome OS to name a few), and an increasingly free (or ad driven) internet with services from email to online photo editors seems to have changed the view in the Microsoft camp also.<br><br>Today an announcement from Redmond tells us of an advertisement driven future Windows 7 licence available at end of May. This will be a free download of "Windows 7 Free Edition", which will have the same features as the Home Edition. Users will be greeted by advertisements during logon (which on Windows is long enough to allow showing advertisements). Launching any program will also launch a pop up advertisement which can only be closed after a 5 second wait.<br><br>Is this the first step in Windows making the transition to a free operating system? Would you be interested in this kind of Windows edition, and will it danger the growth of Linux?<br><br>Time will tell how successful this edition of Windows will be.<br><br><big><b>EDIT 2nd April:</b></big> This of course is an april fools story, there is no Windows Free Edition. Although on the other hand I wouldn&#39;t be surprised if Microsoft will need to release some kind of Free Edition at some point in the future. The free OS alternatives (mainly Linux) are getting in to a stage where Microsoft surely needs to take some kind of defensive measures to keep its market share.]]></description>
<link>http://www.basshero.org/76/microsoft-announces-future-advertisement-driven-windows-licence-april-fools/</link>
</item>

</channel></rss>