htmlhelp.org and htmlhelp.com (both owned by Web Design Group in Texas, US) are currently down for the last 4 days. What a pest!
I got addicted to start.gotapi.com as a development aid for its clear and agile interface, but it's now useless as it (apparently) feeds all tagging and CSS syntax help in real-time from htmlhelp's website.
I have also received a reply back from the sysadmin of that site and it turns out the problem is related to their service provider's data center (read more). It will hopefully be back online soon.
Monday, 30 July 2007
Linux routing (Debian)
I had to setup a debian multihomed box as a router, so here goes the receipt. In my example the internal network is 10.1.1.0 and the as its IP address is set to 10.1.1.1, you should direct your clients to use that as the gateway. eth0 is connected to the outside network.
- Add network interface in file /etc/network/interfaces:
- auto eth1
- iface eth1 inet static
- address 10.1.1.1
- netmask 255.255.255.0
- broadcast 10.0.0.255
- echo 1 > /proc/sys/net/ipv4/ip_forward
- route add -net 10.1.1.0 netmask 255.255.255.0 dev eth1
- iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
- iptables --append FORWARD --in-interface eth1 -j ACCEPT
Wednesday, 25 July 2007
Thursday, 19 July 2007
Postgres Text Searches
Sounds easy, but what is the best design to implement a keyword search function on a very big database table's column?
Postgres' pattern matching functions look very powerful, but I am concerned about performance issues here, and it turns out I'm not the only one facing this problem, of course.
Duck suggests using a second index table (id, keyword) with a row for each useful keyword that links back to the main table, and momjian came across an implementation using triggers, although that was 7 years ago now.
Another solution is called TSearch2. This implementation seems to be heavily based on Duck's suggestions and it's bundled into Postgres' official distribution as of version 7.4. It has to be manually installed from sources (from contrib/tsearch2 make && make install, then dump tsearch2.sql into your database). There's a good review on tsearch2 here.
On Debian:
Read this if you intend on using TSearch2 on Postgres up to 7.4.8, as the original version comes with a highly dangerous security flaw that needs to be manually patched.
Postgres' pattern matching functions look very powerful, but I am concerned about performance issues here, and it turns out I'm not the only one facing this problem, of course.
Duck suggests using a second index table (id, keyword) with a row for each useful keyword that links back to the main table, and momjian came across an implementation using triggers, although that was 7 years ago now.
Another solution is called TSearch2. This implementation seems to be heavily based on Duck's suggestions and it's bundled into Postgres' official distribution as of version 7.4. It has to be manually installed from sources (from contrib/tsearch2 make && make install, then dump tsearch2.sql into your database). There's a good review on tsearch2 here.
On Debian:
- apt-get install postgresql-contrib-7.4
- psql mydb < /usr/share/postgres/7.4/contrib/tsearch2.sql (as postgres)
- 4 new tables should be created. Set proper permissions on them
- try: SELECT set_curcfg('default') ;
- then, try: SELECT to_tsvector('I live in Sydney, Australia.')
Read this if you intend on using TSearch2 on Postgres up to 7.4.8, as the original version comes with a highly dangerous security flaw that needs to be manually patched.
International Web
While working on web development, I got stuck for a few hours trying to uncover the magic behind Internationalization, and how I am supposed to deal with it from the client (the web browser) down to the database backend engine, through the code that handles the application logic.
Some basic definitions worth having clear:
Some basic definitions worth having clear:
- Unicode is not an encoding. It is a system to represent any character in any writing system in use today: go here and ask your browser what encoding this page is using.
- Localized web applications might use any of the many character encoding systems: for instance, this Spanish website uses ISO8859-1.
- UTF-8 is a Unicode encoding system and is the preferred way of sending data back and forth from web browsers for its widespread use.
- In your application, decode the data to Unicode as soon as it gets to your hands, and work with it all throughout your application processing (including Database backends).
- Once your output data is ready, encode it into UTF-8 and send it back to the web browser client as such.
Wednesday, 18 July 2007
More Python Pylons
More pylons key information sources:
- a very useful cookbook
- first pylons book (to be released online by end of July 2007)
- Dave Kuhlman's quick site tutorial
Programmer's Editor
Looking at a pylons screencast I discovered ActiveStates' Komodo, a very advanced programmer's editor. It's free software and available on multiple platforms.
IELTS
the International English Language Testing System is a worldwide certificate of proof that you are proficient in the English language. It has branches all over the world.
Attending the test takes one day for the reading, writing and listening parts, and an extra day for the speaking part, which takes only about 11 to 15 minutes. Fee in Australia is $300.
There are sample tests available.
Attending the test takes one day for the reading, writing and listening parts, and an extra day for the speaking part, which takes only about 11 to 15 minutes. Fee in Australia is $300.
There are sample tests available.
Australian Migration Agent
An Australian Migration Agent is a person or institution who helps, informs and supports individuals who need a Visa on visiting Australia. Mara is the official authority for registering and keeping a centralized record for Individual (not company-based) Agents.
Searching through their register, reveals the following figures:
55 agents in all United Kingdom
13 agents in London
No agents in Madrid or Barcelona
1 agent in Hong Kong
10 agents in Singapore
Searching through their register, reveals the following figures:
55 agents in all United Kingdom
13 agents in London
No agents in Madrid or Barcelona
1 agent in Hong Kong
10 agents in Singapore
Tuesday, 17 July 2007
Patates estofades
Comensals
Posar una cassola al foc amb oli i afegir-hi la ceba tallada fina.
Quan la ceba comenci a enrossir afegir l'all picat i, tot seguit, els tomaquets sense pell i tallats a trossos.
Deixar sofregir una mica el tomaquet i afegir una cullerada de pebre vermell remenant be i ràpid perquè no es cremi i enretirar la cassola del foc. Afegir les patates pelades i tallades a rodanxes o escantellades, tornar la cassola al foc i remenar les patates fins que agafin color. Cobrir amb el brou de verdures, afegir sal i pebre i deixar coure fins que les patates siguin toves.
Mentre acaba la coció, en un morter, preparar una picada amb les avellanes, les ametlles, el julivert i una mica del suc de cocció.
Afegir la picada al guisat i servir.
Comentari del cuiner
Escantellar les patates vol dir tallar-les a trossos irregulars i mig trencats, és a dir, que el ganivet no acabi de tallar el tros sinò que, a mig tall, s'estira de costat i es trenca.
Tallant-les així s'aconsegueix millor unió de sabors del sofregit i la patata i millor textura de la salsa.
- 4 persones
- 1 hora
- 1 quilo de patates
- 50 grs.d'avellanes i ametlles torrades
- 1 ceba gran
- 2 grans d'all
- 2 tomaquets mitjans
- oli
- sal
- julivert
- pebre vermell dolç
- Brou de verdures o aigua
Posar una cassola al foc amb oli i afegir-hi la ceba tallada fina.
Quan la ceba comenci a enrossir afegir l'all picat i, tot seguit, els tomaquets sense pell i tallats a trossos.
Deixar sofregir una mica el tomaquet i afegir una cullerada de pebre vermell remenant be i ràpid perquè no es cremi i enretirar la cassola del foc. Afegir les patates pelades i tallades a rodanxes o escantellades, tornar la cassola al foc i remenar les patates fins que agafin color. Cobrir amb el brou de verdures, afegir sal i pebre i deixar coure fins que les patates siguin toves.
Mentre acaba la coció, en un morter, preparar una picada amb les avellanes, les ametlles, el julivert i una mica del suc de cocció.
Afegir la picada al guisat i servir.
Comentari del cuiner
Escantellar les patates vol dir tallar-les a trossos irregulars i mig trencats, és a dir, que el ganivet no acabi de tallar el tros sinò que, a mig tall, s'estira de costat i es trenca.
Tallant-les així s'aconsegueix millor unió de sabors del sofregit i la patata i millor textura de la salsa.
Monday, 16 July 2007
Yet another CMS system
Skeletonz seems to be a promising CMS system for its easy and compact design.
Unfortunately there is no postgres support, but since it relies on amidb, and amidb has postgres support, it should be easy to implement it (basically by providing a wrapper around cursor.py that interfaces to psycopg2).
These websites are powered by skeletonz:
The first caveat is that Internet Explorer cannot be used for managing Skeleton's content since it relies on a Firefox add-on, still have to research a workaround on this.
Unfortunately there is no postgres support, but since it relies on amidb, and amidb has postgres support, it should be easy to implement it (basically by providing a wrapper around cursor.py that interfaces to psycopg2).
These websites are powered by skeletonz:
The first caveat is that Internet Explorer cannot be used for managing Skeleton's content since it relies on a Firefox add-on, still have to research a workaround on this.
Saturday, 14 July 2007
Goobdye table tags!
After realizing that html table tags are a thing from the past in terms of layout design, I searched for some good, very basic design tutorial using CSS style sheets.
Carmen Mardiros has an excellent step-by-step friendly website that shows you how to use CSS to design your website layout.
Maxdesign has a very good set of tutorials for designing layouts using different CSS techniques.
You will sooner or later bump into IE nastiness, as many of the W3C standards are not respected. One of a such is the div section box expansion problem.
A brief list of sites which offer CSS layouts and tutorials:
Carmen Mardiros has an excellent step-by-step friendly website that shows you how to use CSS to design your website layout.
Maxdesign has a very good set of tutorials for designing layouts using different CSS techniques.
You will sooner or later bump into IE nastiness, as many of the W3C standards are not respected. One of a such is the div section box expansion problem.
A brief list of sites which offer CSS layouts and tutorials:
Firefox Add-ons
I recently came across a Firefox add-on for developers, it's a a toolbar that sits on your browser's menu which helps you unassemble a website into forms, fields, areas, etc. A must have if you are developing websites!
Friday, 13 July 2007
Surfing with anonymity
Tor and JanusVM
The Tor project is devoted to provide a free censorship-less data channel in the Internet. It is composed of a growing number of transit servers. When a user wishes to initiate an anonymous connection to a server, the Tor network creates a connection highway from the client to the server using a randomly, dynamically changed group of servers that setup the connection channel.
This allows the client to surf the Internet with anonymity: The server logs will never have your actual IP on their log files, and your ISP will never know your final destination. Each connected channel is re-established every few minutes using a different route. Tor does not provide for anonymity if you login or provide personal identification to the target system, of course.
You can picture it clearly in this diagram. Using the network as a client is free. If you want to extend the network you can also offer some of your bandwidth to the network and be part of the server farm.
JanusVM is a virtual machine based on VMWare which eases the setup and installation of the software. It is also freely available through the use of VMWare's free Server Edition product.
The Tor project is devoted to provide a free censorship-less data channel in the Internet. It is composed of a growing number of transit servers. When a user wishes to initiate an anonymous connection to a server, the Tor network creates a connection highway from the client to the server using a randomly, dynamically changed group of servers that setup the connection channel.
This allows the client to surf the Internet with anonymity: The server logs will never have your actual IP on their log files, and your ISP will never know your final destination. Each connected channel is re-established every few minutes using a different route. Tor does not provide for anonymity if you login or provide personal identification to the target system, of course.
You can picture it clearly in this diagram. Using the network as a client is free. If you want to extend the network you can also offer some of your bandwidth to the network and be part of the server farm.
JanusVM is a virtual machine based on VMWare which eases the setup and installation of the software. It is also freely available through the use of VMWare's free Server Edition product.
Wednesday, 11 July 2007
Spanish Lessons
The Instituto Cervantes is seeing Brasil as the new focus for Spanish schools. Spanish is the second national language in Brasil.
Instituto Cervantes has recently opened a branch in Sydney - Australia.
The Instituto Cervantes is seeing Brasil as the new focus for Spanish schools. Spanish is the second national language in Brasil.
Instituto Cervantes has recently opened a branch in Sydney - Australia.
Tuesday, 10 July 2007
CMS Systems
Drupal, Joomla
I have been playing a bit with Drupal on my test server. I decided to go with Postgres instead of mysql, and overall it has been quite easy to setup:
A bunch of Drupal themes are available:
Drupal, Joomla
I have been playing a bit with Drupal on my test server. I decided to go with Postgres instead of mysql, and overall it has been quite easy to setup:
- Downloaded Drupal 5.1
- Installed php4, postgres, php4-postgres
- Created postgres user and database, customized drupal's correct dburi.
- Configured a virtual host on apache and hit the main page
A bunch of Drupal themes are available:
- Drupal's homesite themes
- Siteground themes
- Theme garden
Sunday, 8 July 2007
Webs, Wikis, and Shared collaboration
I am looking for a wiki engine flexible enough to build a very customized website while allowing the owner to modify the contents easily. I want it to be python based and of course as independent as possible from libraries and third-party engines. I will have linux underneath with apache.
A first list reveals lots of options. MoinMoin seems to be the mostly spread option.
This website is being served by MoinMoin, and the author explains how handy it becomes to customize it to your needs.
Now, to start hands-on with customizing MoinMoin to drive a regular websites, you want to look at the following things:
I am looking for a wiki engine flexible enough to build a very customized website while allowing the owner to modify the contents easily. I want it to be python based and of course as independent as possible from libraries and third-party engines. I will have linux underneath with apache.
A first list reveals lots of options. MoinMoin seems to be the mostly spread option.
This website is being served by MoinMoin, and the author explains how handy it becomes to customize it to your needs.
Now, to start hands-on with customizing MoinMoin to drive a regular websites, you want to look at the following things:
- learn themes to customize your look
- setup a wiki farm (some examples) if you are running a virtual web server
- administer user accounts, authentication and access control
Friday, 6 July 2007
Unwired
One of the wireless internet connection option in australia is called Unwired. A modem (known as wabbit in the jerk community) operates on the 3.5GHz spectrum.
There's a good forum related to this an other internet providers throughout australia, here.
It is possible to improve reception on Unwired modems by using an external antenna
One of the wireless internet connection option in australia is called Unwired. A modem (known as wabbit in the jerk community) operates on the 3.5GHz spectrum.
There's a good forum related to this an other internet providers throughout australia, here.
It is possible to improve reception on Unwired modems by using an external antenna
Thursday, 5 July 2007
Australia tax statements
Resources:
Resources:
- You can do it online (download e-tax software, windows only): http://ato.gov.au/
- The medicare tax statement: http://www.medicareaustralia
.gov.au/yourhealth/our_services /medicare/mc_tax_statement /index.htm - Deductions checklist: http://ato.gov.au/individuals/pathway.asp?pc=001/002/013&mfp=001&mnu=45#001_002_013
Tuesday, 3 July 2007
Looking for home made antennas to a usb wifi adapter I have found this cool website from a group of kiwis. Don't forget to track your reception with NetStumbler
USB cable extensions come in passive and active forms. Passive cables should not exceed 16ft (4.8 meters). Active cables come with a repeater and some with a builtin buffer.
USB cable extensions come in passive and active forms. Passive cables should not exceed 16ft (4.8 meters). Active cables come with a repeater and some with a builtin buffer.
Subscribe to:
Posts (Atom)