Subscribe via feed.

The Benedict Arnold of Linux

Posted by Lord Drachenblut under Uncategorized (No Respond)

Recently a former linux podcaster Bryan Lunduke made this post http://lunduke.com/?p=206. Wanted to make sure my respose that follows was seen somewhere in case he leaves it off.

“Actually, the more I thought about it, the more sense this made. If there is a Windows and Linux version that allows us the ability to directly compare download and sales numbers. Then we can take those numbers and make a much more detailed case of what sales of applications can look like on Linux.”

“I went back and forth on that myself. Eventually I decided that most companies have existing Windows software and will be porting to Linux. As such it would be handy to be able to show numbers contrasting downloads/purchases (both for raw numbers and ratios) between the two platforms. This way it would more closely mirror (though still not exactly) their situations.”

Bryan the more you talk the more it appears your just trying to backpedal and appease the people who are calling you out on what seems like a bullshit move. You talked about part of this project being to document and show the big companies that it could be done. Where is the documentation of the project? oh right your documentation so far has been that of releases nothing about the supposed underlying libraries that you have done improvements on and no proof that you will ever do anything with them. I think that as time goes forward we will see zero documentation just as we have seen thus far.

When I got into an actual friendly exchange with suggestion of things to do to help improve the ui for this project and asked a question about where you might go with part of it your response was nothing more in my eye’s than “piss off it’s proprietary” Yes it may be a proprietary project but your building it for a open platform and after getting into an exchange with someone interested in the direction of the project and make it sound like you may well take there idea’s to tell them to piss off because you don’t want to share where you might go with the project is insulting man, but we are finding out that seems to be your standard operating practice.

Cheers

Digital Picture Frame Howto

Posted by Lord Drachenblut under Howto, Linux, Project (No Respond)

The digital picture frame is becoming a prevalant technology now adays. It can be purchased in various shapes and sizes at almost all local retailers. The prices very depending on size. The concept of building your own from old laptops is one that has been around for years. There are many great sites dedicated to these projects. It is a project that captivates because everyone can bring something unique to it. Mine isn’t the most unique of them all but I have wanted to build one for years. I have finally gotten to doing it and what follows is what I did to make mine.

Step 1. Basics

First step was tracking down an old laptop to use. In my case I acquired an old Compaq Presario 1240 laptop. It’s an old pentium 1 laptop with 64 megs of ram. Not a powerful machine but perfect for the purposes of this project. Also I am using a D-link WNA-2330 wireless card to allow the digital picture frame to be available on the network.

Step 2. Operating system

Choosing the operating system. For me I’m a heavy linux user now adays. I decided to go with debian etch 4.0 r3 netinstall. It allowed me to keep the install footprint small and compact. Also I am a huge fan of apt-get/aptitude.

Step 3.  Starting the process.

Started with a base install from the netinstall disk for debian etch. Since the laptop doesn’t have a built in ethernet adapter and the wireless card i’m using isn’t nativlely suported by the kernel I am glad I keep a generic pcmcia ethernet adapter for just such issues. The only recommendation during this process is to choose the base laptop install, to install home into the seperate partiton, and finally to install grub on the mbr. For admin and user I would recommend something easy as well as the password. If your paranoid go ahead and set them up to something complicated but it’s not a high value target on your network. Also here is a copy of my /etc/apt/sources.list just in case you need an example.

deb cdrom:[Debian GNU/Linux 4.0 r3_Etch_ - Official i386 NETINST Binary-1 20080218-14:15]/ etch contrib main
#deb cdrom:[Debian GNU/Linux 4.0 r3_Etch_ - Official i386 NETINST Binary-1 20080218-14:15]/ etch contrib main
deb http://ftp.cerias.purdue.edu/pub/os/debian/ etch main
deb-src http://ftp.cerias.purdue.edu/pub/os/debian/ etch main
deb http://security.debian.org/etch/updates main contrib
deb-src http://security.debian.org/etch/updates main contrib
deb http://ftp.cerias.purdue.edu/pub/os/debian/ etch main contrib non-free
deb-src http://ftp.cerias.purdue.edu/pub/os/debian/ etch main contrib non-free

