Posts tagged with debian

personal thoughts about the future of operating systems

One is constantly looking for the best working/creative/or playing environment when it comes to one's desktop. It sounds like there must be a fairly obvious answer to a seemingly ridiculous question, yet everywhere you look or listen, everyone's opinions, when they have one (that excludes the majority of people who use a computer for less time than 2 hours a day (my opinion obviously)) is a changing, mostly circular desktop environment. This sounds somewhat convoluted, so let me try and break this down a little.

Most of us, other than those lucky enough to have had parents who were either highly alternative, worked in the academic industry or perhaps even the government, grew up using one of about 5 systems:

# Commodore 64 ands its cousins like spectrum atari or msx
# Commodore Amiga or Atari ST (The step up from the previous line)
# Apple (mostly macintosh)
# Microsoft DOS and Windows
# IBM OS/2 (god knows whatever happened to that? Did MS buy them out?)

Of course, we have to remember that personal computing was considered something for those people unable to do real number crunching requirements, and usually didn't want or need to. That was left for the nerdy geeky scientists and to a pretty large part the telecommunications companies, who I guarantee saw the mobile revolution far ahead of its time, and to some extent are still seeing things ahead of their time, releasing technology today that they probably developed 5-10 years ago. And why not... in an age where human beings have been programmed to work in order to buy an object and ultimately equate that to happiness, gradually releasing new products makes sense. More sense than releasing the technology and what they call their intellectual property  just after being invented and created, which is surely what the scientist or creative person in charge would want, but can't due to stupid outdated and frankly cannibalistic intellectual property laws which would get them fired for even talking to their cat about it.

Think I'm talking hogwash, well, lets look at a scenario that is actually forcing certain companies to release products ahead of the times they usually would. As we are talking about computing we can pick either any BSD derivative or Linux kernel with a decent visual platform (be it Gnome, E17, KDE, XFCE or even LXDE) Now... we have 2 different completely free, in every sense of the word, operating systems running a stunning variety of highly evolved desktops, all also free in every sense of the word.

What's happening? Well, the so called fortune 10, high flyers, the guys with talking houses who still dominate by massive numbers due to the slow adoption of new computer systems, the fact that not everyone spends the majority of their day in front of a computer, and finally the massive and aggressive marketing campaigns these 2 companies throw at us like candy and coca cola.

But even with all that strength, the money, and probably seriously committed people, its clear to those of us living in the digital age and who understand the concept of open source, GPL, and free software, there isn't even a battle here to be won. Those 1000s of people working daily on the Linux kernel, or hundreds working on each of those open source projects mentioned above don't do it for financial gain, or for any kind of monetary aspiration. They simply do it because at that precise moment in time, they notice something needs to be created, fixed, tweaked, documented, or the hundreds of other micromanaging events that happen in open source projects. No one has told them they have to do it, nor how they have to do it, they simply get to a point where they can't resist scratching a so called digital itch, and go ahead and go forth, perhaps checked by a peer here and another interested peer there, but due to such an efficient self checking system it always just works out, eventually.

And from the outside this whole open source thing, Linux thing, or whatever other name is given to the information revolution, seems like a chaotic mess, uncoordinated, unmanaged, spread far and wide without any one person really knowing what the whole picture is.

But the truth and beauty of it is, because of this unstructured completely anarchistic (because its not even democratic, I can think of at least 5 benevolent dictators for life) system there will never be anything but the voice of the people that pushes the direction the information revolution takes. And if that doesn't fill you with joy then I suppose few things will.

Anyway, having digressed quite a bit, but I think in a necessary direction. these days more than ever we take the time to sit and think... hmmmm... what operating system should I install for the next X number of months or even weeks, and you might start thinking as many people of my generation think, what would best for our parents and grandparents or our kids. And the truth is, the choices are just amazing... Should I get an One laptop Per child XO for my nephew, while feeling good about myself for giving another individual on this planet the chance to learn. Should I buy a dual tablet/laptop  made by Asus running ubuntu Linux for my Mom, and should I install pcBSD on the ageing computer (mainly used for the Internet) in my Dad's study room. Unfortunately the only person I haven't been able to convince is my 91 year old grandfather, but understandably, perhaps this is just too way out there for him, though I would give anything for him to feel the joy of using this tool most of us take o so for granted.

