Archive for May, 2006

Python - Yet another barrier of open source…

Friday, May 12th, 2006

I’ve recently been coding away on an open source application and I need to embed multiple scripting languages. I started with Perl, googled for a while, hit some Perldoc, and my embedder is working flawlessly. The whole process was relatively painless. I then went on to build the rest of my framework around my Perl embedder.

Now it’s time for the Python embedder…

Step 1 : Some Python code to execute in the embedder.
I get on the web, do some googling, and i’m on my way. Some simple functions with some screen I/O, nothing exciting, but functional. Life is good.

Step 2 : The embedder in C
Once again, I hit the web, do some googling, find lots of docs… and lots of people asking questions. The Python doc for embedding/extending is quite long winded and not overly informative. It also makes a point of stating that most people who want to embed Python “discover” that they should just write their whole application in Python instead of C. *cough cough* Yeah well, that’s not going to work for me. I can’t make heads or tails of these docs, i’m not finding any valuable answers in forums and such… so now i’m screwed.

But wait! There’s IRC. Whenever I need help with opensource software, there’s always someone on the IRC. Sure enough, I hit the python site, find the IRC channel, jump onto FreeNode and hit #python. Bingo! There’s ALOT of people in here… i’m good to roll.

I write out my question using clear language, no l33t speak or anything, and try for a solid explanation of what I need. 5 minutes go by, finally, somebody kicks in a link to the python docs site… WHAT?!?!?!?!? Did this jackass just RTFM me? What an ass.

So, I inform him politely that i’ve already read the docs but they’re not overly clear for what i’m trying to do. So I explain AGAIN as to exactly what I want to do with the interpreter. He then sends me a link to the C API from the docs site and suggests one of the functions… the one he suggests doesn’t do anything close to what I want. Great. Thanks again for RTFM’ing me.

After a few more message bounces, I finally give up on this guy. He’s obviously not reading what i’m typing and doesn’t know what i’m asking for. Basically, he’s never done this. Yay.

So, the point here is that in a matter of 10 minutes, he alienated me. He didn’t care enough about new users to try to answer my question w/o giving me an RTFM. Dude, i’m a C programmer, you don’t think i’m used to looking at the damned manual by now?

Congrats, if it weren’t for the fact that I need python for this particular project, i’d tell this jackass to hit the road and just stick with Perl. This shows yet another fundamental problem in open source… the elitist community. Just because you can write some stuff in Python doesn’t mean you’re that awesome. Help the new people, welcome them in to the community… that’s the key to success.

But that’s just me, I could be wrong. :-)

It’s all over folks

Wednesday, May 10th, 2006

The internet is about to be killed. The fun is over. We had a good run but the end is near. The writing is on the wall.

Normally I stay away from issues like this because of the firestorm that it starts, but hey, sometimes even I have to stand up and shout out the obvious.

So why do I say that it’s over? Why is the internet going away? Because it’s ideals are dead.

It’s not free anymore, everyone is here to make money. The damned ISPs are pissed because we’re “using too much bandwidth”. So now content providers are going to have to pay more to get a higher slot in the QoS of those ISPs. WHAT A CROCK! Basically, the big boys like MS, Google, Yahoo, etc are going to pay the tariff and get high priority, and all of the content I like to read (including this site) is going to go slow. The next thing that’s going to happen is that more and more sites are going to sign up for this and the ISPs will generate monstrous lists of hosts that get high priority and the rest, the next trend here is that they’ll have to upgrade their hardware to actually watch that much traffic. And of course, consumers will get the bill for that hardware upgrade with some new “tier” of service. Oh, and let’s not forget that the internet is a mega network made up of a few larger providers and subdivided into a lot of smaller providers. That’s a problem… and here’s why.

So for example’s sake, let’s say I have to go through AT&T, Sprint, and Qwest to get to Google. Google signs up with AT&T and Qwest for “premium” bandwidth, but they don’t sign up with Sprint. So now, AT&T and Qwest push them up in their QoS and Sprint pushes them down. Guess what?!?!?!?!?!?!? Google is still slow b/c they didn’t pay off everybody. That’s right, I said PAY OFF, because that’s what this is. This is major providers pushing the government and the government bowing down to them and allowing stuff like this to pass through.