Step 4. Install

After the base install is done and you have booted into your system go ahead and log in as the root user for now. Go ahead and aptitude update/aptitude upgrade the system to get it current.

Next there are some packages we need to install to be able to start tie the rest of this all together. To get the packages needed for this project it’s a simple.

aptitude install smbfs samba ssh fbi imagemagick rungetty build-essential module-assistant wireless-tools module-assistant

Now

that those are installed it’s time to install the atheros drivers. This is a pretty easy process to deal with. To install the atheros mad-wifi drivers simply.

1.      module-assistant auto-install madwifi-source
2.      modprobe ath_pci

Pretty simple getting that part setup. Now for my network I my wireless setup wpa2 encrypted so I wanted the laptop when powered on, with the wireless card inserted I wanted it to automatically connect to my network. So to get that setup we need to edit the

/etc/network/interfaces file.

Nano

/etc/network/interfaces

in this file for my example I had to add the following lines.

auto ath0

iface ath0 inet dhcp
wpa-driver wext
wpa-ssid
ssid “of your router”
wpa-psk “wpa2 password”

The password needs to be in qoutes if you have any spaces in it so that it will be passed correctly.

Step 5. Frame Buffer

Now for the image for I have selected to use we have to enable frame buffer support. This is an easy process to do. Part of this information will vary from laptop to laptop depending on what your screen is capable of displaying. In my case I can do a max resolution of 800×600. Your mileage may vary. We just need to add an a simple line to /boot/grub/menu.lst. To do this simply

nano /boot/grub/ menu.lst

the line we want to edit is:

kernel /boot/vmlinuz-2.6.18-6-486 root=/dev/hda1ro

we want to modify it to read

kernel /boot/vmlinuz-2.6.18-6-486 root=/dev/hda1 ro vga=xxx

to figure out what xxx is you can refrence the following chart of information.

colour depth        | 640×480 800×600 1024×768 1280×1024
256 (8bit)             | 769        771         773           775
32000 (15bit)       | 784        787         790           793
65000 (16bit)       | 785        788         791           794
16.7 Mill. (24bit)   | 786        789         792           795

in my case my sceen is capable of 800×600 at 24 bit color so I want to go with 789 so the kernel line I end up using is

kernel /boot/vmlinuz-2.6.18-6-486 root=/dev/hda1 ro vga=789.

Step 6. Automatic User Login

Enabling automatic user login. For this project I wanted the system to be powered on and to do the rest on it’s own. Part of this process requires the system to automatically login as the user we setup earlier when building the machine. For this part I have found rungetty to be an a great asset. To put rungetty to work we need to modify /etc/inittab.

Here is a copy of the section we need to modify.

#<id>:<runlevels>:<action>:<process>

#
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty’s go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

We want to modify the line 1:2345:respawn:/sbin/getty 38400 tty1 so that it will automatically log our user into terminal. The complteted line reads like this 1:2345:respawn:/sbin/rungetty –autologin dpf tty1.

Here is a copy of the modifed section to show you in context what it looks like.

#<id>:<runlevels>:<action>:<process>

#

# Note that on most Debian systems tty7 is used by the X Window System,

# so if you want to add more getty’s go ahead but skip tty7 if you run X.

#1:2345:respawn:/sbin/rungetty –autologin <user name> tty1
#1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

This modifed version will log in our user into tty1 automatically when the system boots up.

Step 7. Reboot

Okay lets go ahead and shutdown the system. In my case I removed the pcmcia ethernet card and inserted the dlink wireless card. Now power the system on. If everything has gone well your laptop will start up log unto your wpa2 encrypted wireless network and log you in as the user you have choosen in tty1.

Step 8. Folders and shares