And my brother is in the Mac OSX phase, one I went through, I cannot lie, but freedom is far more important than an admittedly luxurious looking desktop, since the company in question bought itself a significant number of years by moving to a UNIX based system, possibly being the next dominant player, but I think the speed with which open source is breaking down digital walls will surely hit them to, perhaps not so hard since they've sneakily (in my mind) marketed themselves as pro-open source, which they are absolutely not... In that respect, and just looking at the amount of limitations they've stuck in the iphone and ipad on purpose makes me not only distrust them but consider them evil. At least the other big giant shows its true colours and doesn't hide behind plain sneakers, a black polo and 501 Levis (hello everybody, I'm the honest common man) Still, I run pinguyos in a virtualised second window and really don't notice much of a difference between that and OSX, other than the cost.

But getting back to the reason for this article in the first place, it was Linux, BSD, GNOME, and KDE which pushed the information revolution far faster than it would have gone did they not exist. It was due to the OLPC XO that the information revolution was pushed again faster making smaller and cheaper and even sturdier laptops. And it was due to yet another open source player, perhaps the biggest of them all, at least for now that mobile telephony is being taken in directions we can only dream about. I'm obviously talking of Android and the now millions of android apps and Android programmers. (I'm one of them BTW, hint hint)

So whats the prediction for the future? well its hard to say, because trends change, wallets get thinner or thicker, people are certainly manipulated in ways we still don't quite understand, watching TV, films, or playing Video Games. But that won't stop any time soon since those are the biggest money makers on the planet and unfortunately our own pride, greed and envy is our worst enemy, embedded in the very objects we desire and acquire ever more abundantly.

Can the information revolution still save us from this? Will open source, and its yet to be contested armour, GPL open the hearts and minds of people everywhere and unite us, rather than divide us....

aye... there lies the rub. So next time you are looking for your brand spanking new OS and desktop... give a couple of names you haven't heard of a try. Distrowatch.com is always a great starting point. My own recommendations in order of preference are currently ( and this always changes, I guess for everyone ):

# PinguyOS
# Strawberry Linux
# Mint
# Ubuntu / Fedora or even Fuduntu (not kidding, it exists and strives to be a combination of the best of both worlds.)
# PCBSD
# Sugar ---- extremely fun desktop environment that kids will love, and parents will enjoy. Built at Massachusetts Institute of Technology after decades of research into how humans and especially children use the computer. Its truly an OS that is years ahead of its competition, focusing on things like collaborative learning, journal based memory and intuitive management of the desktop. In fact, every program on the system can be changed right there on the fly, encouraging kids to tinker and look under the hood, rather than stay away and look from a distance with expected admiration at the expensive laptop Daddy bought at PC World with extra worthless guarantees, antimalware, antivirus, antiphishig, antihacking, antichildren, etc etc etc.

If you're serious and want industry standard telephone support, you have 3 options, Debian, Redhat Enterprise, and Novell SuSe Enterprise. Debian doesn't really have official telephone based support, though many companies support them anyway because of the large user base in the server Arena [basically, its super super stable], whereas Redhat and SuSe have proper industry standard contracts with up to 24/7 support, but it ain't cheap. Ubuntu is desperaately trying to get a foothold in that market, but either they've had bad marketing executives or haven't really tried hard enough. because their product exceeds both SuSe and Redhat in many ways. The likely explanation is that Ubuntu is still a young player, compared to Redhat and Suse, who have been around for at least 10 years longer. But one can argue that Ubuntu is simply Debian with some extras. Anyhow, its a political war which makes little sense, since they are all on the same open source GPL protected side. But everyone needs to eat I guess so perhaps we can write it off as a little bit of healthy, though somewhat silly competition.

Rate It! (Average 0, 0 votes)



Annoyances between using command line vs GUI in Debian/Ubuntu

Fine, so sharing multiple formats that include reverse engineered file systems that are/were proprietary to creating new ones which are supposed to be just plug and play, is close to rocket science.

Well it would be if it worked in most cases. I'll give you a brief example:

