Posts with the category Websites
Today I'm launching my own "What's My IP" service. By accessing the address http://whatsmyip.reliable-ict.de you will get a text-only response containing only your (external) IP. This can be very useful to check if your internet connection works at all, to check IPv4/IPv6 connectivity, or to update your dynamic DNS...
My Raspberry Pi running Arch Linux ARM hosted by PCExtreme in the Netherlands wasn't reachable anymore after a forced reboot from their side. Most probably I didn't adapt the configuration of the static IP to newer releases of the network configuration system when I installed upgrades on the RPi. The forced...
# Install memcached on Arch Linux ARM: pacman -S memcached # Start the memcached daemon manually: memcached -d -m 128 -l 127.0.0.1 -p 11211 -u nobody # Check the systemd startup file /usr/lib/systemd/system/memcached.service # Set up memcached to start automatically at system startup systemctl enable memcached.service # See http://www.pontikis.net/blog/install-memcached-php-archlinux for more info # Install the memcache...
The Raspberry Pi colocation costs 36 EUR incl. VAT per year, see here. If you spend this amount of money for energy only, it's:
Yearly Energy = 36 EUR/year / 0.27 kWh/EUR * 1000 Wh/kWh = 133 333 Wh / year # to enter it more quickly in your calculator: 36...
wsgi-request-logger - Logging HTTP Requests With Any WSGI Web Application like Flask, Bottle or Django
I like WSGI (micro-)frameworks like Bottle, Flask or Django and used them for a couple of web applications so far. One thing that I wasn't able to do properly was request logging. It either wasn't in a format I liked, was dependend on the server implementation of WSGI...
The reasons to do so, are as follows:
- A bottle plugin is not being called when a non-existent route (404) being hit.
- A bottle plugin has problems with 500 server errors. It...
Please refer to my newer and more complete blog post on this topic: Deploy Your Own Bind9 based DDNS Server.
dyndns.org has stopped serving DynDNS for free to the great public. If have a (virtual) server, you can simply host your own dynamic DNS service. The most common DNS server...
Find out more about IP addresses (IPv4 and IPv6) using the Python module IPy:
#!/usr/bin/env python from IPy import IP ip_s = raw_input('Please enter an IP address or range: ') try: i =...
I set up an online converter that you can use to convert your Wikidot syntax files to Markdown.
The converter itself...
I found an interesting plugin called IntranetSubNetwork on the Piwik trac ticket #1054. I was thinking that this would be perfect to adopt it to my needs to determine between IPv4 and IPv6 users on my site. Those needs were already specified in a feature suggestion for Piwik.
I needed an easy way to switch power outlets on and off remotely. So I bought a Koukaam NETIO230A and wrote a Python module to communicate with it via TCP. Now I added a Bottle based web app written in Python that uses that class to...
If you want to use 10 Gigabit Ethernet at home you have to make a choice what technology you want to use. There are about eleven different standards for 10 Gigabit Ethernet, 6 using fiber optics and about 5 for copper connections.
Products are still relatively costly though. A cheaper alternative...
brew install aqbanking # ↑ At the time of writing (2011-12-28) this will get you AqBanking v5.0.16
Now set up your ING-DiBa online banking account (needs activated HBCI interface):
ktoblzcheck 50010517 5400040302 aqhbci-tool4 --help aqhbci-tool4...
This is an iMacros script to extract transaction details on the online banking website of the German branch of the bank ING-DiBa. As this is mostly interesting to Germans, the following blog post is in German. If you want to read it in English, consider translating it using Google...
ENUM can be used to find out if you can call someone via VoIP instead of a regular call when all you have is the phone number. It works by sending a DNS like query for the phone number.
Possible ENUM servers are:
- e164.arpa official!
+43 780 004711 on e164.arpa run:
Yesterday, I had to prepare for an exam at the University but instead of learning for it I wrote a small tool to browse the unicode characters. You can have a look at it on http://pklaus.github.com/js-Unicode-Selector. It's fun...
I had a nasty problem with Piwik today. I use it on a low traffic website until today (updated to 1.5) I did not mind that the sparklines were not displayed. But today I wanted to fix the problem and at first I didn't come to the conclusion that <a...
The German VoIP provider Sipgate has a great offer for people who want to replace their landline with a modern internet based SIP telephony account. Sipgate offers an XML-RPC API to all its customers (you must at least have created a free 'basic' account). With the API, you...
- In general: https://docs.djangoproject.com/en/dev/howto/deployment/
- Using an Apache webserver: mod_wsgi is the preferred method nowadays (instead of mod_python):
- Using Cherokee: http://www.cherokee-project.com/doc/cookbook_django.html
Please refer to https://docs.djangoproject.com/en/dev/topics/i18n/ for up to date information.
There are three steps on the way to Django i18n:
- For application authors wishing to make sure their Django apps can be used in different locales: Internationalization.
- For translators wanting to translate Django apps: Localization.
- For system administrators/final users...
- Documentation on the tags: https://docs.djangoproject.com/en/dev/ref/templates/builtins/
- Setup in standalone-mode (without Django): https://docs.djangoproject.com/en/dev/ref/templates/api/#configuring-the-template-system-in-standalone-mode
Using the template system, a two-step process:
- First, you compile the raw template code into a Template object.
- Then, you call the
render()method of the Template object with a given context.
Example for use in standalone-mode:
The website of the Django web framework can be found on https://www.djangoproject.com/.
The current version of Django (2011-06-13: v1.3) can be installed on Ubuntu/Debian using
sudo apt-get install python-setuptools sudo easy_install django
install-dir on Ubuntu 11.04 will be
/usr/local/lib/python2.7/dist-packages. More on the install-dir can be read in a blog...
Today I wanted to try out the DNS Service by Hurricane Electric (including a free IPv6 DynDNS service): https://dns.he.net. I have a spare domain and tried to update my domain information to the new nameservers (from the set
ns1.he.net, ns2.he.net, ns3.he.net, ns4.he.net, ns5.he.net) at Denic, the German TLD...
Install tweepy via PyPI:
Example usage with identi.ca:
import tweepy username, password = "identi.ca_username", "identi.ca_password" auth = tweepy.BasicAuthHandler(username, password) api = tweepy.API(auth, <span...
The WordPress plugin pygments-markdown-highlighter makes the Pygments highlighter available to highlight your code blocks when writing posts in Markdown syntax.
To use it, you need to install Pygments on your web server and install the plugin itself. And you should also have PHP Markdown installed in your blog (and they...
Alternatives to Confixx, Plesk etc.
- Internet Multi Server Control Panel (i-MSCP)
- ISPConfig 3
Support seems to be a bit outdated:
- Debian 4.0 and 3.1
- Ubuntu 8.04
More general server administration
Always quite up to date.
The Domain Hoster InterNetworX (abbr. inwx) offers an XML-RPC interface to access its services. You can even register new domains. Documentation of the XML-RPC API is available for download at https://www.inwx.de/de/download/file/api-current.zip (including examples in PHP & Java plus a PDF describing the API).
There is an operational test environment (ote) to...
As I'm not a lawyer, I can't tell you if the following pieces of advice are really needed, just enough or not necessary. I will further investigate the topic and you will be able to read about my findings here.
Deactivate Apache logging
Set the following Apache2 directives in your apache config...
Today the spider of the Archive was accessing my site. It looks like this in the server logs:
220.127.116.11 - - [28/Apr/2011:07:12:07 +0200] "GET /robots.txt HTTP/1.1" 200 864 "-" "ia_archiver(OS-Wayback)" 18.104.22.168 - - [28/Apr/2011:07:12:07 +0200] "GET / HTTP/1.1" 200 86476 "-" "ia_archiver(OS-Wayback)"
So the referer is
- and the user...
When I programatically added most of the blog posts in this blog, I forgot to adjust the date and time of each post to its actual age. So I decided to set it via SQL directly in the database.
First I worked out a
SELECT query to filter all the entries...
Filter the authentication log file for failed authentications and count the attempts (lines in the log file):
grep -i fail /var/log/auth.log | wc -l
Check for all attacks with non existing usernames:
grep -i "Failed password for invalid user" /var/log/auth.log | cut -d " "...