For this project I have 3 folders in the users home directory. display_list, scripts, and pictures. In pictures I have to subfolders display and upload. So lets go ahead and make these folders

mkdir display_list scripts pictures
cdpictures
mkdir upload displaying
cd ..

Next we need to set up samba shares so that the folder pictures can be seen on the network so pictures can be added and removed with relative ease. We will need to change to the root user and edit the samba config file.

Su and enter your password

nano /etc/samba/smb.conf

In the global section, remove the “;” at the front of the line

;security = user

so it looks like this:

security = user

to enable Linux system users to log in to the Samba server.

In the section [homes] change

writable = no

to:

writable = yes

You may optionally change the line

workgroup = Workgroup

to

workgroup = <workgroup name of your choosing>

And lets add this at the end of the smb.conf file to allow sharing of the picture directory we created.

[pictures]
comment = pictures
path = /home/<user home directory>/pictures
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
writable = yes

be sure to change <user home directory> to the name of the user you created for this project.

Now lets go ahead and close the file and restart samba

/etc/init.d/samba restart

Just because I like to make it easy to get to these shares doesn’t mean I want just want anyone having access to them so lets add users that we want to have permission to add files

useradd <user name> -m -G users
smbpasswd -a <user name>

remember to replace <user name> with a name you want it to be. Smbpasswd will prompt you to enter the password twice.

You should now be able to view samba shares on your network and see the folders you just added and log into them with the username and password just configured. Also go ahead and upload a jpg or two into the upload folder so that we have them for the following steps.

Step 9. Adding Scripts

For this project I use several scripts to tie it all together. In this section I will list what those scripts are and what there function for this project are. All scripts will be available for download. You will need to edit them changing <user name> to the proper user name on your system.

1. dir_check.sh This script is used to check if there are new pictures in the display directory

2. frame_maintenace.sh This script simply calls other scripts to keep the routine functions of the frame running

3. imagesearch This pearl script provided by a friend tomaco parses threw a directory and generates all list in chronological order of all images in the directory from
newest to oldest

4. replace.pl This script found on the linuxquestions forums removes special characters that may cause problems for us later on.

5. resize_move.sh This script resizes all images in the upload folder to 800×600 for my frame and then moves them over to the display folder.

6. start_frame.sh This script is called to start the picture frame. I went with this route so that I could tweak how long a image is displayed.

Download these scripts and copy them to your scripts directory to change <user name> to the appropriate user name for your frame and make them all executable.
Get The Scripts here

Step 10. Getting the frame started

For the first run it’s best to run the scripts by hand to make sure it all works then we can run them automatically later. Go ahead and cd into the pictures/upload folder for the moment. What follows is the order to run the scripts in.

1.  /home/<user name>/scripts/replace.pl
2.  /home/<user name>/scripts/resize_move.sh

Okay we have now stripped out the special characters, resized all images and moved them to the pictures/display directory. Next lets cd /home/<user name>/pictures/display. Here is the order is we want to run the next scripts

1.   /home/<user name>/scripts/imagesearch
2.   cp /home/<user name>/display_list/list_recent.txt /home/<user name>/display_list/list.txt
3.   fbi -noverbose -timeout 30 -l /home/dpf/display_list/list.txt

If everything has gone properly and according to plan your digital picture frame should be showing the images stored on the machine. Since everything is going well you can hit escape to stop fbi and we can go ahead and put the final wraps on the project. Assuming we are still logged in as the root user lets go ahead and do the following

crontab -e

and lets add this entry to cron

0 * * * * /home/<user name>/scripts/frame_maintenace.sh

This will run the frame_maintenance.sh script once an hour and update it with any new pictures added to pictures/upload directory.

The last thing we need to do for this is make sure that fbi start everytime we power on the frame. So lets go ahead and

nano /etc/inittab

and on the end of the file lets add this line

fram:2:respawn:/home/dpf/scripts/start_frame.sh tty1