This morning I decided I would take all my pc equipment, my drives, my CD drives, DVD drives, usb sticks, etc etc and on and. I would then try and make an efficient (efficient as can be with multiple Oses and multiple hubs, network cards running at various speeds, and a host of external hotpluggable hard drives, both SATA and IDE to test and see what was on them after the years and years of collecting.

In fact, I'm currently staring at a pile of about 8 SATA drives totaling about 3.5 TBs, and a stack of 12 IDES which god knows might even hit the 1.5 TB mark. NOw... having all of that working together in a more or less redundant method across the network (I figure its the perfect opportunity to brush up on my bash shell coding skills to do a plethora of things from managing all that data, checking how corrupt the disks are and somehow forecasting when its time to get rid of the problem kids, setting up a nifty search system that fits MY naming conventions, not some complex XMBC like system that tries to do everything, moves stuff around and then leaves you more lost than when u started)

Anyway, as always, I digress. This entry was really to complain about the STILL dire problems that the average user will have to share a set of files. First, of course, me being old school, I go to the terminal, set up my smbpasswd -u and set up his password. Perfect...

Then I open the file/s or directory/ies that I'd like to share, but of of course only Root can do that, so here comes problem number one... Do I know the name of the sharing program so I could run it using gksudo from terminal? Nope... bet you don't either.... hint: It's not nautilus.

Ok... Then I think, ah but wait, I can open it from the control panel, so I go to preferences -> Personal File Sharing and repeat the operation... Suddenly I'm bombarded with questions to do with blue tooth sharing, which is really not what I was after... I just wanted regular old samba to allow me to move files to and from my Oses with too many questions. But If go ahead and fill in all the questions, where there is no mention of sharing via samba or nfs or anything.

I right click on the directory I've now been trying to share for 10 minutes and the shre this folder tick box is ticked, and there 2 other options which I choose not to touch in case they influence the final outcome. I then click 'add share' and get the following message:
'net usershare' returned error 255: net usershare add: share name 'myname' is already a valid system user name'

So I think to myself, OK, so there is a conflict because I tried to speed up the process manually of creating a smb user and password which the system seems to be unable to parse (why? heaven knows... Has ubuntu decided to change the way samba details are stored too?"

Fine, I think to myself, let me use a different share name, say share, I then hit create share with a new name aptly named share and get an even more complex explanation on how to get this working. By this time I am starting to get amused (as I tend too, having been involved in the Unix/Linux/OSX worlds far longer than the MS world, you can see me slowly admitting to the n.1 argument that regular folks mention when using a Linux based machine for anything that slides over into a little bit of systems administration work.

I know, that, had a client been with me at this point it would be extremely difficult to convince them that Linux is in fact a better, more efficient and easier solution to set up than a multiple windows based system.

But 'not being one to give up easily, I continue the journey. This time I have the following sprawled across the screen:

'net usershare' returned error 255: net usershare add: cannot share path /home/nubae as we are restricted to only sharing directories we own.
Ask the administrator to add the line "usershare owner only = false"
to the [global] section of the smb.conf to allow this.

Sooo.... away we go again, to command line and try adding that, hoping this will finally allow me to share the ONE directory. I restart the smbd service from the command line with service smbd restart (though admittedly, I'm still more used to doing a /etc/init.d/command restart.)

Trying to change any of the other tick boxes (allow others to create and delete files, or allow guest access) fails on the premise that permissions could not be changed for the directory nubae.

I decide to start from the very beginning, deleting the nubae directory, removing samba completely with --purge and giving a go from scratch in case I've missed something, but so far, you can imagine I'm grinning out of frustration more than out of anything else. I delete the whole user account from within the user setting visual GUI, to make sure there are no lingering side effects. And start again by creating the user through the GUI.

Vy recreating the account through the user settings control panel, I suddenly have no problems, even when it comes to sharing the account. It simply asks me if I want to install Samba and away it goes.

Now... if it had been obvious from the start that one can no longer touch the terminal without causing serious damage I wouldn't be so annoyed by this. But it seems like more and more, anyone with a terminal based systems administration background is being left in the dark, while Ubuntu developers and Canonical decide upon their own best practices.

This is not very different from what windows forces its users to go through, and it is yet another reason I am become more and more alienated by those who promise to stick to standards while secretly doing whatever they want without letting people know what is really going on.

I state this not as a newbie, but as someone that's been involved in development through countless areas of Linux, and never have I seen so much secrecy surrounding the introduction of new ways of doing absolutely fundamental things (adding users) without being told that if you use the terminal, you can screw up everything.

This is unacceptable. Either make things backwards compatible, or give an explanation somewhere on the new/right way of doing things. Making users jump through hoops is no way to get a larger user base, in fact, in my case, its made me actually start running XP along side Ubuntu... something I thought I'd never do....

sigh.... There is of course always OS X, which if I really have to be honest about... its the system of choice, if one has the money. Everything just works, it has a unix core so you dont have to feel like you are in unfamiliar territory, and it looks damn cool.

So the moral of this story is... Developers... please... work united to give people a unified experience that they can manipulate either in a format that has been charted out for them (we L(i)(u)nix people don't like that at all) or let us once more be free, and make the gui stuff work along side the true tried and tested command line environment configuration files. Its not that hard...

Any developer worth their salt will tell you that editing existing config files and making a gui that does the same is JUST as easy as doing some proprietary...

Rate It! (Average 0, 0 votes)



making Asus eeePC work for Ubuntu LTSP

The Asus eeePC has become an extremely popular linux based laptop, and it works great with the preinstalled OS Xandros. It is, however, a desirable thin terminal in that its small, already has a monitor and is cheap. The smaller model's screen might be a bit too small, but one can always add an external monitor, keyboard and mouse and make it a full thin terminal. In order to do that, one must fix the atl2 kernel panic bug. The instructions that follow are not mine, I found them elsewhere on the net and adapted a little:

sudo chroot /opt/ltsp/i386
nano /etc/initramfs-tools/modules

add atl2 to the modules list.
Next update your initramfs with (where kernel-version is version number of your kernel [ie. 2.6.27-6-386):

update-initramfs -k kernel-version-number -c 
exit

This will update the kernel and create the initramfs that is in /boot/ under a name something like initrd.img-2.6.27-6-386. The file must now be copied from /opt/ltsp/i386/boot to /var/lib/tftpboot/ltsp/i386 after having renamed the existing one, for backup :

mv /var/lib/tftpboot/ltsp/i386/kernel-version-number /var/lib/tftpboot/ltsp/i386/kernel-version-number.bak
cp /opt/ltsp/i386/boot/kernel-version-number /var/lib/tftpboot/ltsp/i386/

You should now restart the asus eeePC and it should just work.

Rate It! (Average 0, 0 votes)



eggdrop IRC bot with logging to website

After playing around a bit with the php bot logging to mysql, I turned to a little more industrial solution, which involved installing an eggdrop bot and a script which lives inside the bot to convert its log files to html. This turned out to be the easiest solution, albeit a time consuming one. First it was necessary to install an eggdrop bot, which on Debian and Ubuntu can be done like so:

apt-get install eggdrop

This installs the eggdrop to its global area, and if like me you want to run it from a specific user's home you need to copy the configuration file (eggdrop.conf) to the home dir of your choice (example: /home/logbotuser/eggdrop.conf) You must thoroughly go through the configuration file, and uncomment various locations that stop you from executing the bot without reading through ALL the configuration options. The important stuff is at the top, like the botnick, the channel, etc, but there is also important stuff further down, like which irc servers to connect to and the like. When you are done, you should start the bot doing:

eggdrop -m eggdrop.conf

you use the -m option only the first time, as this tells it to create a new user list, after which you can msg the bot hello from irc, or telnet into it and type NEW as the username. The bot should now be happily running on the channel of your choice. One other thing you can do is setup a cron job that makes sure your bot is running always. Basically the crontab checks every 10 minutes to see that the bot is still active, if it isn't it relaunches it. To set it up, move the botchk script from /usr/share/eggdrop/scripts/ to your user directory:

mv /usr/share/eggdrop/scripts/botchk /home/user/eggdrop/

Then you need to edit the bothck script which has some self explanatory settings corresponding to what you already configured in eggdrop.conf, but something that is not mentioned is the need to replace the 3 entries that have the string ./ $botdir to:

/path/to/eggdrop/dir/ $botdir

In the example above that would be /home/username/eggdrop/ $botdir

You then need to do the final part which is add the crontab entry like so:

crontab -e

Here you add the following line:

0,10,20,30,40,50 * * * *   /path/to/botchk

Now you can now download the logs2html script from here.

To install it, unzip it and follow the readme instructions. One thing not mentioned is that the actual compiled module is in the precompiled/eggdrop 3/ directory.You need to move this to /usr/lib/eggdrop/modules/

Then you must edit the logs2html.conf script and the chan.list file. You must also re-edit the eggdrop.conf file and add a line in the end that contains:

source logs2html.conf

When you are done, you should be able to view your irc logs on a website as defined in chan.list. There is an example here: www.nubae.com/logs


Rate It! (Average 0, 0 votes)