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 😛 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.

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.

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 😛 )
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.

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.

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 😛

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 800×600 or 1024×768, on the PC-BSD beta I got about 1280×1024 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 😀

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 😀

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 😀

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.

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 !!!

I’ve been fooling with ntpd allot, if I’d stop editing the file maybe I could be sure of my configurations hehe. I keep the below blog entry fairly up to date.

Installed the PC-BSD 1.3BETA1 on my desktop heres a copy of the notes I wrote myself before posting on PC-BSD.

Notes:

First installer screen needs to say KDE is a DE not a WM, it will confuse people.

Installer didn’t allow an option toggle autologin.

Glad to see installer says PC-BSD not FreeBSD in the ASCII art and boot menu which is also used now at boot up. < I never did a 1.2 install so I wouldn't know if this is new or not. Installer detected my SATAII (ad0) drive and some free USB ports (da0-3). Drive layout was 180GB NTFS (WinXP), 79GB Ext3 (Ubuntu), 120+GB Freespace, Extended partition /w 4 logical drives (linux swap, home, and backups) Partitions detected right, NTFS, EXT3, DOS Extended. -> Didn’t detected my freespace ! Rebooted and manually fdisked me a UFS2 slice to use.

Installer doesn’t make it clear in the adv. Setup if PF will (if it needs to) be configured accordingly if you choose to use NTPD.

Installer could use tooltips.

Using the quick guide pressing “Index” in pages sends you to /PCBSD/docs/guide/ on the FS not /PCBSD/docs/guide/index.html (Time for a sed script)

Icon setup is great opens the right profiles to, only the “Start” Menu should be named some thing less Windows like and more consistant with the documentation that refers to it as a “K-Menu” -> We don’t need confused people saying “Whats a K-Menu” and it’s probably patented by Microsoft or Apple.

The pictures in the quick guide do not match the window decore, K-Menu, or Panel of the actual system

~/looks good, although some sample images and/or a PC-BSD_theme_song.ogg would be nice as would be a Video interview with the dev’s talking about the system. All in the right dirs of course.

There should be a fairly consistant (simular) rc file for each shell. (sh, csh/tcsh, bash). It should at least set the same basic env vars and the prompt.

/etc has a few .bak files and shells only shows bash by it’s symlink in /bin not both /bin and /usr/local/bin.

The “Start” menu looks nice but is a bit scrungy looking, the PC-BSD side img that used to be used /was/ nice tho

nice to see GTK 1.2 and 2.8 installed along with gtkglarea and python bindings. gtk-qt-engine+ Control Center entry -> Nice !

Noticed the new style lipstik used, PCBSD style should be renamed PCBSD Classic or v1.2 or something. I like what you’ve done with the Crystal windecore, think I might clone it to my lappy next time I change my windecore.

I wish KDE would fix the Component Chooser. (installed version is 3.5.4)

ruby, portaudit, portupgrade are installed among the 255 pkg’s (including a pair for the KDE style/windecore).

I see ispell is setup in KDE but pkg_info | grep spell only returns aspell dunno if thats right or not.

I get a default resolution of 1280×1024 just like in Ubuntu, I call it the “livable” res since I prefer 1600×1200 or larger + large fonts xD

Would be nice if NUMLOCK was turned on automaticly when booting a Desktop. It’s kinda expected.

Printers section gives an error

root has a pair of msg from june and the MOTD is still FreeBSD

PCBSDv1.3 conf still references itself ontop as the GENERIC FreeBSD conf. It’s set for machine i386 and cpu’s 486-686.

There is no sound drivers being loaded in my loader.conf. Usually FreeBSDs OSS doesn’t notice my audigy4 and I have to install the emu10kx driver. On Ubuntu ALSA can use it with the included standard driver (emu10k1 I think, or maybe emu10k3).

paths should be set to automatically have the users “Documents path” set to /usr/home/${USER}/Documents since you give them a dir for it.

There are no help items for the PC-BSD related Control Center entries. This is more a standard policy imho for PC-BSD. Want help? Get GNOME, want functionality? Get KDE !

I think the menu editor might be fixed finally !!!

Launching KDE reports it can’t find the codecs or libdvdcss since they are in the Essential Codecs PBI.

It also reports “DVD Drive” Can’t check DMA mode. Permission denied or no such device: “/dev/dvd”

I hope 0.8.2 fixes the stability problems in 0.8.1 (PC-BSD v1.2)

The X config file is XF86Config but we still use Xorg 6.9

Some interesting changes in /PCBSD/cardDetect which appear to come from RoFreeSBIE