This line we added will start the script start_frame.sh when the frame is started and when it notices that fbi has been killed. So go ahead and shutdown the laptop and power it back on. It should power on and after the initial boot up process we should see our images being displayed.

Well I hope this has proven usefull to you or atleast informative. If you have any questions feel free to contact me at lord.drachenblut+frame@gmail.com

Hacker’s Manifesto

Posted by Lord Drachenblut under Uncategorized (No Respond)

While I’m still plodding away at my digital picture frame project I wanted to drop this here so everyone may enjoy it.

The Conscience of a Hacker

Another one got caught today, it’s all over the papers. “Teenager Arrested in Computer Crime Scandal”, “Hacker Arrested after Bank Tampering”…

Damn kids. They’re all alike.

But did you, in your three-piece psychology and 1950’s technobrain, ever take a look behind the eyes of the hacker? Did you ever wonder what made him tick, what forces shaped him, what may have molded him?

I am a hacker, enter my world…

Mine is a world that begins with school… I’m smarter than most of the other kids, this crap they teach us bores me…

Damn underachiever. They’re all alike.

I’m in junior high or high school. I’ve listened to teachers explain forthe fifteenth time how to reduce a fraction. I understand it. “No, Ms. Smith, I didn’t show my work. I did it in my head…”

Damn kid. Probably copied it. They’re all alike.

I made a discovery today. I found a computer. Wait a second, this is cool. It does what I want it to. If it makes a mistake, it’s because I screwed it up. Not because it doesn’t like me… Or feels threatened by me… Or thinks I’m a smart ass… Or doesn’t like teaching and shouldn’t be here…

Damn kid. All he does is play games. They’re all alike.

And then it happened… a door opened to a world… rushing through the phone line like heroin through an addict’s veins, an electronic pulse is sent out, a refuge from the day-to-day incompetencies is sought… a board is found.

“This is it… this is where I belong…” I know everyone here… even if I’ve never met them, never talked to them, may never hear from them again… I know you all…

Damn kid. Tying up the phone line again. They’re all alike…

You bet your ass we’re all alike… we’ve been spoon-fed baby food at school when we hungered for steak… the bits of meat that you did let slip through were pre-chewed and tasteless. We’ve been dominated by sadists, or ignored by the apathetic. The few that had something to teach found us willing pupils, but those few are like drops of water in the desert.

This is our world now… the world of the electron and the switch, the beauty of the baud. We make use of a service already existing without paying for what could be dirt-cheap if it wasn’t run by profiteering gluttons, and you callus criminals. We explore… and you call us criminals. We seek after knowledge… and you call us criminals. We exist without skin color, without nationality, without religious bias… and you call us criminals. You build atomic bombs, you wage wars, you murder, cheat, and lie to us and try to make us believe it’s for our own good, yet we’re the criminals.

Yes, I am a criminal. My crime is that of curiosity. My crime is that of judging people by what they say and think, not what they look like. My crime is that of outsmarting you, something that you will never forgive me for.

I am a hacker, and this is my manifesto. You may stop this individual, but you can’t stop us all… after all, we’re all alike.

The Mentor. 08/01/1986

Coming Soon

Posted by Lord Drachenblut under Uncategorized (No Respond)

Currently I am in the process of the first project I will be posting here. The project is a digital picture frame made from an old compaq presario laptop.

Cheers

Lord Drachenblut

Welcome

Posted by Lord Drachenblut under Uncategorized (No Respond)

Welcome to the home of The Digital Dragon’s Lair. I am Lord Drachenblut your host. On this page of my site you will find howto’s and other odd’s and ends as I see fit. At lorddrachenblut.thedigitaldragonslair.com you will find my personal blog where I will post what ever I feel like. At drachenengel.thedigitaldragonslair.com you will find my ex-pets blog which I keep up for historical and sentimental reasons. And at gallery.thedigitaldragonslair.com you will find my image gallery.

Cheers

Lord Drachenblut