Sunday, November 26, 2006

Need to get out more

Dang it I've just been examining my to do list.... I really need to get out more, chase a few lushious babes across the beach e.t.c. Dang it I can't even remember how many years its been since I've gone to the beach and I grew up in south Florida !

Oh well time to play Spider Solitare and some KDE Games.

Saturday, November 25, 2006

XML

Ok so sue me I took a day off :-P

Set up the mkXML function to create our *.desktop files which is a good thing because it shows me I have more testing to do with them. As well as editing the getInput function to make a few changes namely.

Should we run the app in a terminal ?
Do not create link option
Test a few entries in the file
Set MIME type(s?), using a real MIME not a *.ext !

I've added "/usr/ports/packages/All/" and the current directory to where to look for things entered on the CLI so hopefully we could call it as "program packageToAdd.tbz optionalBatchJobFile" and find it. I've set the foot holder code for the fkBuild function which makes the PBI file. Thats going to be a tough thing to do, hopefully Tim will be able to help me there. I've set up our little main loop to breach off into fkBuild + a comment that it should never return to our main loop of events. Because once fkBuild and sub-routines are finished it's supposed to exit the program !

I need to add stuff to the getLibs function for binary hunting. Because what I want is for the user to be able to enter the binaries name as one would to run it. Which is easier on Joe Newbie and faster for a CLI without tab completion. Since getLibs relaies on the information gathered from getInput. We'll then have to test it logically checking to see if it's located in any of the usual spots in the path. Once we find where it is we append that and pass it to the section that actually gets the libs. If it's some thing not in the standard path the user will have to give us full path which we will need to strip off at the start of mkXML.

Line of execution is pretty simple so far, I'll worry about the world of Object Oriented Programming another time - like after this works. Every thing is done in seperated routines rather then a huge main function.
mkHome - prepair programs projects directory (/usr/local/Projects) if it does not exist.
mkProject - make the current projects directory if does not exist. Then copy our pkg over to the project directory.
mainLoop - ask how many K-Menu entries we need to make and loop that many times, then call fkBuild.
getInput - get all the information needed to write the *.desktop files and any script details
    getLibs - gather all the libraries required from the program given to us by getInput
    mkXML - using the data from getInput make our *.desktop file
fkBuild - make the *.pbi file

Of course its not done yet so its not all working yet. So far it looks quite promising as long as in the end I can make a working pbi file. I need to add greater error checking, path stripper code for getLibs, strighten up getInput for a few extras and colate with the mkXML routine. I don't know if XML is the right word for the file style but hey its short, discriptive, and bloody close enough! I also need to get the stuff fixed up for creating the PBI.*.sh files.

Friday, November 24, 2006

To day I rest, let the stream roll off. I've mostly kept my self busy as a beaver to get my work done and also not blow up over at www.pcbsd.org

I need to get the code to handle swaping the data out to file thus creating the *.desktop files to day. I'm moving it to a mkXML function for neatnesses sake even though it's likely to need tweaks. The only bad thing is I can't do the multi-language fields of it and I'm sure as heck not writing a translator to use as a filter app!

Also got to get the stuff setup before going back to work. It's nice to be able to rest for a few days, even if I've more or less been in front of the computer tinkering on some thing for 2 or 3 days stright. BF2 is also good for a break.

For some very od reason I'm having an urge to create a GNU/Linux distro... Console based Live CD /w plenty of rescue stuff, optional X startup /w a minimal WM and an install script then setup the system for install.

Working on my German a few words at a time too.

Thursday, November 23, 2006

Well I got most of the interective mode setup, actually swapping the data out to file is next. Not sure where the fkBuild() function will lead but it won't end up back into the mainLoop (hence the ForK prefix). After the thing runs assuming I ever sort out the PBI generation part it self things look good. The final thing to do will be setting it up to tell weather it is in batch or interactive modes. What I'm thinking is simple

appname /usr/ports/packages/All/package.tbz
Runs it in interactive mode, user has to set the data to create a suitable .desktop file.

appname /usr/ports/packages/All/package.tbz ~/datafile
Run as a batch job reading stuff from dtafile in order to process the job.

Thanks to dropping into #kde I found out basically how to manipulate the K-Menu manually. I'm sure it's simular for making Desktop Icons because of the files. I'd just have to figure out how to set it up correctly not concerned with it though.

Once it's complete and if ever fully functional it shouldn't be to hard for a GUI program to work around its batch mode. That infernal QT Designer is still more then I'm up to handling without reading the manual yet.

AutoPBI

Well I think it's about 0300 hard to tell since I've been toying with my laptops time systems hehe. I've been working on a little gizmo to try and auto-create a PBI so far it's going well. I need to sort out how to setup the scripts used for installing the PBI. At the most basic level it shouldn't be that hard but I'm faced with a few design desisons.

Should I keep it to a srictly functionally terse or opt for an easier UI. Really I care more for solid implementations then flashy stuff. A few things I need to get done is making short work of the PBI.SetupScript.sh and PBI.RemoveScript.Sh files auto-generation. I'm not sure what to put in it really. I know I want to prepair the pkg_add and the binaries in it before offering a direct edit. A quick way to add "events" per say, i.e. an easy way of setting up dialog/kdialogs for use would be nice but that can wait awhile lol. If Kris Moore can anwser me how to tell in the script is running in text mode or normal (gui) mode. I could setup dialogs for PBI Text installs and kdialogs for normal click-n-run style.

I've got the code working to get basic libraries auto-populated but theres no support for auto-magic setup with GTK+ P.I.T.A. PBI Libbing yet and I need to start the code to quickly run each binary through it. I'm hoping to deside more on the UI before thats totally finished. I may be a newbie but I'm trying to keep each section very self contained and a good managible size as much as I can. I remember reading through some source code files a few K lines of C Code long and getting tired of reading after the first thousand or so lines. So I kinda learned keep it tight when ever I can. I've not figured out how to "create" the PBI yet. If possible I'd rather like to bypass PBI Creator all together and see if theres any way to manually setup stuff on the K-Menu e.t.c. Has to be some way since PBI do it as they are.

I remember there was a thing posted on how to make a PBI file for GNU/Linux so I'll take a look at that when I have it ready to "build" some thing. I'm sure if I worked out how to create a PBC file ether using the Build-A-Function called pipes, filters and redirection or perl/ruby I could make it wrap around PBICreators CLI mode but .. Dunno yet.

What I want this to be, is a simple way to get started building the PBI. I'm not yet desided weather to have the port build from within the program or for a simpler design make one have to do a make package first or not. I also need to test to see how much find, copy, link would be the normal neccessity to setup after the package. Such as prepairing the manpages/configdir stuff. I'm not usre how to work out nabbing the man pages since they could be near any where depending on the app and won't always be limited to the binaries names.

Really I don't think I've had this much fun in a good while.

More PBI

Well I've E-Mailed Kris Moore for some info, wonder what I may find out. Depending on the results it might allow me to make for a more flexible method of dealing with my PBI.*sh files.

I also might have a few ideas for making a "automatic" PBI creation tool that I will need to toy around with later. Not 100% sure how well it would work yet.


I suppose, if ya can't beat them join'em. Then remember if it blows up this wasn't my idea !

PBI Systems

Well tis time to plan for war or for peace. I can only see two roads before me.
In a funky branch of science where psychology and history meet at a decision
point that breaks into two possible futures. At first I didn't know which to to
choose but then it just popp'd in there. A man has great capacity for both good
or evil, it's this choice that splits that destiny apart.

While one could harbor malice towards some thing is normal for a human, I have
none to use. I've long rejected such ideas in favor of ones that work. So, I
see that I must take the option that poses the least threat.

On one road, I see the changes to the PBI system to be used (read abused).
Using both volume and redundant checks of quality control push the PBI system
for all it's worth till it ether busts or grows strong.

To the other, adopt to it and fight for its growth. Well ether way I'm going to
raise all kinds of bloody screaming if quality control standards are not
maintained. If Pkg_add becomes the John Doe of the PBI word proper auditing and
quality management is required. The number of times pkg_add PBI have leaked
through testing even when it was strictly a case for "pkg_add -f pkg.tbz" ==
You will be skinned alive being the accepted Community/Developer standard. Even
PC-BSD Developers would occasionally bend this rule and bypass auditing (or
worse...). SO what the heck, why not go with it.

This is a change I hoped to see come with a much stronger infrastructure and a
larger user base. Hopefully one done after proper documentation was ever
created. To be honest PBI documentation is kinda, uhhh scratched out? Yet how
does this change come to us ? By a loss of principals - it wasn't after people
complained. It wasn't after user after user put up requests on the wish list
only to be mostly ignored. It wasn't after people yelled for a more traditional
approach, it wasn't after die hard FreeBSD people turned there noses at the
idea. It wasn't that a flaw was found in an imperfect system and a fix was
needed. It wasn't that as it is the PBI system couldn't work. It's simply that
they would rather have it done NOW then later. Why work to make some thing work
the way it was supposed to? When you can just change the rules to match your
hand of cards ? I'm sorry but thats the way I feel - I don't mean to accuse any
one and don't.

We can now use pkg_add in PBI creation at a very small level because it's the
easy solution. When a problem of commercial importance chopped up. Well excuse
me and my big fat Johnny Reb ass but I'm starting to agree with a few FreeBSD
sys-admins. A clean, functional, elegant design should be the end result. Not
some thing hacked together with chewing gum and cloths pins. Even after public
debate about the similar issues they didn't care - they get a problem getting a
commercial app to abide by it and they change the rules. When I had "offically"
left working on any PBI I did so seeing a system showing signs of reform, one I
knew would stand. Now I see it caving in on it self.

Ok so we have to live with pkg_add app PBI full of libs not added ok now we need to think here. The pkg_add can only be the main app well if we draw that line very easy at cd /usr/ports/cat/app && make package && cd /usr/local/Projects/PBI && mkdir app && cp /usr/ports/Packages/All/app.tbz ./

