Comparing an IBM Model M Keyboard with an HP C1405A

ibm model m keyboard

IBM Model M Keyboard from 1985

hp keyboard

HP Keyboard from somewhere in the 90ies

Today I want to  compare my both favorite keyboards, an IMB Model M from 1985 and an Hewlet Packard keyboard C1405A from the 90ies. Both keyboards have a good  typing sound, a good feedback, both are very heavy wighted,  but I don't want to lose too many words, see yourself, which is the better one. Next I give you two text examples, on typed on the IBM Model M and the other on the HP C1405A.  I have marked them both in different colors, so you can better distinguish them.

This is typed on the IBM Model M keyboard:

The quick brown fox jumps over the lazy dog.

And this is typed on the HP C1405A keyboard:

The quick brown fox jumps over the lazy dog.

Do you see the difference?

Want to SSH or Telnet into a Cisco Wireless AP with Default Username and Password?

You probably know, that you can't enable ssh or telnet on a Cisco AP, until you have set a custom password, different from the default credentials ( username = Cisco, password = Cisco).

The Cisco WLC prevents you from that indeed bad practice.

But finally, with AC-Tube, the Open Source CAPWAP AC, you are free to do even this! Because AC-Tube is still in an early development stage, there is no fool proof web interface, where you simply check a box to enable SSH or telent. But if you open an sqlite3 shell and modify the wtpprops table while you have actube running with a  joined AP you get it to work.

Isn't it nice? Isn't it?

Problems with FTP when Installing FreeBSD

If you have problems installing FreeBSD using FTP, because you are behind a NAT that doesn't handle FTP properly, simply chose HTTP.

In the "Mirror Selection" dialog select the "Main Site", and then chose "Other":

InstallFreeBSD1

And now simply replace ftp with http:

InstallFreeBSD2

The installation should work now.

 

Integer Factorization Using Backtracking

Here is an algorithm, written in Python, to factorize integers, using backtracking. The time consumption should be around  \mathcal O 2 ^ {\frac n 2} .
So it's not the fastest one, but it's nice.
To use it, save the code to a file. If you call the file, for example, "factorize.py", then run

python factorize.py <integer to factorize>

Have fun!

 
import sys
def getbit(i,n):
        return (i>>n)&1

def setbit(i,n,val=1):
        if val==1:
                return i | (1<<n)
        return i & (~(1<<n))

def bitcmp(i1,i2,n):
        for i in range (0,n):
                b2 = getbit(i2,i)
                b1 = getbit(i1,i)
                if b1!=b2:
                        return b1-b2
        return 0

def fac_check(i,i1,i2,bits):
        p = i1*i2
        if p>i:
                return -3
        if p==i:
                if i1==1 or i2==1:
                        return -4
                return 10
        return bitcmp(i,p,bits)

def factorize_run(i,i1,i2,n):
        for b in range (0,4):
                i1 = setbit(i1,n,getbit(b,0))
                i2 = setbit(i2,n,getbit(b,1))
                rc = fac_check(i,i1,i2,n+1)
                if rc==10:
                        return factorize(i1)+factorize(i2)
                if rc==0:
                        f = factorize_run(i,i1,i2,n+1)
                        if f!=[i]:
                                return f
        return [i]


def factorize(i):
        l = factorize_run(i,0,0,0)
        l.sort()
        return l

fpr = int(sys.argv[1])

print "Factorizing "+str(fpr)+" ..."
rc = factorize(fpr)
print rc


Don't use Hotmail.com, Live.com, Outlook.com ...

Have you ever missed an important event, because you haven't got the invitation email, but an invitation email was evidently sent to you?
If so, you are probably using an email address at hotmail.com or outlook.com or in general Microsoft's mail services, also including addresses at live.com and other  domains.

The reason for this is Microsoft's questionably spam protection. When an email arrives at their servers, the email is nearly always accepted, but then, if they think the email came from a server, which sends spam, the email is silently dropped. Neither the sender will ever get a notification, that the email didn't arrive, nor the recipient will be notified, that there was an email for her or him, respectively. The email is not even delivered to the recipients spam folder. The email is lost.
In terms of paper mail:  its the same as the sender brings the paper mail to the post office, the sender pays for a stamp, the post officer accepts the mail, postmarks the mail, and as soon as the sender turns aways from the counter, the post officer throws the mail into the trash under the desk.

So, Microsoft's mail services are not reliable. Silently dropping emails violates RFC 5321 as you can read in chapter 6.1.

If you want to be reachable by email, you must not use Hotmail or any of Microsoft's mail services. You should use Gmail or any other mail service instead, where the sender gets an appropriate error message if an email is not accepted or delivered to the recipient. In case of an error message the sender can take action to fix the problem with the mail server, that might send spam, or the sender can try to contact you over another path, like snail mail or telephone.

Extracting, Modifying and Compiling a PHP PECL Extension

If you have downloaded a PHP extension from PECL, and you want to modify it before compiling and installing, you might want to do the following.
First extract and prepare the files for compiling.

# tar xzf extension.tgz
# cd extension 
# phpize
#./configure

Now modify the files to fit your needs. And then compile and install:

# make
# make install

That's it.

Running a Cisco Virtual Wireless Controller in VirtualBox

Today I downloaded Cisco's Virtual Wireless Controller to play around with.

I wanted to run the controller in  VirtualBox, but simply importing the downloaded .OVA file didn't work straight away. After the import was done, I ended up with a virtual machine configuration, where a bootable image was missing. So I had to untar the  .OVA file by myself:

$ tar xvf AIR-CTVM-K9-8-0-110-0.ova
AS_CTVM_8_0_110_0.ovf
AS_CTVM_8_0_110_0.mf
AS_CTVM_8_0_110_0.vmdk
AS_CTVM_8_0_110_0.iso

And then set the extracted ISO image as bootable CD:

Last I changed the boot order to first boot from HD and second from CD/DVD:

vb_wireless2

Now the installation of the Wireless Controller was running as desired.