Begining of the end

After watching people fight some more in #gentoo-dev this afternoon, the question “Why the fuck do I bother to waste my time with a distribution that only wastes my time?” popped into my mind. I haven’t been able to find an answer yet. Sadly, this indicates the beginning of the end for me. I’m losing interest in anything gentoo at a fast rate. Just the thought of reading public gentoo mailing lists makes me physically ill. I want to vomit.

I still believe that most gentoo developers are good people. There are a lot of examples that can be pointed to to show that teamwork really does work. Unfortunately, people are now using trolling tactics to push their agenda. The recent “Paludis and Profiles” thread on the gentoo-dev mailing list is a perfect example.

So, to my fellow gentoo devs, I have the following 2 things to say:
1. Grow up. Fighting never solves anything.
2. Speak out about what you think is wrong. Don’t allow others to bully you around into accepting something that you don’t think is best for gentoo. You won’t always win your argument, but in the end gentoo will be a better place.

Beer!!!

So I bought a beer kit from http://www.mrbeer.com. My first brew is a blackberry stout. I used 2 cans of stout malt extract, a can of blackberries and a cup of molasses. It will ferment for up to 3 weeks, then I’ll bottle and let it sit for many weeks so it can carbonate and the flavors can meld. I’ll end up with 2 gallons of what I hope will be an extra tasty stout with about a 7% alcohol content.

If you’re in the US and like real beer, I recommend looking into a kit like this. It’s inexpensive, fun and easy. Plus you don’t have to drink MGD all night.

Please configure your mailserver properly!

Am I the only one who’s sick of getting bounced email to aliases that never ever ever send email, and spammers are obviously forginging headers? How does spamming my alias with bounces help anything?

Here’s an example:

This is the Postfix program at host smtp.gentoo.org.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

The Postfix program

xxxp@xxxxxx.co.uk (expanded from amd64@gentoo.org): host
a.mx.pengus.net[80.249.110.195] said: 550 This message looks like spam.
This server will not accept spam. (in reply to end of DATA command)

Please, please, please, please configure your mailserver to silently reject spam. bouncing to an innocent group becuse some ass has forged our address does nothing, except makes YOU the spammer.

smartcards

I recently received a replacement smartcard and a RS232 based smartcard reader from Genesi. This time I managed not to brick the cards while setting things up. gentoo seems to have good support for the cards via pcsc-lite and opensc. I was able to accomplish a lot in just a few hours of hacking.

  1. local login support
  2. ssh/ssh-agent support
  3. xscreensaver support
  4. general PAM support(smartcard can be used in place of any PAM password)

The only thing I wish for is some agent to cache my pin number. I suppose I’ll hack out some sort of pam-agent.

Thanks go to Pieter of genesi for sending me more gear.

Modular X on amd64 and xgl

I’ve just finished migrating from X.org 6.8.2 to Modular X 7.0, and everything built like it should. nvidia binary drivers even work as well. Kudos to the x11 team for the hard work. (Migrating to Modular X HOWTO)

After making sure X and GL were working properly, I started to build xgl. Here’s how I did it:

# wget http://www.freedesktop.org/~davidr/xgl-svn_100.tar.bz2
# cvs -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/cairo login
(press Enter for password)
# cvs -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/cairo co glitz glitzinfo
# pushd glitz
# ./autogen.sh --prefix=/opt/fdo/
# make
# make install
# popd
# pushd glitzinfo
# PKG_CONFIG_PATH=/opt/fdo/lib/pkgconfig/ make -f Makefile.glx
# LD_LIBRARY_PATH=/opt/fdo/lib/ ./glitzinfo
# popd

At this point, glitzinfo should have told you a bunch of information about available features and formats. You’ll have poor performance if you don’t have the following:

texture rectangle
texture border clamp
multitexture
texture environment combine

Now it’s time to build the xgl server.

# tar -xjvf xgl-svn_100.tar.bz2
# cd Xserver-6.6.1/
# PKG_CONFIG_PATH="/opt/fdo/lib/pkgconfig/" ./configure --disable-kdriveserver --enable-glx --enable-xglserver --prefix=/opt/fdo
# make
# make install
# cd /usr/bin
# rm X && ln -s /opt/fdo/bin/Xgl X

At this point you can now start X. I use

$ startxfce4

The server seems to be somewhat unstable, but that may be because I’m trying to run 2 displays on one video card. YMMV

To go back to the original X server,

# cd /usr/bin/
# rm X && ln -s Xorg X

I’ll find out on Tuesday if I can have multiple 3D displays when my new video cards arrive.

EDIT: Sorry, no more comments because of nasty spammers

Hardware donations

w00t!!!

A thanks to the following people/groups for some recent hardware:

Gensei: Smartcard reader + cards for AMD64 testing and integration into some of my embedded projects.

Tavros: Antec 500w PSU + opteron 248 + MSI SMP mobo to replace my aging socket 754 3000+

Thanks everyone!

Part 1: tools for win32 development in linux

emerge the following packages to create a development environment:


dev-util/xmingw-binutils
dev-util/xmingw-gcc
dev-util/xmingw-runtime
dev-util/xmingw-w32api
app-emulation/wine

Use the following as a template for win32 makefiles:

CC=i386-mingw32msvc-gcc
CFLAGS=-O2 -pipe -std=c99 -mno-cygwin -mno-sse -mno-sse2 -mno-mmx -mthreads -DWIN32 -D_WIN32 -D_WINDOWS

helloworld.exe: helloworld.o
$(CC) $(CFLAGS) -luser32 -o $@ $?

helloworld.o: helloworld.c helloworld.h
$(CC) $(CFLAGS) -o $@ -c $<

NOTE: Now is not a good time to rice out your cflags. Debugging win32 code is hard enough without the compiler playing tricks on you.

To test your new win32 program:

wine ./helloworld.exe

Part 2 will talk about how to create win32 DLLs and import libraries.

*EDIT* I’m sick of all the lame losers out there that keep spamming my blog, so no more comments until something can be worked out