Then we need to check this package to make sure it only contains libs unique to
the project or else fool around /w it and the +* files to make a new package to
force or risk breaking some thing. Ok thats good enough but what if we have
some problems loading a Lib out of /Programs/$1/libs at run time ? OK well
since the PC-BSD Devs say it's ok to do a pkg_add of the main app. Why don't we
just move that into it's own PBI and pkg_add that after making the user install
it :-P Heck The lead Developer included a handful of Linux RPMs to make one of
his PBI work since it was a Linux program any way (which was not pkg_add'd IIRC)

Now we have a simple case here - We need to test if the pkg is all ready
installed abort it with an error to the user. When removing it it would be nice
if we could do a fast check to see if any thing depends on the package, such as
user installed ports !!!!!!!!!!!!!!!!!!!!!!!!!! und abort the uninstall
accordingly. I.e. Make sure for totally clean install/removal of pkg's not just
force them in/out with a sledge hammer like a dumb fuku! Trust me I've seen it
a lot of times. It would also be nice if the user updated a PBI using ports if
we could just *remove* things from the PBI Uninstall menu.

Ok so that sorts that now. What about docs on PBI creation ? We got a few how
to make XYZ FAQs on the FAQ. Other wise it's horse dung. For example one of the
best tutorials says to tarball stuff inside the PBI which is basically a
compressed archive all ready. Kris Moore tells me not to do that - any one see
that in documentation ? HELL NOOOO!!! So we see a few PBI using it that
followed that tutorial. I'm oh most afraid to go to the SVN if you see my
train of thought here.

I see a possible return to PBI Development if I'm made to live in this words
new concept of PBI. There was only a few reasons I never jumped off the boat
and swam for FreeBSD shore after learning I could live without PC-BSD. I saw
PC-BSD as the brightest hope for the future, not only for Unix on a Desktop but
as a real operating system, world class. That was one of the reasons I didn't
just drop off the scene. So here I am for better or worse it seems.

I think I may start compiling a list of ports to prepare PBI's for in this "new
order" try to get a mass production thing going once I have time to get every
thing ready op. Then let operation Justice-Rainbow commence, details classified
with only beneficial results for PC-BSD included. I'm not sure yet for this.

Do I really want PC-BSD to succeed in every way possible? Yes but can I support
a project I feel has issues with ethical, moral, and principal concerns I'm not
sure. Well ether way I hope www.pbidir.com will see so many PBI coming in they
won't know what to do with, I only hope they are the right kind. The good kind
made with love and craftsmanship - not shoddy pieces of crap that brings a
Graphical RPM Installer into this new world. Some people know what my feelings
are about RPMs..


Sigh, even though I know I must follow the light course I think they would
deserve it if I took the darker path. I just can't willingly do that....
(censored). I've got a lot on my plate right now. I've got studies in 6
languages + html/css, I want to install lighttpd/mysql/php on my FreeBSD box so
I can study PHP. I still have not set up my printer. I've got to redo a history
test that the USPS lost, least it wasn't my final (upper 90s pass). I gotta do
a Biology course *joy*. I'd love to just set to work on what I want to do. I'd
love to just dive in to things and create the program I know I can do given the
right time... A strong language reference and documentation database and
inhaling a few dozen manuals, learning ether QT or GTK based GUI development.
PBI it and vola oh how I wish I had the time... With a week off if I didn't
have School I could put a nice dent into a few things that really need them
done. C and Ruby are my friends, it's time I get to know them better and have
a go with QT me thinks.

Wednesday, November 22, 2006

One mad Spider !

For the first time, the PC-BSD project has irk'd the wrong button on my panel. In what appears to be issues with commerical software being able to abide the same quality standards and "short-commings" of the PBI system that joe packager has to deal with. Pkg_add of the main program is now allowed in a PBI. So I guess if I wanted to make a PBI of Xine I could force pkg_add Xine and no one would care weather or not that pkg_add'd the xine lib(s) used in Kaffine and then deleted them when forcing a pkg_delete ! (Still in the hypo-theory field here). Still I find this un acceptible. Such a change should have been made all of 3 weeks after PBI's started installing into /Programs instead of another area prefixed with My :-)

In short they have had a lot of time to deside this but they do it now why ? To me it feels as if it's because compiled Win4BSD can't run that way or because with the PBI system as it is (now was) breaks it. Win4BSD does not look open source to me and I have no other problem with paying for such a program. If the program needs to be changed internally to run on PC-BSD as a PBI *They should do the Frigging work*. If it can't just work right with the way a PBI installed program is supposed to because of the PBI system rather then the program. * PC-BSD is flibbing late about making changs to fix this ! *. In short I'm very annoyed that it looks as if a commercial project can make an Open Source Operating System bow down to cater to it in order to put their product on the offical PBI directory with a stamp of approval. It would seem Win4BSD Distribute the product only in binary form. The Win4BSD people all ready offer the Schweine of a PBI for download on their own mirror. Why should PC-BSD bend over backwards to get a pkg_add frontend PBI of a commerical product on offical mirrors. It makes no sense !!

PBI were ment to be easy to install/uninstall and not touch the system directly. Allowing oen to uss a pkg_add of say konversation but not adding qt/kde pkg's via the PBI is one thing if done right. You also have to remove any lib's from the pkg used in the PBI before using it e.t.c. to make sure which is another level of work on a PBI Developer. * a frigging nightmare for PBI testers as well if they ever forget to read the scripts before installing *. If you want a front end to pkg_add theres no reason to PBI it. Just use a KDialog ina install.sh file...

I've Contemplated removing all of my PBI installs (reinstall via ports) and demanding my XMMS, Megamek, and Blackbox+BBKeys+BBConf+BBPager+Docker PBIs removed from pbidir but what good would any of it do ? I'm only a PC-BSD user, a mighty annoyed one at that. I'm not the kind of person to "jump ship" when stung but this irks me. I've all ready tried to distance my self from PBI Development for my own issues but this is beyond issue. How to wage a war for principals slain by it's founders? I'm not sure yet... Find a way I very well may. All I can say is I learned a very good phrase in German to day for what I have to say to them.

/* retracted */

This is not the last time my voice will speak.

Tuesday, November 21, 2006

BPM

I've been busy doing a few things with my laptops installed PBI's today, got a chance to try out BPM. That is the Bsd Ports Manipulator. It's a development build and warns you as such on start up.

During the install it prompts you if you want to install the ports collection, I think it should only ask if you have not installed ports but it asked me any way. Reminds me I need to cvsup later. One fatal flaw in the BPM PBIs script is that it does not work on the PC-BSD 1.3Beta which changed from cvsup to csup. I posted on the forums about it. If some one needs to install the ports tree they can use the PC-BSD System program to fetch ports (via the "tasks" tab). K-Menu->Settings->System Administration if you care. There is also the portsnap method and CVSUP/CSUP for command line usage.

portsnap fetch extract

OR

cvsup -L 2 /root/ports-supfile

csup seems to be the same as cvsup on basic usuage aside from the name. On regular FreeBSD systems you can use a copy of the supfile in /usr/share/examples/cvsup/ if you set the mirror. PC-BSD prepairs you one for ports and one for system sources but theres more in that ^^ directory. Back to BPM

BPM offers us no configuration that I can find and seems to use a GTK+ interface. I personally think GTK is a nice look & feel but it doesn't intregrate well with KDE which uses QT. All thats pointless to most users, just remember BPM dun't look as pretty as Konqueror for all intents and purposes. It offers a quick check of all ports available, all installed ports, e.t.c. as well as the catagories in a left plane. A top right plane shows the ports in the catagory and the bottom right plane shows discriptions. Works pretty nice and looks sorta like ones E-Mail clients. One can also run a simple search. It's just a standard search afaik no support for regex which also is not of importance to most users !

To install the program just select it and click the instal botton. You can break it into steps if you only want to do parts of it. I.E. fetch, checksum check, build, install, and clean. Just checking install does it all. You can click details to get a embedded console out put and even open a terminal from the app. It also supports uninstalling the thing. It's very nice but lacks in a few areas.

No support for portupgrading/downgrading
No support that I know of yet for packages (maybe a plus actually :P )
No support that I know of yet for searching with Regular expressions

It does however give you a very nice simple interface to make installing software the FreeBSD way very easy. I admit for once I did sorta skip the EULA basically so I don't remember the licensing terms other then it's free to use. If it is open source it might be worth my while to look into this application more.


food time.
Well after stints of packet loss and high pings with the ol'ISPs DNS server things seem stable again. Since I made a bit of a booboo when I uninstalled Gaim (pbi) to try to install it via pkg's so I could try installing an X-Fire plugin and OTR didn't go well. Note to self always use ports for any thing big ! I've been learning to live with Kopete. It's got the level of configuration options one would expect from a KDE program. While Gaim feels like a super enhanced version of the old (pre trijon or w/e) AOL client. Kopete feels more like the regular MSNMSGR client. I prefer Gaim really, even the AOL client was alright until they made it bloat ware.

The biggest reason to use applications like Gaim, Kopete, Trillion e.t.c. is they support many protocols ! Gaim is plugin based dunno about Kopete. Generally a Multi-Protocol Instant Messenger (MPIM :P) Client. Should support the basics, AIM, MSN, Yahoo, Google, ICQ, IRC (if not the best clients...), Jabber e.t.c. Kopete is pretty well rounded but I prefer Gaim personally. After customing it to behave more Tabed IM based (ala aim style) instead of multi-window heck (bye bye msn style) it's quite good. It *THANK GOD* lets you change the style of message displays - VERY IMPORTANT change it quick if you IM a lot, trust me ! Default font should be the standard for KDE in my case it was Sans Serif. To me it's a no frills font, changed it to Bitstream Vera Sans for now. Usuually I try to keep logged into AIM do to a few issues with X-Fire on Unix/Linux/BSD/Mac 8=) Most of the [SAS] uses both and formerly AIM was required for member ship and a Live Ops Warning/Deployment system IIRC.

