Home page http://www.lucasmanual.com
Contents
-
Debian Services
- Installing and Configuring Postfix on Debian
- Debian Postfix and smtp.sbcglobal.yahoo.com
- Mailman with Postfix
- Ampache (Music Server) on Debian
- Mod Python and PSP
- MoinMoin Wiki with Apache2 and Mod Python
- Debian Anti-Spam Anti-Virus Gateway Email Server
- Mail Server
- Fax Server
- Network Time Synchronization
- FTP Server
- Photo Album Server
- Domain Controller, Samba
- VMware Server On Debian
- Bacula Enterprise Bacukup
- Debian Configuration
- Debian User Configuration
- Debian Printing
- Remote Connection
- Laptop and Debian
- User Manuals
- Troubleshooting
- Python
- Building Software For Industry
- Regular Expression
- Documentation
- Useful Debian Programs
- Games
- Projects
- Free Databases and protocols
Debian Services
Installing and Configuring Postfix on Debian
- Install postfix (this will remove exim since there can't be two mail systems)(If you have a website, choose internet site if configurations will ask):
aptitude install postfix
- Check the log mail.log, mail.err, mail.info, mail.warn to see if postfix runs.
cat /var/log/mail.log
- Configure: Now add your domain to config files, so others can't abuse your mailsystem. We do it with postconf
postconf -e "myorgin = example.com"
- Now add your hostname (computer name). Use command "hostname" if not sure. It will show you your hostname.
postconf -e "myhostname=server1.example.com"
- Now add domain name that your system will handle.
postconf -e "relay_domains = example.com, example2.com, example3.com"
- Reload Postfix Server:
postfix reload
- Let's test our mailserver. Type
telnet localhost 25
- You should see:
Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. 220 server1.example.com ESMTP Postfix (Debian/GNU)
- Now sent an email to yourself:
mail from:<you@youremail.com> rcpt to:<user@example.com> data To: user@example.com From: you@youremail.com Subject: Hey my first email This is my first email on debian postfix after installing configuring it. It was easy. See you
- Now to end data hit enter, type in a dot, and hit enter again:
.
- Then
quit
- Your are done. you can type "mail" and see if you have some.
- Now let's get to next step:
- If you have a router with firewall you will need to enable port 25 and forward that port to your computer.
- You will need to enter your MX records in your domain provider. (ex. godaddy.com, or dnspark.com)
Check your mx records: go to http://www.dnsstuff.com/ locate "DNS lookup". From pulldown menu select "MX". Type in your domain name (ex. example.com). You should see some records there. If you don't see any MX records go back to previus step. You have to have MX record otherwise other computers won't be able to see you when sending emails.
- Usefull commands:
qshape mailq qshape deferred postsuper postsuper -r ALL (requeue all emails)
- You should be set. If your isp is blocking the traffic then you might need to do the following:
Debian Postfix and smtp.sbcglobal.yahoo.com
SBC global block port 25 on its DSL users: http://help.sbcglobal.net/article.php?item=4640
- We will use sbc smtp server via authentication to sent emails. Do this:
- Install these two modules (They tell postfix how to authenticate):
aptitude postfix-tls libsasl2-modules
- ADD to main.cf by using postconf. Just type:
postconf -e "relayhost = [smtp.sbcglobal.yahoo.com]" postconf -e "smtp_sasl_auth_enable = yes" postconf -e "smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd" postconf -e "smtp_sasl_security_options = noanonymous"
- Create a file called sasl_passwd in /etc/postfix/sasl_passwd. Inside type in
[smtp.sbcglobal.yahoo.com] username@sbcglobal.net:mypassword
- Now change permisions so others can't read it:
chmod 600 /etc/postfix/sasl_passwd
- Now postmap it. (creates database-like file so postfix can read it)
postmap /etc/postfix/sasl_passwd
- Restart postfix
postfix reload
- Done. You can use "mutt" to sent emails outside. Check /var/log/mail.log to see if everything is working.
Mailman with Postfix
- Install mailman:
aptitude install mailman
- When done type:
newlist mailman
- Start mailman
/etc/init.d/mailman start
- You should be able to see mailman running now. Visit:
- Because postfix is a secondary choice for Debian we need to add few more stuff:
- Edit /etc/postfix/main.cf and where you see "relay_domains" add lists.yourdomain.com. You would get something like this:
relay_domains = example.com, lists.example.com
- In same file add ,hash:/var/lib/mailman/data/aliases after alias_maps
alias_maps = hash:/etc/aliases,hash:/var/lib/mailman/data/aliases
- Now type:
postconf -e "transport_maps = hash:/etc/postfix/transport" postconf -e "mailman_destination_recipient_limit = 1"
- In /etc/postfix/master.cf add:
mailman unix - n n - - pipe
flags=FR user=list
argv=/var/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}- Edit or create /etc/postfix/transport. Add this line:
lists.example.com mailman:
- Then postmap it:
postmap /etc/postfix/transport
- Now edit /etc/mailman/mm_cfg.py and add:
MTA = 'Postfix' DEB_LISTMASTER = 'postmaster@example.com' POSTFIX_STYLE_VIRTUAL_DOMAIN = ['lists.example.com']
- Done. Now restart postfix, mailman
/etc/init.d/postfix reload /etc/init.d/mailman restart
- Create a mailing list:
newlist list_name
- If you want archives add this to /etc/apache2/apache2.conf
Alias /pipermail/ /var/lib/mailman/archives/public/ Alias /images/mailman/ /usr/share/images/mailman/
- Done. Go to
http://lists.yourwebsite.com/cgi-bin/mailman/listinfo/list_name/
[Optional] If you want to move your mailman to a new server here is how you do it. MailmanTransfer
Ampache (Music Server) on Debian
- Ampache the music server.
- We need apache and php. If this is not installed we need to install it. do "apt-cache policy apache2" to see if it is installed. (apache 1 will work too)
aptitude install apache2 aptitude install php5 php5-mysql php5-gd
- Download ampache and extract it
wget http://www.ampache.org/downloads/current.tar.gz tar -xzvf current.tar.gz
- Move the extracted ampache folder to the correct folder (change the version number to match yours):
mv ampache-3.3-beta4 /usr/local/bin/ampache cd /usr/local/bin/ampache
- Change permissions so the apache server can read ampache files
chown -R www-data:www-data /usr/local/bin/ampache
- Create and edit ampache file for apache(the webserver). This will tell apache2 about ampache: "/etc/apache2/conf.d/ampache":
Alias /ampache "/usr/local/bin/ampache/"
<directory />
DirectoryIndex index.php index.html
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</directory>* Optional, you could change Alias from /ampache "/usr/local/bin/ampache/" to something like
Alias /musiclover "/usr/local/bin/ampache/"
- Restart apache
/etc/init.d/apache2 restart
- Now apache needs mysql. If you have one go to next step. Otherwise install it:
aptitude install mysql-server
set mysql server password: mysqladmin -u root password NEWPASSWORD'
- Almost done. Now go to this link and follow directions.(enter your database password and press install.)
http://localhost/ampache/install.php
- Done. Enjoy
- When you add music. www-data needs to be able to read your music. So you need to add www-data to group permissions. This can be done by:
chgrp -R www-data /path/to/mymusic/*
- or in my case i created group users
addgroup users chgrp -R users path/to/mymusic/* adduser www-data users
- Done. Amapche uses around 20kb of bandwith per stream per user.
Mod Python and PSP
- Installing python scripting pages with mod python on debian and apache2
aptitude update aptitude install libapache2-mod-python
- Module should be enabled, to check type:
a2enmod mod_python
- Enable psp support by adding following in /etc/apache2/httpd.conf :
AddHandler mod_python .psp .psp_ PythonHandler mod_python.psp
- Your final httpd.conf should look something like this:
<Directory "/var/www/pspwebsite/folder"> AddHandler mod_python .psp .psp_ PythonHandler mod_.psp PythonDebug On Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all DirectoryIndex index.psp </Directory>
- Save the file and reload apache:
/etc/init.d/apache2 reload
- Done enjoy.
MoinMoin Wiki with Apache2 and Mod Python
Apache2 and mod_python should be installed by now. If not do
aptitude update aptitude install apache2 aptitude install libapache2-mod-python
Now Install moinmoin wiki.
aptitude install python-moinmoin mkdir /var/www/mywiki cp -r /usr/share/moin/data /usr/share/moin/underlay /usr/share/moin/server/moin.cgi /var/www/mywiki chown -R www-data:www-data /var/www/mywiki
- Configure apache2
- Add the following lines to /etc/apache2/conf.d/wiki:
Alias /wiki/ "/usr/share/moin/htdocs/" <Location /mywiki> SetHandler python-program PythonPath "['/var/www/mywiki','/etc/moin/']+sys.path" PythonHandler MoinMoin.request::RequestModPy.run PythonOption Location /mywiki PythonDebug On </Location>
- Reload apache2
/etc/init.d/apach2 reload
- Configure Moinmoin
- Edit /etc/moin/farmconfig.py. You have 2 options.
wikis = [
("mywiki", r"^yoursite.com/mywiki/.*$"),
]or
wikis = [
("mywiki", r".*"), # this is ok for a single wiki
]- Also, in /etc/moin/farmconfig.py comment out data_dir and data_underlay_dir (we need those defined separately for each wiki)
- [Check] See if /etc/moin/mywiki.py exists. If it does go ahead and edit it. If not copy this file to mywiki.py
# cp /etc/moin/moinmaster.py /etc/moin/mywiki.py
- Then edit /etc/moin/mywiki.py
sitename = u'MyWiki' # [Unicode] data_dir = '/var/www/mywiki/data' data_underlay_dir = '/var/www/mywiki/underlay'
- Comment out data_dir if it is somewhere else in a file 1.Reload apache
/etc/init.d/apache2 force-reload
1.[Done] Enjoy your new wiki at http://yoursite.com/mywiki/
[Optional]If you want your default website to go to mywiki right away. Edit /etc/apache2/sites-available/default, and where you see RedirectMatch do
#RedirectMatch ^/$ /apache2-default/ RedirectMatch ^/$ /mywiki/
- [Optional]If you would like to enable file attachment add this to /etc/moin/mywiki.py, right below previous changes. Namely right under data_underlay
allowed_actions = ['AttachFile']
docbook xml to pdf
- If you install python-xml and dblatex you will be able to render dockbook and convert to pdf.
aptitude install python-pdf aptitude install dblatex
- Go to you wiki page, click on render as docbook, save it and run this command:
dblatex -T simple -o WikiSandBox.pdf WikiSandBox.xml
Debian Anti-Spam Anti-Virus Gateway Email Server
DebianAntiSpamGatewayEmailServer
Mail Server
- Easy to setup, but advanced mail server:
Fax Server
Network Time Synchronization
NetworkTime aka the NTP Date
FTP Server
Photo Album Server
- Photo album gallery server.
Domain Controller, Samba
VMware Server On Debian
- Very good how-to which didn't require from me any additional configuration to install vmware on debian and then windows xp as a guest os is here:
http://www.howtoforge.com/debian_etch_vmware_server_howto
Kernel Upgrade
- On an upgrade when your kernel has been updated you need to download the kenel headers and reconfigure vmware.
aptitude update aptitude install linux-headers-$(uname -r) /usr/bin/vmware-config.pl
Bacula Enterprise Bacukup
Debian Configuration
Change from dhcp to static ip
- edit /etc/network/interfaces
- comment iface eth0 inet dhcp and below type :
iface eth0 inet static [tab]address 192.168.1.200 [tab]network 192.168.1.0 [tab]netmask 255.255.255.0 [tab]broadcast 192.168.1.255 [tab]gateway 192.168.1.1
- Your file should look like:
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.200
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1- or
iface eth0 inet static
address 192.168.5.200
network 192.168.5.0
netmask 255.255.255.0
broadcast 192.168.5.255
gateway 192.168.5.254
Multimedia player and codec on debian
Add the repository from http://www.debian-multimedia.org/debian-m.php to your:
/etc/apt/source.list
Add mirror deb http://gulus.usherbrooke.ca/pub/distro/debian/debian-multimedia/ (your distro ex:stable,testing,unstable).
- For my version it would be:
deb http://gulus.usherbrooke.ca/pub/distro/debian/debian-multimedia/ stable main
- Now install xine(movie player) and xmms(mp3 player):
aptitude update aptitude install xine-ui aptitude install xmms
- Now install windows file format .wmv support:
aptitude install w32codecs
- If you would like to be able to read dvds install libdvdcss2
aptitude update aptitude install libdvdcss2
- Done. You can remove the mirror we just entered from source list if you wish to do so.
players
- Amarok. Very functional Media player
aptitude update aptitude install amarok
- Rythmbox is your second choice. Its lightweight but somewhat has the similar feeling as itunes.
- xmms is your linux version of popular winamp. It is small, playes music every time.
Multimedia player and codec on debian 64 bit
Add the repository from http://www.debian-multimedia.org/debian-m.php to your:
/etc/apt/source.list
Add mirror deb http://gulus.usherbrooke.ca/pub/distro/debian/debian-multimedia/ (your distro ex:stable,testing,unstable).
- For my version it would be:
deb http://mirror.csclub.uwaterloo.ca/debian-multimedia/ testing --arch=amd64 main deb-src http://mirror.csclub.uwaterloo.ca/debian-multimedia/ testing --arch=amd64 main
- Now install xine(movie player) and xmms(mp3 player):
aptitude update aptitude install xine-ui aptitude install xmms
- Now install windows file format .wmv support:
aptitude install w64codecs
- If you would like to be able to read dvds install libdvdcss2
aptitude update aptitude install libdvdcss2
- Done. You can remove the mirror we just entered from source list if you wish to do so.
Mount Windows Share
- You need to have smbfs installed. If you don't do this:
aptitude update aptitude install smbfs
- To mount windows share drive you need to create a folder:
mkdir somefolder
- As root or with root privilages (su root or sudo)
mount -t smbfs -o username=administrator,password=password //windowsservername/folder /home/lucas/somefolder
If you don' want the password to show up you could do
mount -t smbfs -o username=administrator //windowsservername/folder /home/lucas/somefolder
- If you would like to enable a non-privilage user to have write access to share add UID option
mount -t smbfs -o UID=lucas,username=administrator,password=password //windowsservername/folder /home/lucas/somefolder
[Optional] You can replace administrator with your username. You can also replace windowsservername with ip address //192.168.1.10/folder ....
Add a network card
- See if your card is in a list.
lspci -v
- Add a network card by a hardware number. Replace 00:00:..:00 with your harware number. It should be 16 characters.
ifconfig eth1 hw erher 00:00:..:00 uo
Raid 1 Setup
Power Users
Sudo
- If sudo command is not installed, install it.
aptitude update aptitude install sudo
- Then run visudo
visudo
Copy root ALL=(ALL) ALL and paste it right below. Then change root to your user name on the pasted line.
yourusername ALL=(ALL) ALL
Disable ssh root access
Edit file sshd_config file
vi /etc/ssh/sshd_config
On a line where you see Permit root login change it to no
PermitRootLogin no
- Restart or reload ssh
/etc/init.d/ssh force-reload
- This will prevent other users from trying to get guess your password. 100s of lines on your system that look:
Security Events =-=-=-=-=-=-=-= Feb 5 07:21:15 localhost sshd[8586]: Failed password for root from xx.xx.xx.xx port 60618 ssh2 Feb 5 07:21:15 localhost sshd[8588]: Failed password for root from xx.xx.xx.xx port 60637 ssh2
AWStats on Debian
- Install AWStats
aptitude update aptitude awstats
Configure the apache2 for awstats
- Copy configuration file for apache2.
cp /usr/share/doc/awstats/examples/apache.conf /etc/apache2/conf.d/awstats
Then edit /etc/awstats/awstats.conf file and make sure the file contains (double check the apache2 word)
LogFile="/var/log/apache2/access.log" SiteDomain="mysite.org" LogFormat=1
Permissions
- Change a permission on apache log file
chmod o+r /var/log/apache2/access.log
Make it a default that access.log has these permissions, editing the /etc/logrotate.d/apache2 and make sure it has these lines
create 644 root adm
- And
prerotate
/usr/lib/cgi-bin/awstats.pl -config=awstats.www.mysite.org.conf -update
endscript- Final file should look similar to :
/var/log/apache2/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 644 root adm
sharedscripts
prerotate
/usr/lib/cgi-bin/awstats.pl -config=awstats.conf -update endscript
postrotate
if [ -f /var/run/apache2.pid ]; then
/etc/init.d/apache2 restart > /dev/null
fi
endscript
}- Reload apache
/etc/init.d/apache2 reload
- And visit:
http://localhost/cgi-bin/awstats.pl?config=awstat.conf or http://www.mysite.com/cgi-bin/awstats.pl?config=awstat.conf [Optional]
To make it easier to remember the address you can edit /etc/apache2/conf.d/awstats and add this line.
RedirectMatch ^/logs /cgi-bin/awstats.pl?config=awstat.conf
- Now you can access the awstats statistics by going to
- Done.
unixODBC
apt preferences
As of October 1st apt will install recomended packages as well.
- If you would like to view packages from other distrubutions, (testing, unstable)
- Create a file
vi /etc/apt/preferances
- And inside put these lines. Change the Pin-Priority to reflect your default install.
- If you are using testing Debian make sure testing is the bigger number.
- This file will install only from the highest pin but it will show you if the packages is available in testing or unstable
Package: * Pin: release a=stable Pin-Priority: 600 Package: * Pin: release a=testing Pin-Priority: 450 Package: * Pin: release a=unstable Pin-Priority: 400
Now add testing and unstable to /etc/apt/source.list by coping and paste deb and deb-src lines and change stabel to testing, and then again stable to unstable.
- Update list
aptitude update
Debian User Configuration
Change default editor
- Install your editor
- Example:
aptitude update aptitude install vim
- Run configuration change
update-alternatives --config editor
- From a list pick your editor. And you are done.
Flash player
- Flash player for Debian Linux
- Add nonfree to your repository.
aptitude update aptitude install flashplugin-nonfree
- Restart Firefox/iceweasel
If for some reason the flash player doesn't work you can always use manual setup.
Download flashplayer.tar.gz file from http://www.adobe.com/products/flashplayer/
- Extract it.
- And move one of the files over to:
cp /home/lucas/Desktop/libflashplayer.so /usr/lib/mozilla/plugins/ cd /usr/lib/iceweasel/plugins/ ln -s /usr/lib/mozilla/plugins/libflashplayer.so
- Restart Firefox/iceweasel
Java Runtime Enviroment (JRE)
You will need to add 'non-free' to your /etc/apt/source.list then do:
aptitude update aptitude install sun-java5-jre aptitude install sun-java5-plugin
- If you want you can take away 'non-free' when done, and do aptitude update
Debian Printing
Remote Connection
- You can connect to Microsoft Windows Remote Connection via rdesktop
- Install rdesktop
aptitude update aptitude install rdesktop
- Then you can start rdesktop or from a command line
rdesktop ip.add.re.ss or rdesktop remoteconnection.example.com
Laptop and Debian
Intel ipw2200 wireless card
- Due to FCC or other frequency radiation levels restrictions, we need to download firmware from: (click agree on the bottom)
http://ipw2200.sourceforge.net/firmware.php?fid=7
- Untar it
tar xzvf ipw2200-fw-3.0.tgz -C /lib/firmware mv /lib/firmware/ipw2200-fw-3.0/* /lib/firmware
- Drivers come with kernel so let's install modules for ipw2200
- Find out what is the kernel version you have.
uname -a
- Replace 2.6.18-5-486 with the version you have.
aptitude update aptitude install ipw2200-modules-2.6.18-5-486 or aptitude install ipw2200-modules-$(uname -r)
- Then this will tell you a list of wireless devices:
iwconfig
- Done. In my case wireless card was attached to eth2
Authenticate with wpa using PSK TKIP
* Install wpasupplicant
aptitude update aptitude install wpasupplicant
* Open /etc/network/interfaces
vi /etc/network/interfaces
*If you see "iface eth2..." add the following lines, but change ssid and password:
iface eth2 inet dhcp wpa-ssid thisismynetworkname wpa-key_mgmt WPA-PSK wpa-proto WPA wpa-pairwise TKIP wpa-group TKIP wpa-psk thisismypassword wpa-dribver wext
*Exit, and now type:
ifup eth2
*Done. If you want you your wireless card to connect each time you boot your computer add this above "iface eth2.."
auto eth2
*Done.
Broadcom 1390 Wireless Card
Intel Graphic card - Higher reolution
- install 915resolution
aptitude install 915resolution
- See what resolutions are available
915resolution -l
If the resolution you desire is not listed you will need to dpkg-reconfigure xserver-xorg and add new resolutions.
- For example (using mode 5c (1920x1440):
sudo 915resolution 5c 1280 800 24
User Manuals
DVD9 to DVD5
DVD9 to AVI
AVI to FLV
Basic Unix Commands
rsync
MySQL
Troubleshooting
SSH terminal connection timeout
- If you get an error:
Read from remote host example.com: Connection reset by peer Connection to example.com closed
- Edit /etc/ssh/sshd_config and add:
ClientAliveInterval 150
Dynamic MMap ran out of room
- If you see an error like:
Reading package lists... Error! E: Dynamic MMap ran out of room E: Error occurred while processing vlc (NewVersion1)
apt-get update -o APT::Cache-Limit=25165824
Seagate Free agent invalid mount option
If you get the following error:
invalid mount option when attempting to mount free agent seagate
Solution:
aptitude install ntfs-3g
Python
Python and VIM
aptitude update aptitude install vim-python
Tab and 4 spaces
Add this to system vimrc. /etc/vim/vimrc
set tabstop=4 set shiftwidth=4 set expandtab set smarttab
- In order to convert a file from a tab structure to a 4 space structure we can use this vim code. Type:
1,$retab!
- When you paste and you get extra tab you can type this to disable tab auto indent:
set paste
- When done do:
set nopaste
Syntax coloring
- For specific exiting I use these two usefull commands.
- You can place them in /etc/vim/vimrc or ~/.vimrc
filetype on syntax on
- The first one makes vim recognize the filetype, and the second one gives you coloring of the text.
- Because the filetype is recognized you can use CTRL-n to do auto completion in vim.
Autocomplete
- If you would like to have an autocompletion of modules you import here is what you need to do:
- Download the pydiction:
- As root:
tar -xzvf /home/lucas/Desktop/pydiction-0.5.tar.gz -C /usr/local/bin/ chown -R root:root /usr/local/bin/pydiction-0.5 chmod 755 -R /usr/local/bin/pydiction-0.5
- Now Edit the vimrc of the system /etc/vim/vimrc and add these lines
if has("autocmd")
autocmd FileType python set complete+=k/usr/local/bin/pydiction-0.5/pydiction isk+=.,(
endif " has("autocmd")- Done
- Open some python file and on a new line type:
import xml. press CRTL+n and you should see the available modlules
- To add some of your modules type
python /usr/local/bin/pydiction-0.5/pydiction.py csv
If for some reason your are not able to do it. Open pydiction.py file and on a first line type import csv or your modulename and run the command again.
- Here is a screen shot:
Python Manual
Data Mining
Using rpy
Csv to Sql
Create and add elements in XML
from xml.dom.minidom import parseString
- creating new document, and root element at the same time.
doc = parseString(u'<top/>'.encode('UTF-8'))- print doc.toprettyxml() will show you how it looks
- this would create:
<?xml version="1.0" ?> <top/>
Now we reference to our <top/> element by:
top_element=doc.documentElement
- We create another element by:
element1=doc.createElementNS(None,u'section1')
- Add it under our top element by:
top_element.appendChild(element1)
- Create another element and add it under element1
element1.appendChild(doc.createElementNS(None,u'subsection1'))
- How to create a text node:
text1=doc.createTextNode(u'My first text')
- Since we have no reference to subsection1. We start at reference to element1
element1.firstChild.appendChild(text1)
- add second subelement:
element1.appendChild(doc.createElementNS(None,u'subsection2'))
- create next text element, and add it to subsection2
text2=doc.createTextNode(u'My second text') element1.lastChild.appendChild(text2)
- We are working with references. To switch text in subsections, you could do:
element1.firstChild.appendChild(text2) element1.lastChild.appendChild(text1)
PerlPython Phrasebook
Python Manual
Python Manual. Quick referance guide.
Python and OpenOffice
- How to use python to manipulate open office documents. Use python tamplates to fill in openoffice docs. Replacement for form building such as custom vb script,foxpro forms, etc.
OpenOffice: Replace blank cell with
- Next to your column insert an empty column
In the first row enter this formula and replace the A1 with the column name you want to analyze.
- This formula will fill in the value if its blank. Drag it down to the last column
=IF(ISBLANK(A1);0;A1)
- When done copy the new values.
Go to the original column and do paste special, deselect all except for "number or a string" depending which one you use.
- Done.
PyWeb
Modwsgidelopy
Deploy Turbogears2 and Pylons app via modwsgi modwsgideploy
Building Software For Industry
TurboGears
Automotive
Bazaar
Bazaar revision control system and launchpad hosting
ReportLab
Electronic Data Interchange
Paperless
- Image management and paperless GPL systems.
Subversion
- Svn is a software that manages any type of data. It monitors its changes, lets you update them, and if something went wrong you can go back to previous version with no problems.
Install svn
- Let's install it on Debian:
apt-cache search svn aptitude install subversion
- Subversion is installed!
Create svn Project
The story goes like this: I have a project I am working on. It is located at
/home/lucas/my_best_project
- This folder includes
/home/lucas/my_best_project/trunk/install.c /home/lucas/my_best_project/trunk/readme.txt
- I keep my working files in trunk. I want it in subversion now!
- We need to tell subversion where it can store its repositories:
- It will be in
/usr/local/src/
- Now create repository directory:
svnadmin create /usr/local/src/my_best_project
Import svn project
- Now I am going to import my_best_project to svn
svn import /home/lucas/my_best_project file:///usr/local/src/my_best_project -m "initial import"
Folder /home/lucas/my_best_project is not important anymore. SVN is not concerned what you are going to do with it.
Checkout svn project
Now we need to start working with subversion and we do that by creating a folder where we can work on my best project with subversion. It will be in /home/lucas/new_folder/ We need to go to that folder. And from that folder we issue command:
svn checkout file:///usr/local/src/my_best_project
- Now it created
/home/lucas/new_folder/my_best_project
- This folder contains files i kept in a trunk. I can now work on it and let svn take care the version tracking.
Checkout svn project via ssh
*[Optional], you could use subversion over ssh. You need to install subversion on your computer and then:
svn co svn+ssh://your.remote-server.com/usr/local/src/my_best_project or svn co svn+ssh://username@your.remote-server.com/usr/local/src/my_best_project
- Done. Now its time to make that tool great.
Svn ignore files in repository
- [Optional] You can igore files like pyc when working in subversion by using:
svn propset svn:ignore "*.pyc" myfolder/ svn propset svn:ignore "*.log" myfolder/
svn transfer- dump, load
- Dump
svnadmin dump /path/to/repos > repos-dumpfile
- Load
svnadmin create calc; svnadmin load calc < calc-dumpfile
svn relocate
svn switch --relocate https://svn.sourceforge.net/svnroot/PROJECTNAME/trunk https://PROJECTNAME.svn.sourceforge.net/svnroot/PROJECTNAME/trunk
svn terminology
SVN Terminology
The following is a list of common terms used throughout the SourceForge.net SVN documentation:
- SVN client: Software run by a SVN user to access the SVN server.
SVN repository: The SVN server stores a copy of the software and data that the project has uploaded. The server retains both the most recent version and every historical version (past changes). This copy of the software and data uploaded by the project is a SVN repository. Each project hosted on SourceForge.net has its own SVN repository.
Project UNIX name: The unique name the project founder selected when registering a project for hosting on SourceForge.net. This value can be located on the project summary page (e.g. https://www.sf.net/projects/PROJECTNAME/) to the right of the phrase, "Project UNIX name:".
- Working copy: Though the SVN repository stores every version of every file that has been uploaded to the repository, when you retrieve data from the SVN repository using your SVN client, only one version of each file is saved to your hard drive. The copy of the data you get from the SVN server is called a "working copy", obtained using the "checkout" command.
- Module: Unlike CVS, SVN has no concept of a module.
- Trunk: Development with SVN progresses similar to that of a tree. The main development occurs against the trunk. Conceptually, it is identical to that of the trunk in CVS.
- Branch: A split of development off of the trunk or another branch. This allows for development to diverge either permanently or temporarily for a variety of possible reasons.
GUI
Clarion
- You can run clarion(windows only commercial app) to automatically create edit, view and select from from the database/data dictionary.
Dabo Application Framework
- Dabo is an opensource gui framework. This framework would be chosen if you are comming from a Foxpro or Foxpro visual world.
DaboDesktopApplicationFramework
XUL Runner
Regular Expression
Documentation
Useful Debian Programs
Photo and Image
* Digikam, for all your digital camera needs
aptitude update aptitude install digikam
CD and DVD
* K3B, for burning cd/dvd.
aptitude update aptitude install k3b
Players and Viewers
Flash
For Flash support you need to add contirib to your apt source list , then
aptitude update aptitude install flashplugin-nonfree
Circuit Designers
Oregano, XCircuit, KTechLab, and Qucs
Games
Projects
Domain name with dynamic ip
Debian Documentation
Network cable RJ45
http://lucasmanual.com/pdf/network_cable_rj45.pdf
UICrawler
DataMiner
Free Databases and protocols
isbn database
Where can I get an ISBN database?
If you need an ISBN database, you have the choice of buying one or collecting free data. Because most book data is available for free, there's not a big market for ISBN databases. Nonetheless you can subscribe to books-in-print data services from Library of Congress (recommended), Muse (recommended, but expensive), Baker&Taylor and Ingram. Most people asking this question are interested in free data, which unfortunately means they need to know about "MARC records" and "Z39.50". MARC records are how libraries add book data to their catalogs, and Z39.50 is a protocol (like http) used to request and deliver MARC records. Luckily, you don't need to know much more than that. Endnote, from ISIResearchSoft is software that can connect to libraries using Z39.50 to download book data. You can also use it with MSWord to automate the production of reference lists. You should be able to get all the ISBN data that you need with EndNote. (There's also a version for Mac)