HelixCode Releases Admin Tools
An Anonymous Coward writes: "Helix Code has just released the first preview of its admin tools. Just now there are only three utils. They are glade front-end using perl back-end." Nifty way to attack the problem. I tend to prefer handling things like this the old fashioned way, but this kinda stuff is critical for the newbies. I mean, who wants to know what file you edit in /etc to change your DNS server, or what the syntax is to mount a remote NFS partition? (Ok, I want to know, but for those just joining us, it's probably not the happiest learning curve figuring this stuff out.)
In good "MVC" manner, things would be quite clearly separated out between "front end" versus "server." (That oversimplifies MVC; so sue me...)
With cfengine, the "back end" is a configuration management engine that does things like renaming files, mounting partitions, running network config utilities, and such. The thing that is nice about it over, say, Perl, is that it directly contains abstractions made for doing "config stuff." It's not a hive of Turing-complete bits of code that could be doing anything; if you want to shut off certain services, you might use:
editfiles: /etc/inetd.conf
{
HashCommentLinesContaining "telnet"
HashCommentLinesContaining "finger"
HashCommentLinesContaining "tftp"
}
Then, when you run the GUIed tool, it doesn't simply run some Perl code that does the system configuration for you, this time; it instead generates a cfengine script, which may assortedly be:
I've used this property of cfengine to help in configuring new systems. If I have cfengine scripts set up that properly configure the local network topology, it's rather slick to drop them on a floppy, put that in the new box, run them, and suddenly have that new box linked up nicely, complete with NFS mounts and security fixes.
It's possible that cfengine isn't the perfect answer; the point is that by providing a "language for system configuration," it is a whopping lot more suited to large scale use for this task than, say, some set of Perl scripts that someone hacked up.
If you're not part of the solution, you're part of the precipitate.
Right, and god forbid that "clueless people" should be able to manage the free OS they install when seeking an alternative to Windows.
Nobody is saying that, please don't inspire a flame war - we have too many already.
Why is having a GUI front-end to your configuration files such a horrible thing?
A GUI configuration utility, in and of itself, is not a bad thing. The problem arises when you MUST use the GUI to configure your system. I'll use Linuxconf as an example. It does lots of non-standard things. Heck, it even starts up every time my computer does. I have to use Linuxconf in order to avoid breaking my system. What happens when the only thing I can do is get into a shell, without any graphics capabilities at all(not even text-mode, curses-based!)? Well, quite frankly, I'm screwed. Helix seems to have the right idea - their utilities are changing configuration files themselves, and only those that the service being configured reads. That way I can use a plain text editor to fix my system if I have to.
They aren't "dumbing" anything down. They're making it easier for newbies to do things that normally require navigating confusing tools or editing conf files by hand.
I firmly believe that computer users need to know more about the computer they're using. Education is never a bad thing, and the best education is hands-on education. In this case, reading manuals and editing config files.
For someone that's only looking to connect a simple box to the net so they can do their email and web-browsing, why should it be a bewildering chore to configure an IP the first time around?
You're right, it shouldn't be a chore. But sometimes configuration GUIs make it too easy to kill your computer. I know several people who have lost a lot of money(> $5000) on mis-configured computers. Users should at least know what not to do, and having that horrible, confusing "Reformat your hard-drive - don't worry, this won't do anything bad!" option is a bad thing. You wouldn't cut the brake lines in your car, would you? Sure, you're not likely to die if you kill your computer, but you could lose a lot of money, and suffer a distinct rise in blood pressure.
That said, I'd like to congratulate Helix on doing a good job on their utilities. They've got the right idea - modify configuration files that are native to the service that's using them. I'm a fan of all the work Helix has done, and I hope they continue it. Good work.
Dave
Barclay family motto:
Aut agere aut mori.
(Either action or death.)
Exactly. New users need a way to get into a system without having to memorize 15 O'reily books. I know my way around a computer and spent several weeks installing a BSD System a few years back on a 486. After I got it up and running, I went back to my Macs and PCs.
Early last year, I installed a Red Hat system...it was a world of difference from having to compile everything from scratch and hoping ya had drivers for every piece of hardware ya had (didn't have CD Drivers for my drive at that point...). I was up and running in an hour. For about 6 months I used Linux Config for just about everything. Its easy enough to use even in straight telnetable text.
If it wasn't for Linux Config, I wouldn't have been running the system and I would have given up on it and gone back to the NT network I administer. Now, I can't even use Linix config because it kills most of the changes I've made to the sendmail config files and otherwise.
Users need a way to get use to a system first and then figure out all the geeky things that we all love. The more GUI based admin tools the better (and let hope these new ones don't kill config files just because they don't understand what yer working on...)
blah
clif
Just glancing over these tools reminded me of something that I've heard is being done for MacOS X that I bet would be a good (albeit large) project for the OSS community to undertake.
:)
Basically for OS X it sounds like all their configuration stuff is done using XML conf files. I'm betting that they're not really making all NEW UNIX conf files, but are adding a layer of XML above stuff (ie, your resolv.conf file is generated off of an XML file)
I think a project whose job would be to take many modern day UNIX configuration files (/etc/*) and translate them into XML formatted files would be quite useful. The logical progression of such a project would be to allow a "univeral" configure tool which would interpret the XML files to create an on screen configuration tool for whatever conf files are needed. This would eliminate the need for specific tools hardcoded for certain files (like the one seen on the Helix code site for configuring your nic's) and would become essential to setting up a Linux box for newbies.
Just a hunch
--
I think there is your problem. Newbies shouldn't HAVE to mess with that stuff. Someone new to Linux definitely shouldn't be running a DNS server or an FTP server! These are the kinds of people that stick their boxes up unprotected on the net and wonder why they get hacked, then blame it on Linux! Newbies (we were all a newbie at one time) generally don't bother keeping stuff upgraded until they become more advanced and that poses a very big security risk. Newbies to Linux should probably start off with something akin to a simple WebTV interface that handles all the hard details and doesn't make them worry about handling any of that administrative mumbo-jumbo. They just need to know to turn on their box and start their apps. When (and if) they want to advance and learn more they can get to a shell and start working with that.
Part of this really is missing fundamentals
While learning fundamentals is good, is there really anything fundamental about hand tweaking configuration files? I don't think so.
It's too easy to confuse matters of fundamental importance with matters that are merely pointlessly difficult - sort of like the old adage: if the medicine isn't bitter, it can't be good for you.
With all due respect, I think that's exactly what's being implied in the original post. But you're right, it's not worth the flames. On to the real discussion.
Thank you. =)
Using Linuxconf as an example of GUI config helpers is, quite frankly, just plain wrong. You're right, it does non-standard things, it locks you in and it's basically a very poor way of doing things. That doesn't invalidate all GUI config tools, just Linuxconf. =)
You're missing the point. Not everybody is an academic. You and I may feel the need to understand how every tool works and how it is configured. I, personally, like to tweak every single tool on my system. I'm just anal that way. But that's just me. And I'm quite convinced that I, and others like me, are becoming the minority in the computer using world.
A computer is a tool to most people. You should not, EVER, be forced to learn how the computer works in order to accomplish what it is you want to do.
Should you know what an IP address is? Yes. Should you be concerned with how your OS interprets configuration files to determine its IP address? Hell no.
Keep in mind, I'm not talking about sysadmins here - sysadmins are professionals who should understand the systems in their care - I'm talking about Joan Q. Public who just wants to use her computer for simple, everyday tasks.
Come on now, have you EVER seen an option that says "here, go ahead, format your HD, it'll be fine"? That's ridiculous. With that kind of logic, we should outlaw root access and any kind of CLI. It is far, FAR easier to really mess up your system with a CLI.
A slip of the pinky there is much less forgiving than a GUI config tool that only allows you to do a specific task and clearly spells out the dangers associated with it.
The problem you're describing is poor software design, not uninformed users. Well, maybe a mix of both. I say the onus should be on the developer to make sure the consequences of every click are clear to the user - not on the user to anticipate what the software wants you to do.
--
I hope it has the capability to, upon making changes, show you exactly what it did. What files were changed, what was added or removed, and a quick little explanation of each change.
What better way to learn the fundamentals of system configuration?
--
Why is having a GUI front-end to your configuration files such a horrible thing? They aren't "dumbing" anything down. They're making it easier for newbies to do things that normally require navigating confusing tools or editing conf files by hand. For someone that's only looking to connect a simple box to the net so they can do their email and web-browsing, why should it be a bewildering chore to configure an IP the first time around?
Not everybody likes to get their hands dirty working with the innards of their OS. A lot of the computing public is genuinely frightened of changing anything on their computer.
I say kudos to anyone that wants to make it that much easier to install and keep a Linux/BSD/nix box running.
--