Really I think I prefer IRC which is good for a more casual chat. FRI IRC is more a "Chat Room" thing then One-On-One 111 commu for most usage (afaic). MSN's ok, offical clients emotes were ok when I used it, if they are like what MSN Gaming Zone has now its great. AIM *had* a good client but emotes that sucked. What I like about aim more then msn is you can have an addy people can reach you at but they don't need to be added to a buddy list to contact you. Which is nice since I prefer IMs to phone calls and one can always restrict it. MSN/X-Fire follow what may be a more traditional model. Only buddy list contacts can reach you. I'm tempted to try ICQ some time but I don't know any one who uses it often, most of my friends use ether MSN or AIM but mostly we all settle on X-Fire haha.

Given some recent issues I'm very tempted to try and start learning Germain. At least to read/write it, I know at one point I was getting very good at reading signs in MoH =/. Germany has always interested me, in a number of ways as have a few other countries cultures. Maybe it's because of my studies about WWII and military history. The Germain language I've never learned much of, like many people I pick up a few words here/there in other languages in passing. Needless to say its one of the countries I'd like to vist if I ever had a world trip. I wouldn't want to live outside of the US but it would be nice to travel around the world a little. Any country that has H&K Weapons is worth a vist I'm sure :-)

I know all of 1 or 2 words in Japanse, maybe same in Chinese. 3 or 4 words or more of Italian most of which I can't say in polite convo and wouldn't dare try to spell. Me and my brother are two of the only people I know who can say FU in another language hehe. Not that we do, I don't and he prefers the English version just like our Mother (her favorite 4 letter word 8=) ). A couple of words in Spanish and French (more ladder then former). I know Italian, French, and Spanish are all very simular and learning one would make it easier to learn the others. I don't know how many words I remember in Klingon, dang pronoucing those right are pesky. Most of my exp. With the German language has been from my WWII studies actually, so it's mostly related to military words/terms. Not very good for a conversation really. Need less to say if it's not a computer language I'm not really multi-lingruel. Being an American and a Computer-noid. I mostly encounter people that speak English or Spanish, ocassionally both. When online usually its ether French if they don't speak english, some times Germain but more often German/English then French/English speaking. I've met about 2 or 3 people that are really good with many languages in my net time. While I have nothing aganst France, Germain interests me more <_<

Being able to read the language and understand it would be my first goal, writing it second and being able to speak it properly would have to be done along side the first if I'd ever manage it. One thing I do like about my native language is that it's so screwed up, any native speaker of English will know what your talking about. Sure US/UK is diffrent for a number of things, I remember a funny post Rouge once made about UK English taking over the world or some thing hehe. Yet the language is so nuts at least on this side of the pond. From some of the issues I've seen in translations I'm not sure how two people of the same country can understand one another some times, especially in a language like Italian. I know in the US people talk diffrent from place to place in prounced style and spelling but it's not much till you hit slang.

IMHO proper English makes about as much logical sense as horse dung rotting on the wall. So obiously with my opinions of my own language what harm is there in learning about another for fun and function ? If ones going to try and learn another language may as well be one that one may enjoy. I don't think there is any thing worse then English unless your talking machine code. I'm also a kind of nut, I know C++ is more used but I know more C because I enjoy C better.

I think I should start splitting entries because they tend to get huge and I usually edit them shortly after if I find a reason. Think I'll start trying to learn the basics over the weeki. I've got a Biology test to finish, a history test to do again. The USPS lost it I guess b/c it didn't get to the school. A "tea" trip in the morning s'like a quarter to 0400 here and gotta be out before 1100. Best go to bed before the dog disowns me.

It's funny, for some reason after about 2100 they start staring at ya as if to say whens bed time ! LOL

Sleep, sweet sleep now if the ol'brain would shut the frig up.

Sunday, November 19, 2006

rumble

Well, I've had a good day so far. Managed to get in to the server and camp the admin with a few m8s and have a good time. We've really been getting a lot of abuse reports for some reason. Oh wellz I hope it settles down soon. Didn't get to run my Sunday training session b/c I had to walk the dogs but at least we got some Elemental work done.

Been flying 'round Google, Wikipedia, and the OSI site. I love finding good stuff to read ! Spent most of the other day working on my logging app. It's a simple gizmo mentn to read and write entries from the "Captains-LOG" file I keep under /var/log. Yeah I watched a lot of star trek in the day so sue me :-P

I've haven't worked on the thing in awhile not since I started on the C Standard Library. That was a good while back. I've always had problems trying to implement functions analogous to the head, tail, and cat commands but I've made some progress. At first I tred to wrap up a copy of FreeBSDs src/usr.bin/head/head.c to include in the file, was kinda shocked I didn't screw up. Moved every thing into a sub-dir so I wouldn't lose the header for doing it. I managed to get a perfectly working head going if I called my program with the -t option and the file name. Other wise it didn't work. I've tried toying around with the code and only succeeded in breaking it, well thats the joy of being a noob I suppose. Ripped it all out and started from stratch, got a toFP function for trying to readln the top of the file, based on the head program but alais problems getting it to stick it all on stdin. I'll get it strightened out some day I'm learning more and more as we go along. When I first started with trying to convert my shell script to a C program the whole File I/O was bran new to me. I can all ready see how a ruby script would be better then C for this but I want it in C, it helps me develop my mind.

I'mg etting better at reading the code in FreeBSDs userland. I usually like to poke around a few things, FreeBSD, Vim, Nano e.t.c. If ya gotta be a newbie with out a teacher or a professional education. May as well get some good reading material !! I really like it, even if I don't understand every nuounce of it now. I still can follow the jist of how its working. Plus the more I read it and the more I toy with my compiler the more I learn. Man, I'd love some day to try and pick up a language by just using a cheat sheet reference of it and playing around trying to see how it works by exploring it. I study many languages in varing degrees. I started with C++ because it's what I had heard the most about. I don't particulary care for C++ but it was a good start. To be honest I wish I had tried to learn SHell scripting first but I didn't even know the word UNIX back then. Eventually in my bored lazy way of procastination I picked up enough basics of Perl to be able to read stuff better. I had a really old book about learning Java and programming Java Applets that dated back to like, the HotJava web browser. Way back then you needed HotJava or the soon to be finished new version of Netscape to run Java Applets ! SO yeah it's an old old book but its a fun read. Learning about Java from it thought me two things. Java is a good language and I hate writting it. I love to see software written in Java but I can't stand writting it and some pure Java programs are har don me peepers. So I learned to read source code a lot better but have only ever written a few lines of Java and don't plan on writting many more without need !

C always held a bit of a wonder for me, I used to think "Hmm if this is C++ what is C like?" Well one day I found a little tutorial that introduced me to the language. The unusual sense of humor when trying to show the basics of a programming language kept me coming back to it for more data. Eventually I just fell in love with C, it's so dang logical. I make no claims as to being able to code my way out of a paper bag in any language but I love C. It's also fun to read programs sources and learn from it. Python, a language I had always been reccomended to try is one I tried to avoid. One time I tried learning it, when on a very rare for me vacation. The white space thing wasn't as bad as I thought but I don't like the language. Just not my bag, very good language to work with though. For some very odd reason, I don't know why I think I must've been rumaging around Wikipeda and I desided to try learing Ruby. Yeah I was bored at the time so I had the time to start. My first look at Ruby was when trying to find just the right language for me to start in (people said Python or Java). I hated the site of Ruby code so I never tried it. Yet once I started writting it that day I started to like it. I find I can do a lot more a lot faster in Ruby the nother languages but I pay the price of not being familer with it the way I am with C. When I look around section 3 of the FreeBSD manual I know what I'm dealing with, in Ruby its not always the same. I love Ruby very much now and hope to consintrate my studies on C, SH, and Ruby. One day on a whim I popped over to W3 Schools and started reading about the fundimentals of HTML. Starting to get interested in XHTML/CSS now actually.

Not sure what my future holds for any thing but I remeber the simple fact. The better one reads the easier one learns to write. TTFN chores a shore!

Tuesday, November 14, 2006

vimrc

Post best viewed from here

Ahh what a day. I've spent most of my time ether on the forums or in my beloved editor of choice (vim). I desided for some odd reason to rewrite my vim resource files. I've more or less completed my ~/.vimrc file and will worry about my ~/.gimvrc file later. Really I rarly use the GUI off win32. I basically like using vim in konsole because I can quickly step in and out of editing, ether by forcing vim into the background (control+z, type fg to return to it). Yet because cmd.exe is the worst terminal I have ever used, poor if any support for cut, copy, and paste. Ignores the mouse for the most part and Windows has the tab completion of a fart in the wind. I'm kinda getting used to zsh's after using tcsh so much hehe.

Heres my vimrc file so far, edited for a few things. The syntax is about as simple as a shell script or "vim script" but the " double quote works like the # and // comments in most languages. White space it doesn't care for but it does care about line endings. Since I share most things between Windows XP, PC/Free BSD, and GNU/Linux + several computers I have to be portable in many ways. I started the file on Windows with my file format set for Win/DOS end of lines (:set ffs=dos), vim detects it and uses whats there. I usually set mine as "ffs=dos,unix,mac" so I don't have to convert my files End of Lines (EoL) when I send some one a text file. If I use UNIX eols theres no carriage returns in Notepad, it's too dumb to figure it out unlike many many other editors. Sad through is you can always count on some one to have notepad or a simular editor. Gnomes editor and KDE's KWrite are actually rather nice though. When I tried to run my now complete vimrc on PC-BSD I got a zillion errors and I new I didn't screw it up that bad, infact only one entry was wrong. I quickly figured out it must have been the line feeds, the fact that I had just setup a keybind to strip off the pesky ^M's you get in some files helped hehe. I couldn't find any quick ways to convert the EOLs so I looked them up in Wikipeda and found a way to do it with pearl, I now have a pdos2unix and punix2dos script to do the job when given an input file name and an output file name.

I've been told customizing Vim can be bad b/c of having to work with standard vim/vi but I'm a fruit -> If I want Vim I call vim and if I want Vi I call vi. FreeBSD uses nvi for vi, not vim like some GNU/Linuxes do. If some Linux Distro doesn't make vim start as vi compatible without special changes it's not my problem. I learned to use vim with just the example vimrc file. After that using Vi was easy after an hour or two. I also remember which I'm using by the fact that I call vi as vi and vim as vim + the status line I keep around.

Lines that start with two "'s are comments just for this post
"Terry M. P***** personal vimrc file

