Monday, January 17, 2011

Making Emacs

This is a post back from a few weeks ago when I still had Ubuntu. I didn't post it, because I've written it up offline and thus didn't put in links. I kinda forgot about it, and since recently my postrate has gone up and if I want to keep it there I have to post something, I'm putting in links and publish it.


I got the Emacs package from my Ubuntu distribution; sadly after trying to start it a second time it crashed on startup with the error 'Arithmetic Error'.
I couldn't find out why it was crashing, nor fix it otherwise.

But I still wanted to look into Emacs, hearing everywhere about it. So I got the sourcecode of their Mercurial-repository and built it myself.

If you have built some libraries form source you might know the makefile stuff. Usually you just type './configure && make && sudo make install' and everything gets done.
I usually make a sub-directory called 'build', in which the configure-tool can copy all of its stuff in so I don't accidentally pollute any existing files and so I can easily clean up the build.

Then after it configured the stuff, I look at the output generated to find possible missing libraries. If there's anything critical missing the configure-tool will usually make that very clear and you don't have to search the log, but I search for optinal components that are not found and get them so I get all the features and miss none without knowing.
The output is usually like

checking whether stuff is declared... yes
checking something.h usability... yes
checking something.h presence... yes
checking for somethingelse.h... yes
checking whether gcc understands -Someflag... yes
checking how to run the C preprocessor... gcc -E
checking for sometool... yes
checking for somelib... yes

Just way more stuff. And where it says no, it didn't find stuff and works around, via patches or preprocessor magic or some other tricks.

But Emacs has an awesome summary for the optional components at the end:

Configured for `x86_64-unknown-linux-gnu'.

Where should the build process find the source code? /usr/offload/emacscode/trunk
What operating system and machine description files should Emacs use?
`s/gnu-linux.h' and `m/amdx86-64.h'
What compiler should emacs be built with? gcc -g -O2
Should Emacs use the GNU version of malloc? yes
(Using Doug Lea's new malloc from the GNU C Library.)
Should Emacs use a relocating allocator for buffers? no
Should Emacs use mmap(2) for buffer allocation? no
What window system should Emacs use? x11
What toolkit should Emacs use? GTK
Where do we find X Windows header files? Standard dirs
Where do we find X Windows libraries? Standard dirs
Does Emacs use -lXaw3d? no
Does Emacs use -lXpm? yes
Does Emacs use -ljpeg? yes
Does Emacs use -ltiff? yes
Does Emacs use a gif library? yes -lgif
Does Emacs use -lpng? yes
Does Emacs use -lrsvg-2? yes
Does Emacs use imagemagick? no
Does Emacs use -lgpm? no
Does Emacs use -ldbus? yes
Does Emacs use -lgconf? no
Does Emacs use -lselinux? yes
Does Emacs use -lgnutls? yes
Does Emacs use -lxml2? yes
Does Emacs use -lfreetype? yes
Does Emacs use -lm17n-flt? no
Does Emacs use -lotf? yes
Does Emacs use -lxft? yes
Does Emacs use toolkit scroll bars? yes

I could easily see what I can additionally install (though I didn't find Xaw3d-dev, nor did it properly configure imagemagick, but the rest is all there :)).

And my self-built Emacs works fine, also starting it up after the first time ;D
I still need to figure some stuff out, but I can see why many people like it, though at the moment I am more efficient with simple tools like gedit I will try to get better with Emacs :D

Saturday, January 8, 2011

Journalism: A Crime

I don't think I have to write about the current events about WikiLeaks and Julian Assange. You should at least have a rough idea about that ;)

You will also know that Julian Assange is called a terrorist and what not and, whether you approve or not, I will also not have to write about that.

Now, what's interesting is, that the feral court of the US has signed a subpoena request to reveal information about several persona related to WikiLeaks for ongoing criminal investigation.
You can find more detailed articles here and here.

I am usually not deep into politics, but I generally approve WikiLeaks and their actions. Since I am somewhat lazy in researching facts, I found this page to clear some common misconceptions about WikiLeaks for people who do not approve.

I - We - must really ask how it can be, that governments keep secrets and lie. Does this not sound an alarm in our heads? Fictional and non-fictional documents have shown the effects. History can easily repeat itself if people do not pay enough attention or do not act, fiction can just as easy become the reality at some point.

Just because we don't believe something will happen, doesn't make it not happen. One might say there's enough common sense in every person to prohibit going beyond certain limits; That we have not and will not loose our social values, such as freedom. And maybe we won't, but we will have to act that it will not.

People can be manipulated, as far as abandoning their original beliefs. If you don't believe me, read this. Just as students expect to be lead by their teachers, we expect to be lead by our selected politicians. And just as a teacher can command his students, politicians can publish new laws.

Of course this cannot happen within a few days, but a government would have much more resources and way more time.
And of course while the students don't have much control over their teacher, the common folks do have a certain influence on politics - if they are smart enough to act. And it's not so easy to be represented correctly if our representatives are lying to us.

To end this post, here's a related and amusing YouTube-clip.

Friday, January 7, 2011

Using Fedora

After a few days over a week of using it, I solved some things.

The flashplayer ran shitty because I still had the software graphics drivers :P After I installed the proprietary drivers it worked fine. I'm waiting for nouveau to become stable though; I'll definitely use it when it runs somewhat fine.

I still sometimes have some problems with PulseAudio. After de-installing it, finding out that ESD is not in the repository and re-installing PA, it seems to run a bit better. The flashplayer doesn't spit out any sound when any other sound-program is running. I then have to close those, kill the flashplayer-instance and re-load the page.
And sometimes it seems to eat my sound-device and re-starting PA doesn't bring it back, no, I have to logout and log back in. Probably just some missing flags.. I should investigate the startup-script.

And the packages for Fedora are not named inconsistent, it's just that many libraries themselves have the lib-prefix in their name, while others do not. In Ubuntu those just got the lib prepended, but in Fedora it's just their name without any modifications.
And auto-completion also works on further entries, it just doesn't react on a single tab, but on double-tab. Not sure how I didn't notice that before :P
Though I still think yum is slower than apt-get.

So, all in all everything except PulseAudio runs fine. So far I'm happy to have a running system; I can't really say that I like Fedora or Ubuntu more. I guess they are both good OSs IMO.
Ubuntu has the advantage of optionally providing non-free stuff via the official repositories, while Fedoras software is newer and you can get the non-free stuff via 3rd party repositories at least :)

Saturday, January 1, 2011

<insert obligatory new year's-post title here>

<insert obligatory new year's-post body here>