Skip to main content

Posts

Install Maynard Desktop Shell on Raspberry Pi

There is a light-weight desktop environment, Maynard, for Raspberry Pi. Here are the steps to install and start using it. wget http://raspberrypi.collabora.co.uk/setup-maynard.sh chmod 755 setup-maynard.sh ./setup-maynard.sh // reboot // login maynard // enjoy Reference: http://raspberrypi.collabora.co.uk/maynard.html

Tutorial: Look for strings that start with a specific sub-string using regular expression in Python

In this example, we used regular expression to implement the strings.startswith() function. The program will ask for users' input on a sub-string to find at the beginning of each string. The program will then open a file and print out the lines that start with the sub-string being specified. #Implementing Python's string.startswith() using regular expression # import the regular expression module import re # allow users to specify what string to look for as the start of a string start_str = raw_input("Enter the string that starts a line: ") # specify the name of the file to search within file_name = 'my_file.txt' # open the file for reading file_h = open(file_name, 'r') # define the pattern # ^ : start of the string # {} : place holder for start_str # ^{} -> ^start_str # -> pattern: a string that starts with the content stored in start_str # if You want to specify a word, followed by a space, that starts a string # leave a space after ...

A way to sort a Python dictionary by value, instead of key

Here I used the code on page 122 ~ 123 of the book ' Python for Informatics ’ by Charles Severance (Dr. Chuck) as an example to explain how to sort the key value pairs in a Python dictionary by value. # open the file named remeo.txt fhand = open('romeo.txt') # create a dictionary counts = dict() # read the file line by line for line in fhand: # split the line by whitespace characters (space, tab, newline, return, formfeed) words = line.split() # read the individual word for word in words: # increase the word count by 1 for that specific 'word' counts[word] = counts.get(word, 0 ) + 1 # create our list lst = list() # iterate over each tuple (key value pair) in the list generated by counts.items() for key, val in counts.items(): # create a new tuple (value, key) and append to our list, so that sort() will sort the list by the first element, value. # if we want to sort the list (or you can say dictionary) by key, we ...

Tutorial: Using String.find() and String slicing with [n:m] notation to extract data in Python

When you need to extract data from a string in Python, you can use the built-in String.find() method in Python and the String[n:m] notation to extract the sub-string. string.find(str) will return the starting position of the first instance of str in string. For example. 'abcdecd'.find('cd') will return 2, because the first 'cd' instance starts at position 2 (not 3, since position starts with 0). If no str can be found in the string, the method will return -1. str[n:m] notation will extract the sub-string starting at position n and ending at position m-1, not including the m-th character. For example, if the content of my_str is 'I don't know', my_str[2:] will return 'don't know'. By using string.find() and [n:m] notation, we can write a script to automatically extract the data we need from a string. For example, we have a file test_score.txt that records the scores of all the students enrolled in a class. We know that each line re...

How to install PyQT , QT and SIP on Mac

Step 1: Install QT Download and install from here:  http://qt-project.org/downloads   (Locate where the "qmake" is. For example, "/Applications/Qt5.1.1/5.1.1/clang_64/bin/qmake" when I choose to install qt at "/Applicaitons/Qt5.1.1") Step 2: Install SIP Download the package from here:  http://www.riverbankcomputing.co.uk/software/pyqt/ Unzip it and "cd" into the resulted folder. python configure.py make sudo make install (Review the output messages and locate where sip is installed. For example, "/System/Library/Frameworks/Python.framework/Versions/2.7/bin/sip".) Step 3: Install PyQT Download the package from here:   http://www.riverbankcomputing.co.uk/software/pyqt/ Unzip it and "cd" into the resulted folder. python configure.py --qmake where_qmake_is --sip where_sip_is (ex. python  configure.py  --qmake /Applications/Qt5.1.1/5.1.1/clang_64/bin/qmake --sip /System/Library/Frameworks/Python.fra...

Setting MySQL to Use UTF-8 on MAMP (MySQL 5.5.9, or 5+)

I wanted to setup MySQL to use utf-8 on the MAMP installation on my Mac. I tried the instructions from this article: http://cameronyule.com/2008/07/configuring-mysql-to-use-utf-8/ However, I kept getting error messages that are similar to this one [ERROR] /Applications/MAMP/Library/bin/mysqld: unknown variable 'default-collation=utf8_general_ci' I did some search and realized that several variables are deprecated. Reference: http://dev.mysql.com/doc/refman/5.1/en/server-options.html Therefore, I added the following lines into /Applications/MAMP/conf/my.cnf [mysql] character-set-server=utf8 [client] character-set-server=utf8 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci init-connect='SET NAMES utf8' I restarted the server and mysql run successfully with relevant variables being set correctly. In the "Variables" tab under phpMyAdmin interface (ex. http://localhost:8888/MAMP/?language=English) character set c...