"""""""""""""""""""""""""""""""
"Editing Options
"""""""""""""""""""""""""""""""

"Don't be VI compatible - Keep this at top of file !
set nocompatible
""Setting vim to be vi compatible makes changes to make it more pure Vi, I don't care for
""this as this is VIM not VI, if I wanted a pure Vi clone I'd use one.

" allow backspacing over everything in insert mode
set backspace=indent,eol,start
""This makes life a lot easier, just trust me.

" Wrap text at n chars with a line break
set textwidth=80
set wrap
set lbr
"" To keep console portability I used to break my lines around 76~78 char
"" I'm trying this to make Vim more like other editors. Out of the box when  you write
"" a line two long for the screen it continues on the line below and is numbered as one
"" line. With these settings it breaks them like most other editors at my specified
"" 80 chars. Not sure if I will keep it but worth a test. -> Prolly good for Vim newbies

" Use spaces instead of tabs
set expandtab 
set tabstop=6
""I generally like spaces and monospace fonts more for indentation and coding.
""I do like using tabs for manually aligning data in a table in ASCII.

"set min # of spaces for numberwidth. It grows as needed
set numberwidth=2
""This keeps down the size used for the thing /w the line numbers. Defualt is 4.

      """"""""""""""""""""""""""""""
      "Tabbed Editing
      """""""""""""""""""""""""""""""
      set showtabline=1
""Only show the list of tabs when theres more then one. 2=always, 0=never

"set prefered line enders
set ffs=unix,dos,mac
""Type :help ffs for more info, can be set in GVIM via options menu.
"enable filetype detection
filetype on
"turn off ft plugin and indent
filetype plugin off
filetype indent off

"Enable syntax highlighting
syntax on
"" Syntax highlighting is very good, does stuff like making comments blue, keywords green
"" strings red e.t.c. Very nice for markup, scripting, config files, and programming.

"""""""""""""""""""""""""""""""
" Keybindings
"""""""""""""""""""""""""""""""

"Use the ";" as a duplicate of ":" makes life so much easier
"for some odd reason it cannot be followed with a comment on it's line!
:nma ; :
"" I personally think typing ; instead of pressing shift + : is the way it should be

"F1 turns on spellchecking in current buffer
map  :setlocal spell spelllang=en_us
"" I only want spell checking for certain files so this lets us turn it on when we want it
"" and just in the current buffer (like file)

"F2 turn on line numbering
map  :set number
""I don't want line numbering unless it's a source file or a big document. Pressing this
"" key we turn it on when wanted.

"F10 rids us of ^M after carriage returns
map  :%s/^M/ /g
""You have to make the ^M by pressing control+v control+m for this to work.
"" Some times you'll get pesky ^M at all the EOLs and it annoys me - strip them
 
"""""""""""""""""""""""""""""""
"User Interface Options
"""""""""""""""""""""""""""""""
"Always show the status bar with file name e.t.c.
set laststatus=2
"" 0=never, 1=only if more then one file/buffer/tab
"Show %of file remaining in statusbar
set ruler 
"" I use thse two this b/c I like knowing what line/column I'm on un obtusivly + file name
"" and how far into the file overall I am.

    """""""""""""""""""""""""""
    " MOUSE
    """""""""""""""""""""""""""
    "Start with mouse support
    set mouse=a
    "Make pointer an I-Beam in insert mode
    set mouseshape=i:beam
    "Hide the mouse when typing text (GUI only)
    set mousehide 
"" I'm used to being able to scroll around with my mouse wheel :)
"" Try :help mouseshape to look at what you can do with the mouse pointer. X11 supports
"" more options then Windows.

"""""""""""""""""""""""""""""""
"General Preferences
"""""""""""""""""""""""""""""""

"Command history
set history=50
"" Remebers the last 50 commands entered via :command

"automatic re-reading of changed open files
"set autoread
"" Gotta test this, basically if you edit in vim and edit with another app. It will try
"" to re-read the file.

" Switch on search highlighting - use :noh to turn it off after a search
set hlsearch
""highlights all matches to a /search

"ingore case when searching
set ignorecase
"" just like grep -i "I guess"

"set cmd line size
set cmdheight=2
""This makes the command line at the bottom, where you see the ":" when entering commands
"" be 2 lines high. Not really important IMHO
__________________________________________________

Some changes I plan, if it's starting with the GUI I'll have it set it so I can right click on miss spelled words and correct them. you can move the cursor to the word and press z= for a list of corrections, and use ]s and [s to search forward/back. Some times I just scroll with the mouse when proof reading so this helps. You can do a :set "mousemodel=popup_setpos" to get it after you turn on spell checking. I want to set it up so I can quickly convert a files format between DOS and UNIX via F11 and F12, should be possible.

I've downloaded a few things from http://www.vim.org/scripts/ that I want to toy with. One was a pack of 140 themes for gvim gotta sort that hehee. Another was a Matrix screen saver. It's pretty nice if you speed it up but on my system it makes me use like 50~60% CPU judging by GKrellm2 my favorite GTK Krell system monitoring app.

One of the reasons I love vim very much is it's very relaxing to us. Since I play games often as I can get a good tactical one /w my team mates. I do plenty of running. Once the tangos know your there you gotta get moving quickly (Dynamic). So in the intertests of moving as fast as is safe and doing proper B and CB entries (Bang & Breach Bang clear). I have my pinky jutted out to hold shift many times. B/C Usually I don't run all the time, I try to sneak about unless I plan on being Dynamic. So that and using my pinky to make capital letters puts alot of strain on my, now couple that with Escape Meta Alt Control Shift (EMACS) style editing. When I use my pinky to deal with capslock (hate that key), shift, control, z, and Windows. It's nice not to have to strain my fingers or wrists. I find using vim very comfortable for long edits. It's also so dang effective that I can't stand many other editors. Its like the speed and power of Vi/Vim ruins you for other editors once you learn it. I don't claim to be no Vim Master or any thing but to me its gotta be the worlds greatest editor. Vi is in the top 10 in my book but Vim >= #1 xD

The only bad thinkg is some times I press # instead of $. The $ key moves to end of line in normal/visual modes. While the * and # keys searches forward and backwards for the word under the cursor. One thing I'm looking at is a C Refernce that can be ran in Vim, might help me write files on Win32 again. Usually I prefer BSD for doing C work because I can quickly look up a routine via the system manual. After all Unix was written in C and so is largly FreeBSD and I'd reckon most of GNU/Linux which is infact made up of many languages afaik.

Friday, November 10, 2006

SAS Memories

SAS_Cpl_Spidey01, a personale history.

The first time I set foot in the ol'Training Grounds I remember following a SAS_Rct_Raptis around, A SAS_LCpl_Hollow and another LCpl_R some one where also on the server. That was roughly two years ago. I played on/off until I got serious maybe a few months before my Rct Tryout. I wasn't yet sure if I liked RvS.

The next time I started playing on TG#1 I remember JB the cool guy with a AK47, Adze as ether LCpl or Cpl and a few other members. Bronco, DM, Count, Cobra, Blade, En4cer e.t.c. Some regular on the server by the name of Grayfox I think, thought me a few simple basics when we where on another Missions server. RvS was getting cool but I made friends in another game.

Later on I pop'd in when we had TG#1 and TG#2 going with RvS and one server was running Force on Force training (Advers HR/Pilot/Bomb). I hung around epecially amazed by SAS_Cpl's Adze, Blade, and JB. Put in an app some months later, dropped away to join friends in another game awhile later. By this time I had an app in and was the only Non SAS member activly posting on the forums lol....

One day, I'll never forget it no matter how hard. I remember Random and Coop were in the server. I was so excited to see how the LtCol and 1st LT played. They worked as a 2-Man element, other SAS and my self joining in from time to time. I was simply astonished by the way these two members played together so well. I started trying to mimic what I saw Coop do as #2 Cover man and it set my favorite duty. I'd usually try to find some one to give cover to and do my best. Awhile before I met Leon. Soon after I met Recon when Allystrike wa son the rotation. Not but least Matsuro :)

My next hop several months later, I remeber meeting a SAS_Trp_Wiz and SAS_Rct_Rand out of the blue. Wiz eventially got me and felt (Python) into some uber basic training. I spent a fair bit of time along side Rand who showed me a few things. I enjoyed very much when Rand and I did a tough map together working our way through the mud and tangos till we did it without rasing any alarms. I dropped for awhile for some league matches in MW4.

After some time I returned to RvS and Swat4 when it came out. At SAS_LCpl_Wizs' advice I sent in a new app, I had cancled my origenal one b/c I had stopped playing RvS. I worked to improve my skill in hopes of being a decent applicant. The young SAS_Trp_Rand took me under his wing one day, showed me the basic training that I would need for passing a tryout. V-Coms, Movement, e.t.c. and helped me learn some Common Sense better then others did. During this time I spent most of my time training on TG#2 Iron Wrath with Rand, JB and Wiz and others hanging around. I played a good deal of S4 but I switched mostly to RvS so I could join faster. Blade got his Comp fixed and Wiz gave me TS Privs. British accents are nice. I soon got to know the members voices, ahh I remember wanting to strangle JB and Blade at first for confusing me. I wasn't yet used to playing RvS with TS2 and there was plenty of jokes here and there at funny happenings on the server. Felt changed his name to Python and became a Rct.

Thanks to the fatherly guidence of a good Trooper and the faith of a new Cpl I took my troopers tryout and passed on the second try. Relish conducted it, Adze Soon the new Trooper Python was the perfect example, SAS_Cpl soon SAS_Sgt_Wiz a watchful mentor, SAS_Cpl_JB a nudging shadow when I needed guidence, SAS_Sgt_James my corrector, SAS_SSgt_En4cer a man of tactics, SAS_Cpl_Relish my Dynamic Instructor :) I played more S4 and got to see alot more of CO Random but still kept around RvS and trained. SAS_Rct_Rasa and SAS_Rct_Leon aka "The Human Machine" where my training buddies. Around this period I noticed a few good lads. Coq_Rouge, Jso, SFC (aka Trp_Ghost), Fritz of Swat4, then another player we best know as Qwerty, and more I can't remember everyone. I was hoping most of them (particually Coq & Fritz and later SFC) would put serious effort into becoming SAS members. During this time I know Taris and Moebious left.