This is wrong and everyone knows it. Would someone please get the governments away from my internet? The internet used to police itself, if you didn’t like what you saw, it was your choice NOT to go there. I don’t agree with a lot of the stuff I see on the net, but I recognize the freedom of expression.

The next problem… censorship. Ooof, i’m not even gonna rant too long about this one. I shouldn’t have to. Just start looking folks, censorship is happening all over the damned place. It’s just not cool.

So anyway, the fat lady is about to sing. The freedom of the internet is over. It’s just a place to do your job and buy stuff now. :-(

The Joy of X

Monday, May 8th, 2006

For those of you not up on the X scene, the X consortium recently released Xorg 7.0 (X11R7). This represents a fundamental design change in X, no longer is everything linked to the aging libX11 and no longer is X all one big monolithic chunk of code. It’s now all split up and nicely packaged using the GNU autotools. (no more xmkmf or imake!)

As good of a thing as this is, there are some problems… here is the tale of my week long experience… another of the Joys of X.

First, I went forward… I just built a new Gentoo box, so rather than go with the soon to be replaced Xorg 6.8, I went straight for 7.0. Simple, just unmask some packages and compile away! Everything was going great for about a week, then, all of a sudden, I had some text corruption in most of my apps. Now, it being too late into the night for me to realize it was my Nvidia driver, I unmerged Xorg 7.0 and went back to Xorg 6.8… STUPID MISTAKE. Thanks to those new modular libs, everything that bound to the X libraries broke. That includes anything GTK (all of GNOME and LOTS of apps), and my beloved enlightenment. Needless to say, I spend the new few hours removing and rebuilding packages. Oh, and because of the way GTK and the Linux linker works, you can forget about just redoing them… you get to remove basically everything graphical and START OVER. Enjoy the next 2 days of your life recompiling all of your crap. After 2-3 days of troubleshooting/compiling, i was back up and running… too bad my text corruption problem is still there. 15 mintues of google searching and the problem was solved. DOH! Lesson learned, never troubleshoot your box when it’s 3am. Go to sleep, wait until morning and try again.

Next, I go forward again. Having resolved the problems with text corruption, I was now having OpenGL issues and general performance issues. Xorg 7.0 is streamlined and a much more enjoyable experience than Xorg 6.8. You don’t get all of those extra utilities that you never use, and you don’t get all of those extra drivers/libraries. MUCH cleaner. Knowing that my system would now run fine under Xorg 7.0 and my OpenGL issues would be gone, I decided to go back….

After a few hours of unmasking & compiling, I was back in business… but something wasn’t right, it just didn’t feel like it did before. Was it just that I was expecting too much… nah, couldn’t be. I went to digging on the libraries and sure enough, they were all linked against libX11 and weren’t paying attention to the new libs. Well… we’ll just have to fix that. Here’s where the mistake happened. It’s late, i’m playing Eve on my other machine, and chatting with my friends on TeamSpeak… STUPID time to work on my Linux machine. So, I kick into a command prompt and unmerge everything that depends on GTK and my Enlightenment DR17. Fine, good. Everything is great… then I run portage again… and python crashes. Looks like my GCC just got removed… along with the required libstdc++ that python needs to work. Oh hell… it’s gonna be one of THOSE nights. So, I break out a live CD, mount it up and strip out the already installed GCC and transplant it onto my machine. Great, now python works. Then I merge a fresh copy of GCC, change the profile, and remove the bootleg copy I put in. Sweet… back in business… almost. Now on to the good part… remerging the freakin’ world.

glitz, cairo, gtk, pango, atk, glib… those are easy…

enlightenment dr17… piece of cake…

GNOME… call back tomorrow. Man that’s a lot of code.

So, long story, but just remember, Xorg 7.0 != Xorg 6.8/6.9. There’s no easy way to go back once you go, so think it over. But seriously, go forward, rebuild your stuff from scratch and don’t look back. Xorg 7.0 is totally worth it.

Too bad it’s still pokey ass X.


Intellidick.com - Pure Insanity is Digg proof thanks to caching by WP Super Cache!