__________________END___________________

Really I think they are making an improvement, I just don’t care for what they have done with the K-Menu. Also for some odd reason Keramilk, crystal, and polyester window decore keeps coming back to me.

PC-BSD Quick Guide

This is the draft I sent in for the PC-BSD Quick Guides 4th chapter, I’ve replaced my HTML Comments with C Style /* Comments */

Common tasks

In this chapter we will go over a number of common tasks faced by every day users and administrators. We will discuss such matters using plain English and describe it using graphical user interfaces and the command line interfaces as well as configuration files. This will allow you to chose which method you prefer and to be more productive.

We have broken down common tasks into the following:

  • Installing applications
  • Adding new users
  • Adding custom fonts
  • Downloading system updates

Installing Applications

There are several methods of installing software on a PC-BSD system. Each method will be discribed in more detail below.

  • PBI Installer, the easy way
  • Packages, the quick FreeBSD way
  • Ports, the traditional FreeBSD way

When you install software from a PBI you will be presented with a simple graphical way to install software. Simular to many other popular operating systems you just click and go. Since PBI programs are created from traditional FreeBSD ports and packages they are fewer and less up to date then ports.

Ports and Packages are the traditional ways of installing software. You can get the most up to date software by compiling from ports. You may also quickly install allot software using packages, but not all software is available as a package or PBI.

Installing software via PBI

When you install a program through the PcBsdInstaller system it is placed with all required files in it’s own folder in /Programs and linked into the system. This is very simple and safe to the persons system as person is not changed more then necessary to allow the packages to function.

/* Update the URL if it ever changes */

To install a PBI we need to go to the PBI Directory and download a program

/* Stick screen shot(s) of PBIDir here */

Once the download is completed simply double click on the file to launch the installer. It will prompt you once for the super users password before beginning the installation process. This is to ensure you are installing the program and not any one that may have sat down at your computer. It’s both effective as a security measure and parental control.

Click next at the welcome screen, you will then be asked to read any license agreements that comes with the program you are installing. Check the I agree box and click next to continue installation. You may have the options of placing icons on your desktop and entries in the PBI Programs section of the K-Menu. Check all boxes that apply to what you wish done and click install. Once it has completed the installation click finished and tryout your program

If at a later date you wish to add an icon to your desktop for some thing you did do during a PBI install, or when using ports/packages you may do so by right clicking on the desktop and selecting “Create new link to application”. This will open a menu where you can set thename of the icon, it’s picture (click the cog image), click the Application tab. Here you will have to set the program you wish to create an icon for, you can also set a comment, disrisption, work path, and file types as you feel necessary. You can also install in text mode from a console by changing directory to the location of the PBI and run the following as the super user.

./PBI_File -text

Fetching packages

Packages are prepared files for installing software, they install software into the system and can cause dependancy issues. The package system is comparable to RPM, Dpkg, and Apt-Get used in several Linux Distros. Installing packages requires you to open a console with root permissions. You can type kdesu konsole in a run dialog from the K-Menu or open a konsole from the K-Menu in super user mode, or open a konsole and type su and press enter. You will be prompted for the root (super user) password, it will nto display the password on screen for security reasons. After switching to the super user account you have complete access to the system and can install software at will.

You can install a program using the package system like so:

#pkg_add -r irssi

will install the irssi program with all required files but not update the K-Menu or desktop. You can generally find the binary (executable) in /usr/local/bin, configuration files in /usr/local/share// or your home directory and the libraries (like .dll) will be placed into the system as needed and shared between applications. This is true for ports as well, the PBI system is favored by users wanting to avoid this at the minor expense of some disk space. As PBI install all files into /Programs/ but ports are kept up to date and contain many more programs.
/* Special thanks to adamant1988 on #pcbsd for coming up with the package. I don’t think a CLI IRC client is right for this but I needed a quick program thats not a PBI yet */

You can uninstall a package by using the pkg_delete command and the name and version of the package or a wild card.

pkg_delete irssi-0.8.10_2 and pkg_delete “irssi-*” are equavilent.

You can get info about an installed package the same way using the pkg_info command.

#pkg_info “irssi-*”

Installing software using ports

Traditionally BSD installs software from source, the ports collection is a easy to use system that makes this as painless as possible. You first need to install an up to date ports collection before you may use ports to install software. New users coming from Gentoo GNU/Linux will find this similar to the Emerge system which is based on FreeBSD ports.