Soon I became a Trooper, I worked hard to make my self the best I could be and still stuck around with my ol'training mates. Wiz was Sgt by now and I think Jay left around this time. One player I noticed really looked good was Coq_Rouge, I never knew if he had an app in but I liked his style. Soon enough in time Coq_Rouge became SAS_Rct_Rouge and then Trooper. Fritz became Rct but had to leave because of family matters. best damn Swat4 player I've ever seen when it came to covering. between the two of us, we could find an angle to cover any where. I sat in on several tryouts, attended some trainnig sessions led by James and Rand. I was generally a flounder as a Trooper IMHO. One day a greenish kid pops in to the server one Monday or so. He wanted a Tryout by Wednesday or Thursday. I tried to make sure he stayed out of trouble after he became serious. Soon he was SAS_Rct_Mando and made trooper after awhile. SFC changed his name to Ghost when he became Recruit IIRC. Dave came back from the dead Coop recruited Qwerty, Jso joined us and Qwerty left us. (to put it shortly). I met Darkwolf, SDSnipe, Sacer_Miles, Noer, and others. One day a man by the name of SJMerge dropped in on IG Olsons Estate. I was like WTH ether this guy was one of us or he's like Green beret. Sure enough he was a SWAT officer home on pain meds from dential surgery and has never played so good again ! haha. I poke'd a bit for him to invistigate SAS and hoped very dearly he'd drop us an app. I was happy to see my friend Rasa become the first of us three stooges make JNCO (LCpl to yall). Eventially SJMerge,Hexen, Noer and Miles became Rct but much later on then this. Around this time after awhile LCpl_Rand dropp'd off the map. Some time in this period, Random stepped down and Heim became CO. Bronco left us and some AWOL members got took off the mighty page.

I met Lazkostriker and Foxthreat some time before or after but I was stopping to play S4 alot in the hopes of getting closer to training ops. Blade and JB became Sgts, I think some one must've sent GCHQ a few rounds of white russians because eventially Rouge, Leon, and Recon became LCpl and so did I. I resigned to the fact that I was given another chance, try and be helpful. I've done what I could. I lived to see desasitors strike. The "Sabre Incident" as I call it. Squabble between RSM_James, Capt_En4cer, SSM_Wiz, most of Sabre pissed. All three where demoted in the end, two trying self demotion /or resignation. GCHQ sorted it and things where water under the bridge. Shield had become CO a bit before this when Heim had stepped down. Mando left around this chuck of time requesting Vet from GCHQ and got it.

Fences mended and life continued. One day before or after Sabre our site got cracked and we fought back without sinking to there level - Heim even threatend to sick lawyers on him. You don't want a Doctors lawyer after you !!!! That poor sods not coming back me thinks. Then one day a ruckus between the command structure aka the James incident. James was kicked out for disobeying Commanders orders about the Admin controls or some thing. Rand put forth his request to be removed from the roster after a few months abense. I don't care to remeber or hear it put forward. Eventually this up roar ended in peace. One day Random made me cry, he went veteran. Noer became Trp, Fox and Lazko rcts soon enough Foxthreat was a Trooper. Blast him even as a new Rct he fitted in so well you'd hardly know he wasn't born a [SAS] Trooper.

Wiz took care of the site, Shield kept order and joined the army and took care of liife while we grew stonger. Random returned, En4cer and Blade where home. We had a nice admin reform at a price of dear blood. I saw changes in the recruitment process and Sacer_Miles and Hexen become our gina pigs for testing it.

I saw my friends Leon and Rouge become Cpl and Recon go vet. Some one must have been drinking because I was asked to start learning about tryouts, after doing my first tryout I was promoted to Cpl soon after. I now work

Troubles with the site and idiots out to break into it caused problems, eventually the admins shut it down to stop attacks and Wiz rebuilt the site for us and eventually it was restored to working order.

This is as much of [SAS] history as I've lived through, more or less in cronological order with as many details as I can recal right now. I'll probably edit in more if I remember it tonight, I also need to finish editing in my additions to my PC-BSD review before I post it in the PC-BSD Lounge.

Thursday, November 9, 2006

PC-BSD Users Review

Well, I thought it was about time I got around to doing this properly.

I've been using PC-BSD for approx. 10 Months so I've had enough time to see what life throws at me with it. My first install was 1.0 Release Candidate (RC) 1 and I currently run PC-BSD 1.2 (the current release) on my laptop and have a beta version of 1.3 installed on my desktop for testing. This will cover PC-BSD 1.2 and PC-BSD in general.

PC-BSD is primarily for desktops but makes a darn good laptop/workstation system. I won't cover installation details as this is changing in future versions and often reviewed. My reviews sole interest is in a End User perspective (imho).

The Desktop. Well the default desktop on PC-BSD is pretty simple, it uses a program called "KDE" to put it simply to offer use a sweet system. The prepared setup is what most users should feel comfortable with, bottom bar with a applications menu and a few icons (personal files and web browser/file manager IIRC). A system tray and a clock, task bar in the bottom bar showing all running windows e.t.c. Trashcan and a few Icons on the desktop with (currently) a nice blue PC-BSD wall paper, in the old days there was a yellow field of flowers on a mountain top. For stuff a new user might not be familiar with let me explain some stuff. We have a simple applications or "K-Menu" that you click on the icon (the red one, bottom left corner.) and it presents the usual. Neatly grouped into catagories such as Games, Internet, Multimedia e.t.c This is a lot more logical then a certain other OS which tries to hide and poorly sort it's start menu by default :P

You should probably have a "House" like icon, clicking this opens Konqueror in file manager mode to your home directory. A home directory is a users personal space, by default you have folders such as Documents, Images, Music, e.t.c. You should have another icon next to this that when clicked should open Konqueror ether as a File Manager or a Web browser (it does both). You can think of Konqueror as the Windows/Internet Explorer and Finder/Safari of PC-BSD. It's got a Mozilla Firefox feel to its web browsing but is not a Mozilla. Useful options for it include tabbed browsing (soon to hit Internet Explorer via Suggested Updates), spell checking, downloader, password/form manager, Google tool bar and quick Wikipedia lookups and more. In your system tray you should see a number of little icons. A clip board named "Klipper" that helps with cut, copy, and paste operations. You can cut (control+x), copy (control+c), and paste (control+v) like normal and you can highlight text with your mouse and press in the mouse wheel (button 3) to paste it without using your usual CC&P stuff -> And keep two things copied ! If you ever want to recall some thing you copied you can click on klipper and find it to use again quickly. It can also be cleared for privacy needs.

You will have a network applet giving status of your internet connection, you can open it give it the admin password and toy with your network settings if needed. The tool is borrowed from DesktopBSD and supports WEP crypto for Wifi users. (PC-BSD supports real crypto but not in the DBSD gui). Laptop users are least, a battery monitor, KOrganizer a nice Organizer program and possibly a volume control. A number of programs can be made to use or not use the system tray, so with things like Kopete (instant messenger) you can choose if you want a system tray icon or not. You might notice a little set of boxes around ether side of the panel. This is called a "Pager", how it works is simple. If you open konqueror it is on the current "Virtual Desktop", you click one of the boxes and your on another "Virtual Desktop", you can open KMail and check your mail then click the first box again and go back to konqueror. Completely different sets of windows on different work spaces. For new computer users this is not some thing you need to care about but for "Multi-taskers" it rocks and rolls. Theres also some eye-candy replacements for the pager you can install. (I recommend kompose).

Configuring your desktop is pretty easy, right click on the desktop and click configure desktop. It'll open a nice window to setup options such as: Desktop background (Wallpaper), which can be set to a different one for each virtual desktop. A number of expected options are available including the option of making your wallpaper change over time automatically (Slide show). On the behavior tab you can change how the desktop works. Things like what the mouse buttons do, device icons e.t.c. On the Multiple Desktops tab you can specify the number and names of the Virtual Desktops you want. I'll have 2 to 4 depending on wall paper moods. Currently I run 3 Virtual Desktops. On the Screen saver tab you can set your screen saver and it's settings. Clicking the Display tab lets you adjust your screen resolution, refresh rate, and monitor power saving scheme. Usually you should have 800x600 or 1024x768, on the PC-BSD beta I got about 1280x1024 out of the box. If you can't select the res you want you will need to edit a settings file with the details of your monitor. (You can try to have it do auto-detection). You can click on the bottom bar or "Panel" to configure it as well as add extra "applets", icons, more panels, external task bars, a kasbar (which would be more familiar to Windowmaker users) and all kinds of stuff - as well as configure your panel. I usually run my panel(s) transparent. Currently I have 3, a really small one lower left-hand for the K-Menu, a Konqueror profiles applet, and Seamonkey. One lower right hand for a system tray and one up top that is a "External task bar" that I have set to auto hide it self. By default you just get one panel across the bottom of the screen. If you click the little arrow on the edge you can hide/unhide it all together.

A lot more settings can be tuned from the control center under the K-Menu or there applets listed in the K-Menu under "Settings" including user management.

Ok lets talk turkey, uh software. What can we do out of the box with PC-BSD? Well lets have a look see. We have a number of games listed in Games-> Arcade, Board Games, Card Games, Tactics & Strategy, and one under Kids in the K-Menus games folder. Good fun for wasting time, I'll let you decide what to play. My only complaint is no Chess or Centipede included out of the box :@ But for solitaire lovers there is kpatience which is like 20 different solitaire games in one, found in Games->Card Games on the K-Menu.

If you need some graphical software we can use Kolour Paint for simple art, KSnapshot for taking a screen shot of the desktop. As well as a bunch of image/file viewers including decent software for viewing .pdf and .ps files. I suggest Inkscape or Gimp for real work, see www.pbidir.com or ports.

