Saturday, May 10th, 2008 by Marcin Juszkiewicz
Many people think that I am programmer… But what is definition of programmer?
Wikipedia says: A programmer is someone who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software.
My last desktop program was Multiview for AmigaOS 2.04+ which ended life in 2000 year (after over 3 years of development). Then I changed platform to Debian GNU/Linux and started to mainly use software instead of writing it. Of course during studies I wrote some code in few languages (C, C++, Z80 Asm, PIC16 Asm/C/BASIC and maybe some other) but none of them was something to be used by normal people.
For few years my work title was “PHP programmer” (with some variants) but writing code for websites is different thing then for desktop computers.
Eric Sink wrote one day great post about programmers and developers. According to this I am rather developer then programmer.
My programmer part of me know how to fix code written in PHP (used this language for few years to get paid), Python (but never got proper amount of knowledge about it) and few others — one day I had to debug small application written in 8086 assembler which I saw for first time — and all I had was source code printout.
But I also many times worked with clients to get informations what they really need to be done in project and those discussions changed many aspects of first draft of specifications. Then transforming specs into design and finally into code which gives working service at the end. Providing help to few ~60 years old ladies which use CMS written by you can be hard job — especially when documentation is not yet created so no one else know each system parts.
But there are many work titles to choose from: Programmer, Developer, Engineer, Software (Engineer / Architect / Developer / Designer) so I probably will stay with Developer and will not try to explain too much what exactly I am doing for living :)
Tags: amiga debian life linux php No Comments »
Thursday, November 8th, 2007 by Marcin Juszkiewicz
USB scanners are quite popular today, many ‘all-in-one’ devices contains them. But if you use distribution where permissions are done ‘per group’ like it is in Debian you can get hit by lack of access to your scanner.
Solution is: write own udev rule. It may sounds scary but in reality it is quite simple.
- Run
udevmonitor (it needs root access so sudo udevmonitor).
- Unplug and plug scanner. You will get lot of output from udev monitor — only one line is needed:
UDEV [1194523774.343853] add /devices/pci0000:00/0000:00:13.0/usb1/1-1/usb_endpoint/usbdev1.7_ep00 (usb_endpoint)
- Now it is time to gather more information about our device. Run
udevinfo -a -p LINE_FROM_PREVIOUS_POINT and look at output. For my Epson Stylus DX4000 it shows:
[....]
looking at parent device '/devices/pci0000:00/0000:00:13.0/usb1/1-1':
[....]
SUBSYSTEMS=="usb"
[....]
ATTRS{manufacturer}=="EPSON"
ATTRS{product}=="USB MFP"
[....]
- Edit (as root) one of files in /etc/udev/rules.d/ directory (best way is creating own one — scanner.rules for example) and add there something like that (of course set “manufacturer” and “product” to value shown in previous step)
SUBSYSTEMS=="usb", ATTRS{manufacturer}=="EPSON", ATTRS{product}=="USB MFP", GROUP="scanner"
- Add youself into “scanner” group:
sudo addgroup YOURACCOUNTNAME scanner.
- Unplug and plug scanner — now it should be in proper group.
- Logout and login so system will notice that you are now also in “scanner” group.
- Launch your favourite scanning utility — I use Kooka from KDE.
As you see whole procedure can be done in few minutes without problems.
Tags: debian scanner udev Comments Off
Tuesday, August 7th, 2007 by Marcin Juszkiewicz
During GUADEC time Stelios Koroneos from Digital Opsis announced that PC Engines company donated two Alix1c boards to OpenEmbedded. As the board is interesting I wrote that if no one else will mail than I would like to play with it.
Today it picked it on post office and brought home. First reaction during unpacking: “Wow, this board is TINY!” because I had not used mini-ITX boards before. After connecting few cables (power, ethernet, vga, usb keyboard) and shorting “power switch” with screwdriver I got it booted and checked BIOS settings. Unfortunately I was unable to boot from PXE :(
I did search in drawer and took 256M CompactFlash card which I bought few years ago for “collie” and decided to install something on it. Decided that this time it will be Voyage Linux (Debian derived distribution for x86-based embedded platforms such as WRAP, ALIX and Soekris 45xx/48xx boards). Fetched their install CD (33M only) and started qemu with CF card as harddisk and that ISO. Few minutes later card was put into slot on Alix board and I got Voyage running.
Of course I could not resist and now board is upgraded to plain Debian ’sid’ and 2.6.22 kernel ;D After wedding I will replace NSLU2 with Alix board and add few functions for it:
- Samba server
- Bluetooth Access Point
- CUPS based print server
- NFS server
During that time I also plan to move it from CF card and Debian to 2.5″ harddisk and Ångström.
Tags: alix angstrom debian mini itx openembedded 2 Comments »
Wednesday, May 2nd, 2007 by Marcin Juszkiewicz
Some time ago I bought 320GB hard disk to my desktop machine (which also is my main developer box). I decided to try LVM on it and created one volume group which consists whole HDD. There is one partition on it: /home. It works good but I still had 104GB not used on older disk.
Today I finally found time to extend LVM to get use of old hdd space. Few commands later I have 400GB /home partition which use two discs and is easy to expand in future.
But desktop has easy configuration. When I bought Dell D400 I decided to remove Microsoft Windows XP from it (legal copy) and use this machine only under Linux.
Booted Debian ‘Etch’ installer via PXE/TFTP and split hdd into two parts: /boot partition and rest for crypted LVM. During start I am asked for passphrase and then rootfs is mounted, machine is booted into KDE. Swap partition is also crypted so even after suspend you can not check what was running.
So LVM is good solution if you have few hard disks in machine and does not want to think how to mount them to have them best used — simply join them into one big partition and mount (or few partitions but with easy resizing). It is also good when you want to crypt data — easy to configure and setup. The only minus is that it require initramfs if you have rootfs on LVM. But Debian makes this thing also easy to do :)
Tags: debian dell laptop linux lvm 2 Comments »
Wednesday, April 25th, 2007 by Marcin Juszkiewicz
During last week I switched my home WiFi from insecure WEP to WPA2.
Why not used WPA before? My x86 test machine was ProGear which use Orinoco PCMCIA card (no WPA support) and I also used Tosa with that crap called wlan-ng (also no WPA support). Now I have USB Ethernet card and PCMCIA->CF adapter so both can be connected via wire or with CF WiFi card (Prism2 with 1.8.4 firmware so WPA out-of-box).
But since I use Dell D400 as x86 test machine ProGear is not powered — I will probably put it on shelf to get some desk space free (there is no such thing as big enough desk — just ones that are not cluttered yet).
But how to get WPA working in Debian, Poky, Ångström, OpenZaurus or other distros? You basically need few things:
- WPA-Supplicant
- card with good driver (so no Orinoco or wlan-ng crap)
- proper configuration
- network with WPA
First I configured “maluch” (D400). Installed wpasupplicant package and discovered that it is not supported out-of-box. README propose two methods:
- Use only one network and configure network in
/etc/network/interfaces
- Roaming networks with extra scripts
I decided to follow 3rd way where you need to edit /etc/network/interfaces just to tell wpa-supplicant which config it has to use and which driver:
iface eth1 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant/config
This way wpa-supplicant is started automatically with /etc/wpa_supplicant/config file as configuration. This file also contain all networks which you want to connect. It can be edited by hand or using external tools — wpa_cli or wpa_gui (QT3/QT4). Have to check does it works ok with other networks then my home one but it should work.
Then same configuration on Zaurus C760 running Poky — Prism2 card in CompactFlash slot. Connecting to network works out-of-box now. On Nokia 770 all I need to to was entering WPA-PSK key.
The worst part was MS Windows laptop — I had to remove all networks from list of preferred ones, reboot and then enter WPA-PSK key to get it working.
Now it should be harder to connect to my network ;)
Tags: authorization debian dell free drivers nokia tosa wlan wlan-ng wpa Comments Off
Thursday, March 22nd, 2007 by Marcin Juszkiewicz
USB Networking is not my preferred way of networking but it is quite usable with palmtops or Neo1973 phone (which spend most of time connected to USB due to charging problems in GTA01Bv3). But this also has some problems due to fat that this is hotplugable:
- each plug mean usbX device re-appear
- no idea which usbX it will be this time
Today I moved my Zaurus c7×0 back to using WiFi so second problem disappeared for me (now only Neo1973 is connected over USB) but first problem was still present. I was tired to having to write sudo ifdown usb0;sudo ifup usb0 each time when I reconnected phone so after reading some man pages I updated my /etc/network/interfaces with this:
allow-hotplug usb0
iface usb0 inet static
address 192.168.0.200
netmask 255.255.255.0
network 192.168.0.0
post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -P FORWARD ACCEPT
And now when I connect phone (which has 192.168.0.202 IP) it gets connection to world automatically.
Tags: debian openmoko phone zaurus 6 Comments »