To install the ports collection click on the K-Menu and navigate to settings, administration, PC-BSD System. Enter the super users password to access the admin panel and click on the tasks tab. Now click fetch ports and it will begin downloading the necessary files and installing them.
This will take awhile depending on your Internet connection and Processor speed.

/* picture of the tasks tab here */
/* Probably delete this part for the quick guide */

If you wish to do this from the command line open a console as the super user as described in fetching packages and run the following command

#cvsup -g -L 1 /root/ports-supfile

You can also use the portsnap method

#portsnap fetch && portsnap extract

If you install ports using portsnap you should not update the ports collection with cvsup, instead use:

#portsnap fetch && portsnap update

if you installed ports using cvsup you may update them in the same way as before:

#cvsup -g -L 1 /root/ports-supfile

You can edit the supfiles and set a download mirror closer to you, please see the FreeBSD handbook for more information on using CVSUP

Now that the ports collection is installed if you look in /usr/ports you will see a simple tree structure of folders. The structure is in the format of catagory, program name.


Adding new users

The two best ways to add a new user to your system is by using the User Manager program or the adduser script. User manager is a graphical program and easy to use with the mouse. Adduser is a very flexible command line method.

Open the K-Menu and go to settings, Security & Privacy, User Manager. Here you can add, remove, and lock users, change the super users (system) password). To add a new user you will need to have a user name and password, you may also input the full name of the user for reference.

/* Insert screen shot of user manager */

To add a new user with adduser open a konsole in super user mode and run:

adduser

Here is an example of running the adduser script, the options listed in side brackets are the default used when merely pressing enter to continue.

Dixie# adduser
Username: joe
Full name: Joe User
Uid (Leave empty for default):
Login group [joe]: wheel
Login group is wheel. Invite joe into other groups? []: operator
Login class [default]:
Shell (sh csh tcsh bash nologin) [sh]: bash
Home directory [/home/joe]:
Use password-based authentication? [yes]: yes
Use an empty password? (yes/no) [no]: no
Use a random password? (yes/no) [no]: no
Enter password:
Enter password again:
Lock out the account after creation? [no]: no
Username : joe
Password : *****
Full Name : Joe User
Uid : 1002
Class :
Groups : wheel operator
Home : /home/joe
Shell : /usr/local/bin/bash
Locked : no
OK? (yes/no):

Here we have added a new user named joe to the groups wheel and operator giving him greator access to hardware and the ability to switch user to root, that is run programs as the super user. The choice of shells include the bourne SHell, C Shell and the Bourne Again SHell. More shells can be installed using PBI, Ports, or Packages. You should only add users to the wheel or operator groups that you want to have administrator access to the machine. An example of this would be some one you would give the super user password too, is someone who should be in the wheel group. Some one who you do not want to have the ability to switch to the super user should not be in the wheel group!

. An example of this is a child you may not want to be able to modify important files should not be in the wheel group. While a spouse you wish to be able to install software should be.


Adding Custom Fonts

To install additional fonts that you have downloaded from the Internet. Open the K-Menu and go to Settings, System Administration and click Font Installer. You can install personal fonts for use with your account or you can install fonts to be used system wide. Only the super user can install system wide fonts.

/* Screen shot of font installer, admin mode */

To install a new font click add font and locate the .ttf font file you wish to add. If you click administrator mode you will be prompted for the super user or “root” password. Then you will be able to view and add system wide fonts in the same was as personal fonts. The font installer program only shows you fonts installed for yourself when not in administrator mode.


Downloading System Updates

Updating a PC-BSD system is a very simple process unlike many GNU/Linux distributions, PC-BSD is updated in a similar matter to installing software using PBI. You can check if your system is up to date by running the Online update utility.

Open the K-Menu and browse to Settings, System Administration and click Online Update. It will prompt you for the super users password before allowing you to alter the system. You will have the option of setting the system to check for updates at a specified time daily or weekly, default is not to check. However the system will always check for updates at startup and you can manually check here by clicking “Check now”. After editing any settings here be sure to click the “Save” button to save your changes. You will then be able to select, fetch, and install any updates it finds.

/* Screen shot of Online Update */

To manually download an update go to www.pcbsd.org and find the download system updates section (under the downloads menu on top of the site. As of this writing you can obtain updates from here. Download the patch for your version, such as PC-BSD 1.11a to 1.2. Once the download has finished double click on the PBI file to begin the installation, it works just like installing a PBI but simpular.

DO NOT cancel the update while a patch is running, restart the computer or other wise disrupt the update even if it appears to be stalled, an update can take time to complete. You will be notified when the update has been completed and be asked to reboot for all changes to take effect.