For the Internet lover in all of us we have a lot of software. We have Akregator a RSS/Atom news reader - I like it and it exports/imports to OPML and XML. KGet download manager, a nice app if you need it which also has konqueror and system tray embedding options. KMail the default E-Mail client. It's nothing special but it does have Pretty Good Privacy (Crypto) support built in afaik. Works ok but I prefer Seamonkies mail&newsgroups. It has import for *Mozilla/Netscape, Outlook Express, Evolution mailboxes and more. KNetAttach a Wizard for network resources. KNode a rock'n News reader (USENET or NNTP Newsgroup). I like it very much although I've yet to be able to find a decent news server. KPPP a GUI for dealing with Dial up. Best forget Dial up in this age IMHO but if it's all you got... Ksirc a very simple, user friendly if not feature full IRC (Internet Relay Chat) Client. Konqueror a web browser and file manager with good standards compliance. Safari or Firefox users should feel homey with it (layout and UI respectively). Kopete a Instant Messaging Client that supports MSN, AIM, Gadu-Gadu, Novell Groupwise, ICQ, IRC, Jabber, SMS, Yahoo, and it's own prototype protocol out of the box. You can be logged into multiple networks at once in one buddy window. I don't care to much for the client, it feels more like traditional MSN/AOL/IMs in general. - I like Gaim which is like the new AOL AIM client but without the adds or bloat. Kopete is great for Joe user though. A few MSN clones are available on www.pbidir.com as of this writing called. One called aMSN is made to make MSN users feel at home in many ways. You also have Remote Desktop connection and sharing. You can even connect via VNC and RDP. On Windows XP Pro you can use RDP for desktop sharing but on Home and older systems you basically can only connect not share I think. KDE has two programs one to share one to connect. The X Windows System offers a limited form of this as well using it's own technology.

For Multimedia work we have a few nice apps. Since various countries have laws and such you may as well go to www.pbidir.com, run a search for codecs & download the "Essential Codecs PBI" so you can watch encrypted DVDs and play MP3/WMV/WMA files and the like. We have KAduioCreator for CD Ripping. You will need to setup the encoders. I've never used it as I don't really buy or download music often but you can setup most you will need. You have OggEnc (.ogg files), Lame (.mp3 files), and FLAC (.flac files). KMix for adjusting sound settings. KRec a recording tool, Kaffeine the standard media player. I personally find kaffeine a bit jumpy but in PC-BSD 1.3 it's looking at better stability as it's been upgraded but still not perfect. You can play DVD, .avi, .mkv, .wma,.wmv, .wav, .ogg, .flac, .mpg, .m4a, allot of stuff basically if you install the Codecs PBI. I personally prefer Amarok for music and MPlayer for video. You have KsCD a Analog CD Player - if you can't use this it's because your computer does not have the cable between CD-ROM and Sound card for analog playback, use kaffine instead. I think KsCD will be dropped soon ! Theres a few more stuff here but it's not important. There is also MPlayer for the advanced Move Player in all of us. The new All Codecs PBI works with MPlayer unlike the Essential Codecs PBI and should be able to replace Essential Codecs. If you uninstall the Essential Codecs you'll have to change settings in Kaffeine to play *WMV files. In 1.2 MPlayer was poorly compiled and doesn't have GUI support but in the 1.3Beta it's done right (includes gui support). I recommend the Amarok and VLC PBIs as well as the codecs:)

For Office users we have basically a few good apps including Kontact which combines a number of programs into a single personal information manager. From it you can use the supplied E-Mail, Notes, Newsgroups reader, RSS/Atom news reader, To-Do Lists, Organizer, Alarm clock, Address book, and theres even a few tools for Palm pilot people, I don't own a PDA that advanced so I can't help you there brother. If you want some solid office work go to www.pbidir.com and look in the office category. You can find word processors, spread sheets e.t.c. There is also the OpenOffice.org and KOffice office suites that each give you a full featured office suite. I love MS Word as much as the next person but I prefer OpenOffice to the other options. Especially since Open and K Office are Free and Open Source where most Office suites are closed source and cost ALOT. OO.o gives a word proc, spread sheet, database, image, formulas, and presentation program at least. KOffice gives you the mother load.

A number of basic utils are around including. KSysGuard a task manager, KInfoCenter a detailed system information tool, KNotes sticky notes for your desktop (I love this app), KJots out liner, KCron task scheduler, Disk Usage, Floppy formatter, and a removable media util. USB, CD/DVD disks should auto-mount with a pop-up asking what to do (usually).

We have a bunch of accessibility tools which I hope will be expanded in future releases. For utils and candy - We've got KCalc the most important item (a calculator), SuperKaramba desktop widgets which might be familer to Mac OS X users more so. You can have little applets on your desktop like system monitors or Media player controls e.t.c. You've got KPGP a crypto tool and shedder (hoozah), Groupware Wizard, Alarm program, news ticker and a few other apps. Theres an Archiving tool named "ark" that will handle compressed archives. It can handle Gzip, BZip2, Zip, Tar, LHA, LZopped, BZip, Debian pkg, AR Archive (.a), and with support tools added via PBI or ports 7z and RAR files, Users of OLD versions of PC-BSD had to install support for .ZIP but now it's included. You'll still need 7Zip and RAR from www.pbidir.com though :D

Most people should be familiar with .Zip no matter what OS your used to. I reccomend using GZip which gives .tgz or .tar.tgz files depending on how you use it. For when your making a compressed file on PC-BSD. Use the .zip for sharing with Windows users. Bzip2 (.bz2, .tar.bz2) or 7Zip (.7z) is nice if you need smaller files too. Unix likes are a bit different about this then just Zipp'ing it and that warrants an article on it's own. I just suggest Zip and GZip formats depending on your needs.

For the most important programs we have the Text Editors. KEdit, KWrite, and Kate. KEdit is a very simple editor, think of it like Notepad. It's ok for quick edits and supports some basic key combos. KWrite is a more powerful editor and what I recommend. It has syntax highlighting which makes life easier when you edit a config file or if your writing HTML or a script e.t.c. I think you can also do spell checking IIRC. My favorite is Kate, you could say it's the Midnight Commander of editors. It has a small file browser, terminal, and embedded KWrite editor in one window. It's very good for writing console software and it's geared towards programmers. It uses KWrite for editing afaik but with more just for programming :)

Kate is very nice and is more configurable then KWrite or KEdit. Also last but not least you have the humble "Konsole" a Terminal Emulator like cmd.exe or XTerm. It's very nice and supports tabs, my favorite way to use the command line. CLI Warriors and GNU/Linux/BSD/Unix avids will find a Bourne style shell as sh, the Tenix C-Shell (tcsh), and he Bourne Again Shell (bash) installed. The "sh" is based on ash not linked to bash so be careful when scripting.

I find that PC-BSD is very configurable and allots me a lot of freedom without me having to break it's arm. A lot of the software is Free and Open Source (two different things). Theres a few commercial apps that come as PBI as well. Underneath PC-BSD you have a full FreeBSD 6.1-Release (as of this writing) system. You can do every thing with it you can on PC-BSD but keep aware that PC-BSD add ins are centered around KDE/QT. So if your heart is set on running GNOME your likely to run into problems here and there. In my humble opinion the weakest point for PC-BSD is multimedia. Generally you can play any thing but some times it can be a little bit of a hassle if you don't like Kaffine and Realplayer (see www.pbidir.com or ports). The biggest issue is that it's currently limited to flashplayer7 which only works in Konqueror. For some reason it crashes all other browsers. Some people have had better luck using ports but I don't like flash content very much so I have not toyed with it. As GNU/Linux gets flashplayer9 support so will we soon. After all you can run GNU/Linux binaries on *BSD hehehehehehe.

I've found you oh most never need to use the command line but it does make life easier. It's so much more powerful then DOS based stuff it rocks. Usually you can do a lot of "hand tweaking" by editing files, this is also how a lot of special operating system oriented changes are done (system admin stuff). Yet most programs you can modify it by text files as well if you wish. Some times you can access settings not tunable from the GUI :)

There is full access to PBI, FreeBSD ports, packages, and even GNU/Linux RPMs via a Linux Compatibility loader but that means dealing with GNU/Linux Redheaded Pest Management (RPM) or installing other GNU/Linux packmans by hand. You will find approx 16,000 programs available for PC-BSD right now and many GNU/Linux applications. The stock of PBI are picking up as well but still are very few in comparison.

What about security? Well we have 3 professional grade firewalls included, they are a little bit involved to setup but heck if it's good enough for Yahoo's security it should be ok on a desktop <_> In the next release or the one after we should be getting an easy way to configure the OpenBSD firewall "pf", the foundation of which I feel has been laid in the 1.3 Beta1 installers advanced mode.

The system follows the old school approach to user security. The core concepts dates back to like MULTICS in the late 1960s for Multi-User systems - they still are as useful today as they where then. By multi-user I mean any computer used by more then one person. If your the only user of it, user management is only as much concern as what you have on the system. You see back in the days when a Computer cost so much no one could own one. You had to be like a University or IBM to have one. So time was very valuable and one computer had to serve many users. Once a true "Multi-User" oriented systems came about instead of the limit of one user at a time, computers could have many users using them at once. PC-BSD supports this as well in modern style. You could actually have 10 people working via a Remote Desktop or Secure Shell (or both) setup on 1 box + some one sitting on it while the others are logged in via the network. To be honest outside of business use, all this matters to use is the concepts that makes the system inherently more secure by default practice.

Every person has a user "account" to log on with, preferably with a password. You can use a blank password but it defeats the purpose of security -> Any one can then use the account. The account should consist of your login name and password. Your first name or your initials are good choices for a account name. Passwords should be 6 to 10 characters and contain more then numbers or letters. Because of internationalization you can only use letters and numbers in the installer but you can change it to any thing you want after boot up. Ever user has a group, a group is like a department. At a small business you might groups like accounting, clerks, billing, e.t.c. Every file is owned by both a user and a group and has certain permissions for three kinds of users. Permissions for the owning user, the owning group, and permissions for every body else. You can be a member of any number of groups. Permissions are for Read, Write, and Execute. So you can control who can do what with your files. A good example:
User           Group
Joe            Joe
Jane           Jane
Tim            Tim, Joe

If Joe wants Tim to be able to edit one of his documents he can set the file permissions to allow members of his group Read and Write access. So if the file "Tax Returns.doc" was owned by Joe of group Joe. With permissions Read&Write for Joe User, and Read&Write for Joe Group, and Read Only for every body else. Tim could edit the file because he is a member of Joes group. Thats the basic thing about it, it's really very easy to set up such things if you own the file. PC-BSD uses FreeBSD underneath so you have support for Mandatory Access Controls if you want to set those up.

Every user account has it's own folder called a "Home Directory" for there personal files, for the most part you can't delete or edit any thing outside this directory from your user account. So no worries about some one trying to delete part of the Operating System or installing some program globally without a heck of a good fight :D

What if you want to do some thing like edit a configuration file? For that there is a special account called "root" or the super user account. This account is like the GOD account. As root you have unlimited power over the system - even files root does not own. This is why the root account is used for admin work, changing special settings for the OS, installing software e.t.c. You can create more if you want or make yourself a super user. It's not worth it unless your prepared to risk screwbing up the box though. ^_^ You can switch user to root in the command line at any time if you belong to the group "wheel". I don't know why they call it that, you could change it if you really want as the computer only sees User ID and Group ID numbers (which you can set/change/view too). If you want to run a program as root, you can type "kdesu appname" into the run dialog (wihout quotes). Logging into the Desktop as root directly even over the network is disabled by default. You can allow this if you want to reduce security. PC-BSD is not the worlds most secure OS, OpenBSD is but it tries to make it reasonably secure for every one. You can make it as insecure as you want if that rocks you boat...

Using the "root" account directly is just like running as an Administrator on Windows XP only you never need to do so directly. When you try to reach an option menu only root can or install a PBI. The system will ask you for the root password in order to launch the program or applet. You can even have it remember the password if your lazy. For day to day work you shouldn't need to care about this, it's when you do some thing only the person who owns the computer should allow done or in the case of business the guy/gal who is responsible for every bodies computers at work. I use PC-BSD daily and usually don't need to use a password after I've logged in unless I want to install software. It makes e feel better that malicious stuff can screw up my files easy enough if I let it but can't delete my operating system so easy. Don't even have to worry about your employees installing Doom behind your back if they are not admin and few have need to be. Nore do I have to put up with other people being able to edit my files out of the box unless they have my permission :D


Pros:
It's free
It's Open Source under a BSD Style license
It's a custom FreeBSD system not a Fork.
It's Easy to use and intends to be
A lot of good software is available at no cost
Extremely limited Virus or Spy ware threats. (Currently)
Can run most GNU/Linux software (not tied into the kernel, i.e. drivers)
C/C++/Perl/Python developers should feel at home, QT/X11 Open Source Edition included.
Many languages and developer tools available.
Updates are easy (PBI) and full access to FreeBSD methods.
Solid update path between releases (no BETAs !)
It's stable and has good reliability
Low total cost of ownership
Custom kernel builds for better Desktop use (Video support, PF, e.t.c.)
Includes a kernel build for Single Processor and SMP systems (Multi-processor and Dual Core machines).
Free Community tech support
PBI makes installing some software quick, easy, and painless
Most common desktop software needs met out of the box or with ease
Has a KDE based Desktop and Integration
A lot of information available online.
Can dual boot with many other OSes.
Java Runtime and SDK can be installed with a few mouse clicks
nVidia wants FreeBSD to have good drivers and PC-BSD makes installing them a snap.
Runs pretty well with a 500Mhz Pentium 3 and 384MB of Memory.
The FreeBSD handbook is very good for a lot of things
Can be good for Laptops/Desktops/Workstations, possibly small business file servers.

Cons:
It sucks for DirectX (Win) Gaming.
Getting a working flashplayer can be sticky (for now) this is a pro imho hehee.
May not support all hardware
Supports newer hardware slower then Linux.
Support for many popular multimedia formats require a easy install package.
Limited support for Windows software (via WINE) -> very crappy imho for any thing major
Wireless support takes some additional configuration right now, easy setup is limited to WEP - full support via conventional methods as of PC-BSDv1.2.
Professional phone support costs money.
PBI installed programs cannot interface with traditional FreeBSD ports/packages most times
Most "Special needs", Shareware, and Mal ware softwares do not support GNU/Linux, *BSD, or Mac OS X.
Poor integration if Gnome desktop is wished (not fun to do, curse the Gnome heads for it though)
Most businesses only offer Wintel support (see below)
Uninstalling Windows or Mac OS will probably void your vendors warranty.
Included boot loader is poor for multi-hard drive setups (use GAG or GRUB)
Does not support VisualBasic or natively Microsoft/Apple extensions to languages
Don't even think about DirectX...
Cannot run as a 64-Bit OS (but supports the 64-Bit CPUs in 32-Bit mode)
Intel graphics cards are poorly supported (but thats true any where !)
Does not support _very_ old CPU architectures(< i686). Such as AMD K6, Intel 80486, 80386, or 80286s. Needs at least 384~512MB of DDR Memory or 256+ MB of DDR2 memory to run fast enough for me. The FreeBSD handbook only covers traditional FreeBSD methods. PC-BSD website
The PBI Directory
PC-BSD Forums

More Unix basics are not within the scope of this review and are for another Blog entry.

If any one actually reads this, feel free to drop a comment or a question about PC-BSD or visit the PC-BSD support forums.
What better place to write a review of some thing then on my Blog 
                       ^^<(^^__^^)>^^

As for parting words I've just got to say :)

We don't have any Blue Screens of Death, we have a Blue Wallpaper !

Stable, Free, Open, Powerful, Functional, Secure, Easy, Customizable -> PC-BSD is fun muahuahuah.



Edit -- as of 2008-09-09, comments have been closed. It's been ~two years and I'm tired of managing spam-bots.

Monday, November 6, 2006

Fuuy

Note to self, don't trust LJ's auto backup to retain what I've written when I've got to leave before finishing a post. Always save it to /Lexar/var/tmp or G:\var\tmp first !

Saturday, November 4, 2006

Ugh


Loneliness is the worst pain in this world. It constantly eats away the person's heart, and can cause the person to hate, to feel enraged--the same rage and hate that can cause one person to kill another. It is like a wound of the heart; the type of wounds that cannot go away with a kiss or a hug. The only thing that can make this great pain go away is love and compassion, another human heart to pull them out of this hell. —Diana

Too true...

Any way, spent a bit of the day thinking about a Shell written in ruby that gives access to ruby and possibly shell commands at the same time - right on the command line. Also about a plugin for vim that might let me post to my LJ from Vim xD

Being a man of many shells among other things I've been toying with the Z-Shell. It's about has heavy as KDE or GNOME as far as shells meets Desktops but still good. The man pages are a bit of flood but thenew user config thingy is nice. I've set up a nice little .zshrc file. I've ported my aliases over and it has most of my enviroment specs all ready. Usually you get a default prompt of ether $ or % but zsh's was hostname$, which is what I use for root so hehe never mind. I've got the prompt setup to be like Username@hostname$ only the hostname is really in bold and the $ is green :-D

Also I've got a time display at the end of line or "Right Prompt", if I type till I hit it the clock hides it self. So far nice shell even if it seems to have a built in FTP client. ZSH is very configurable and it looks like it even has typo correction ability. You really just got to look through the config program and a few FAQs.

I've switched my laptop from KDE/BB back to KDE/KWin, replacing the blackbox toolbar on the bottom with a transparent auto-hiding external taskbar up top. Now if I just had a clock easier to read then GKrellM2 without running a shell or any thing >_< Most of the rest of my day, what else can I say? Life sucks some times. It feels like I get blamed for every thing.. Maybe I should get more into computers or more into "regular" things I just don't know any more. Online, I have a life worth living. I'm a corpral in the [SAS], I can teach people my trade and help others to grow. Who knows in time maybe Miles will follow it into NCO'hood. I hang around PC-BSDs community support forum and drop by ZoomCities forum from time to time (an IT nettunity for say). At least I've learned enough about this system I can be a little bit useful. One of the reasons I love computers, is that they are like me. A computer will do what you tell it, not what you wanted it to do. Obiously if I say iterate over this 10 times and do this the machine will. If I'm told to get a book off the top shelf by george I'm looking for one on the top shelf and wondering what book they wanted me to get >_< HEhehehe I can't help but chuckle alittle. Here, I'm free. Yet here I'm $#!+. At least online, well I wouldn't say I'm usually respected but I'm not disrespected. They don't threat me like a retard on the net. If any one whose ever followed my forum activity (which is freaking embarrasing really). You can see I've got about 7,500+ posts between 3 forums over the course of > 2 years to < 1 year depending on which one. I've rarly failed to put forth my opinoin of comments.. yet in the real world I'm rarly talk. Who do I have to talk too that really gives a crap ? Ya know a plugin for *Mozilla and Konqi to use nvi editing on text posts would be nice. I love computers and I love CQ Tactics and the team work that goes with them. I think if I put the haul into the PT I might even be able to make it as a Cop with some luck. My time with the [SAS] has broken me for the typcial erratic gaming group, I need teamwork. I usually prefer tactical play with a realistic PoV. We play in a very simular mater to real world units and I enjoy that. Needless to say few people even gamings are close to what the [SAS] has and less care about "tactics". Yes I do prefer a good game of chess when I can get one :-P Sigh.. I'm also the only one here with, well any compentcy (if you call it that) with a Unix like system. Most people I know, I don't mean to be mean to friends or any thing but PEBKAC issues are more likly then Windows crapouts some times I think when some one can be counted as Joe User. Love life? Why bother. I've got about $10 to my name till December and it's likly every thing I get then will half to go for bills. A new company took over so the rent is due the 1st or you get $80/day late feels and a 8+ year resident family gets paid on the 3rd of the month. This means when the lease is up it's time to move or be one month ahead, so yeah... Ballocks as always. I don't mind the $, but it's not fair to the tennents. What does love mean to me? Every thing that matters. I have nothing but the shirt on my back and the computer'dexed info in my brains measly 340Kb. I just feel like screaming Serria Hotel India Tango repeatidly and loudly. I don't really curse alot (off work...) I did for a while and when I was little. When I was about 5 I desided not to curse any more. Well my family is known to use profanity often ^_^ Around the times one of my friends died, I started out cursing a wing mate online (a US Marine to boot). Eventually it was [SAS]_Sgt_James who rung me in as I was a [SAS] Recruit at the time. So now I generally keep things PG13'ish and PG on the servers. I know it wouldn't do any good but it would feel good. What was tha told tag line? "I'm mad as hell, and I'm not going to take it any more!" Well I agree with that, only theres not much I can do. Usually I'm the "Chopping block" for stress releif more often then I can releve my own. Fuuy, I'm not sure whats worse. Thinking about my life as I right in a journal or not being able to sleep because my brain won't take a nap. Usually when I t hink about things I want to post, or do I have no time to do them and little to no computer access. So when things do catch up it's a long blog post. I really would like to get more into Ruby programming, it's a good language and I know I could go farther in it. I've been learning more about sed and I've been righting a little "YANSHELLFAQ" or Yet Another Shell FAQ, well it's really a tutorial/guide book really. I'm trying to get it sorted and it's basically ment for newbies. I intend to append a link to the post here (where else would I put it then my blog) in my PC-BSD forum sig. That way maybe this blog could help some one, especially if they are like I was not to long ago. Yarning to learn but with little aid to do it. I don't think nothing would please me more then to have the love of my life with me. Some one to share my soul with and vice versa.. but I know its not going to happen any time soon. Lovers are easier then loves. My mind seems to bleep between subjects doesn't it ? Oh well, can't really help the way my mind works. Usually my thinking is half structured. I'm very good at holding a thought and working it over piece by piece, if it interests me intently. The problem is by the time I can implement it I've moved on to other things. Just like this sentance >_< sigh... What to do, oh what to do this far 0620Z in the morning. I just don't know any more but at least it feels better to flow through keyboad then roll with thoughts. I suppose a live journal is a poor outlet for things that should be shared with a live person... but well how many live people would I can talk to would I like to share every thing with ? Not many, even family (I'm generally family oriented).

One thing I do hate about putting together 20-Year plans is that if your approching your 20s in a few years you gotta remember what good starting 5 years ago would have done. I hope maybe, when I'm around 21~22 I can see if I can get a company to pay for my certifications and give me a job. Heck, if they'd pay me a good $2500 a month and give me good terms for network usage of my _personal_ computer they'd get a hard worker.

What I mean by that ^^ is I can run what I want on my own computer (personal laptop) without any ballocking. As long as it's on my own time. I'm usually on a few forums, several web sites, a terminal, a console and a few IMs / IRC channels just at home. Thats not appriate for work but I'm not going to be forced not to run what to get my job done. If I want to use Seamonkey for my browser/mail I'm sure doing it ! I'll PGP the mbox before going home if they want and only use it for business but I'm using my choice of client when it's the computer I paid for!

Other then that, hell as long as I can make enough to live I don't care what they pay me if I'm around computers. I get the concept of $2500 from basic bills where I live. S'bout a good $650~800 rent any where I know of for an apartment. Figure money for utilities and supples (like FOOD!!!). + Transport e.t.c. It adds up. If I don't have to spend my time worrying how to make ends meat, I can keep my brain on the computers. >_<

I remember we once figured out it would take a couple about $1600 a month just to handle a roof over head, food on the table, and utilties. Cars and Kids not included so lol it's not a bright picture. I know one of my friends in the [SAS], he's got to be like 30 and still lives at home for one simple reason. It costs to darn much to move out !

A man and a woman together can be hard pressed let along a single person. If I ever get god work I'd hope to get an apartment. To be honest, I'm more likly to not be able to well, can't talk about probably. Then to end up married any time soon.

Some things in life are just painful, love and hate are but a hairline. Passion and pleasure how far apart ? What once was thus no longer. RIddles eh? I'm not proud of this world but it's all I have to keep sane. If the "Private" post option wasn't stll viewable by the administration I'd probably post more about a few things just to get it off me chest.

It's funny though, how two people could go so far yet sink so low. To the point of knowing anothers mind, yet through a course of life that is hard to explain. **** I quit. Mmm odd my HDD light is on and gkrellm showed a nice low bust of I/O on ad0. Maybe it's a cron job set to run around 0640Z. It's just I want more to life and less of certain matters.

Whats my 20 year out look shaping out like? Well...

Get at least a good level of scripting ability and manage time to learn programming properly by retirement.

Would be nice to be meet a sweet woman.

Job that lets me work with, on, and around computers for most if it.

Learn every thing I can about using, running, and adminsitrating a FreeBSD system.

Advance in my networking knowedlge and computer ability.

Maybe learn how to spell this time of morning

Hopefully have an apartment of my own

A few bits of change

Try to wok out some method where I can put 10% away as sort of a "Carry over" fund to save for the future and bad days. 10% to let me be giving when I see a chance to help out. And keep bills paid.

I'd love very much to be a father and a husband some day

Eventually, get to be Free offline in public as I am online or when with friends or alone.

I'd love it if I could implement all this, a few parts are just in GOD and fates hands but the rest I know I can try to do. What sucks about planning to meet my goals is knowing I'd be there on ideal time if I started earlier.

I really started getting into computers maybe 3 years ago, now in less then a year of *BSD look at how far I've come? I'm sure a shell no exbert but I'm learning, I'mloving, I'm having joy. Even the idea of spending all day to install NetBSD, set it up (not an easy task), and get it cooking for duty would be my cup of tea. I love this stuff. I know if I had the ability and freedom to do a few things I could work on the other issues. Having a few bucks around and transport helps.

Mmm what to do with another matter... I just don't know any more.

I've got to do some ting, maybe I'll go to bed..

Friday, November 3, 2006

Vi, Macs, and Shells

I've so got to get or make a Vim plug in or some thing for this.

So far I've come to a cross roads, I can keep my editor or I can become more Emacs compatible. On Windows I use PuTTY for a ssh client. I don't know what the terminal emulator is but it sucks. When working on Vectra I effectively have no insert/home keys e.t.c. or Numpad which is bad because I'm accustomed to using the home and end keys in my line editing. This means ether live with only cursor keys and backspace for line editing or relearn the Emacs navigation commands. Control+key is used, b for back one char, f for forward one char. p for previous command (up) and N for Next command (down). e for end of line while a is used for end and home key replacements. Using the meta key (generally alt) turns this up a notch and uses larger units such as forward a word instead of a char. I'm used to using control+u and control+w in line editing - I don't know if control+w has effect in Emacs but control+u doesn't.

Needless to say I don't like Emacs ! I used XEmacs as my editor at first but I fell in love with Vim after I started getting into shell use. You could say learning the shell helped me learn Vim and vice versa. I didn't like vim at first and I'm only now starting to use gvim off windows (konsole is better then cmd.exe). I'm very used to Vim so I am also used to Vi. My vimrc file makes it easier to use but since Vectra is very light on the software I didn't install vim. Vi is good enough and ee for when I'm just pissed.

Vim/Vi is very simple to use once you get the hang of it, Emacs is just wrist strain. So now I ask my self the question: What about Vi editing mode? The Bourne and Korn shells support it as does the Z shell AFAIK. However I use tcsh which does not. So if I want to use this editing mode that means use another shell. Vectra only has sh and tcsh. Being FreeBSD the csh is actually tcsh but not like how bash is commonly GNU/Linuxes sh. FreeBSD uses ash as s, a very light Bourne shell clone. I could install any other shell I want really and a ruby shell would be kind of cool if it could fuse an interactive shell, scripting and ruby into one package. The problem is if I get used to vi line editing in a shell I'll be ruined for any other shell !. I've yet to decide but to be honest with the Vi editing mode I think sh is livable. It nets the use of cursor keys and command history.

nvi/Vim is very simple. Vi is a modal editor, if you press escape you are in a command mode, if you press "i" or insert you are in insert mode and it's like most text editors. You litterly change the entire keyboard into/out of modes. In insert mode your keys always insert chars, most consoles let you use the arrow keys, home/end/delete/backspace like normal. In normal mode which can be reached by pressing escape. Every key stroke is a command or switches to other modes. You can move the cursor with the h,j,k,and l keys. The h and l keys move left and right while the j and k keys move down and up. I've heard that Bill Joys console had arrow keys on these so that's probably why they are used this way. It was a little weird at first but now I'm getting used to it. I've generally used the cursors.You can delete a char using the "x" key.

You can delete directionally by prefixing a movement key with d. So dh and dl deletes one char to the left or right. Pressing dj or dk will delete the current line and the line below or above. To kill the whole line use dd. You can repeat commands by appending a number, example: dd3 will delete 3 lines. You can move to the start or end of line by pressing ^ and $ this also works with d. You might notice ^ and $ from some studies in regular expressions - I do from a bit of sed/grep/awk learning. You can move forward and back a word at a time with the w and b keys. Much faster then control+key combo and easier on the wrists IMHO! Pressing i puts you into insert mode to enter text, pressing v puts you in visual mode. Escape will bring you back to normal mode. I never used visual mode very much at first but now I find it useful. In visual mode most normal mode commands for movement work the same. Yet when you move the cursor you always highlight or "select" text. You can copy it or "yank" it with the y command and put or "paste" it with the p command. If you want to cut it use the c command. Usually after a cut I think Vim puts you in insert. Pressing : gives you a little command line.

Here you can enter commands but internal and external, set options and more. To edit a file type e /file/name after pressing : for speed I bound ; to do the same as : in my vimrc. To save it's :w also know as write ! To quit it's :q note that you press the " : " you don't type it as part of the command. You can override it by suffixing it with a !. Example: force a quit by doing a :q!

We can run shell commands by prefixing them with a "!" like this :!ls ~/Documents. File name completion works and a UNIX shell is better at it then cmd.exe (vim is very portable). Vim might seem a bit awkward at first but once your used to it it's very fast and effeienct. TO get help type :help to get context sensitive help try :help topic_or_cmd

Using vi line editing in a shell works the same was using Vi only you start off in insert mode instead of normal mode. I haven't decided what to do yet.

Ya know whats funny.... I started out to write a short post about my feelings but I end up trying to knock out a Vi/Vim intro before my batteries run out.

All roads lead to Vi !!!