Days roaming

Hmm, a most unusual day…

I was invited into the meeting in #pcbsd-team today on freenode. Some interesting discussion, but still a bit boring; well, what can I say? I’m still tight lipped about my own operations ^_^. At least though, the developers are trying to improve things, but there are somethings I keep to myself for the time being. And hope they take care of the more serious things. The whole time I was busy with a SSH session to my laptop, working on code haha! But I did pay good attention while I was present. Somewhat of an odd feeling really, because I’ve generally kept a good distance from PC-BSD.

As to other business of the day, I’ve been working on my little ‘nag’ app. The basic premise of the program, is to take notes, keep them, and when necessary, shout at me about them. In the past, I’ve tried applications with sticky notes, which usually take control of my second monitor or a spare virtual desktop. I’ve also tried PIM software, but I find I always end up spending more time in programming the useless thing around my schedule or arguing over portability issues :. The only problem I have with it, is the choice of either file-system, sqlite, or xml based storage for notes and metadata. The SQLite way would be the fastest for me to write code for; but somewhat a sidestep around my love for accessing data through textual interfaces.

Something like:

~/.nag/
notes/
1/
title
text
...

would be the most fun to have to work with as a user of my own program, which I’d be using daily lol. Actually, it kind of reminds me of the Process File System, but procfs’es usually live in memory only. Standardizing myself around Python for most stuff, has really helped me get work done… Now if only my old friend Perl wouldn’t keep starring at me when ever I see the need to process text……..

I’ve also gotten the priority ‘go code’ on one of my projects in [SAS], at least with this… It’s far enough displaced from the old-sludge I have to maintain, that I can actually define it’s behavior correctly, and do it in a sane way the first time around. And make sure that this project, will result in something that *will* stand some test of time, without pissing off the next coder!

Now if I could do something about camping out [SAS] Proving Grounds #3 and playing Battle For Wesnoth every chance I get >_>. But hey, I’ve was stuck in front of a code editor for almost a 4 days straight!!!! Then I had to go back to work 🙁 🙁 :-(, so a lit’ game time ain’t that bad a change of pace hehe.

Writer’s Block: Customizable Party

Invent a political party for the nation in which you reside. What does your ideal platform consist of?

Live Journals Writer’s Block
(General disclaimer, I mostly hate politics) That action is better then political ideology That what is morally and intellectually right (enough), is what should be done. That being just and right, is better then being extreme and [right |or| wrong], because it will eventually become unjust. That working together as a nation, is better then bickering along party lines — compare the last 8 years, to 1939-1947. In the course of life, I’ve learned that there are only a handful of absolutes: GOD, Life, Death, and Tax. And it would take volumes to properly explain the above ^, which would probably open things up to a form of internet driven political kibozing lol. But in honor of the two ruling parties of this nations political system, a few quotes that stand out to me:

To sit back hoping that someday, someway, someone will make things right is to go on feeding the crocodile, hoping he will eat you last–but eat you he will. — President Ronald Reagan (Republican) When you get to the end of your rope, tie a knot and hang on. — President Franklin D. Roosevelt (Democratic)

And to further quote a great man, who did get off his ass and step up to the bat when America needed a man of action (which is really saying something!),

“Be sincere; be brief; be seated.” — F.D.R.

Amen.

dreadfully bored, and equally miserable… even as my projects snap into place.

Surfing the web, but nothing else to do: but watch the passing of the time on the clock. Also been thumbing though ~/Documents, I’ve quite a lot of things stored thre, both of my own and vaious things I’ve collected in my travels.

To tired to find something to work on, to awake to sleep, to much more to go, to just do nothing….

How long O LORD
Must I wrestle with my thoughts
And every day
Have such sorrow in my heart
Look on me and answer
O GOD my father
Bring light to my darkness
Before they see me fall
But I trust in YOUR unfailing love
Yes my heart will rejoice
Still I sing of YOUR unfailing love
YOU have been good to me
YOU will be good to me

— source unknown

Well, managed to get one site mock up down. Was not to hard, since I’m not about to get to Fancy with it without knowing the typesetting style they want.

Family is driving me crackers a bit, ma is quite disturbed by the news and epecially paranoid about gas; what can I say?

I’ve expected a depression since ~1996
Business can not be trusted to self regulate itself (most of the time)
To many politicians care more about their political view then getting work done. (Although I my say s/politicians/republicans/ if I analyzed things more closely)

And I’m trying to code, not dig for oil wells !

Some how in my case, having very crazy dreams is usually a sign that everything is normal :

From being stuck in a game that feels like a cross between Halo on Legendary and Call of Duty. Oddly a PP-19 Bizon in 9x18mm Makarov and a Colt M1911 is an interesting mixture for fighting aliens in CQB, along side a Covenant Plamsa-rifle hehe.

To being owner, court jester, lead cook, and chief flirt of a restaurant. To winding up in some kind of crazy Army of Darkness and Jason and the Argonauts skeleton-battle inspired global war, a pump action shotty with unlimited ammo is useful >_>. Alll the way to being trapped in a town under assault from vampires, and having to organize people into a resistence…

My dreams are crazy as a mad hatter lol

Vim rules text editing !

An interesting thing to come up in #vim, Why, oh WHY, do those #?@! nutheads use vi?. Which reminds me a lot of why vim has ruined me for all other editors, except vi.

When I first took up programming, I had started with C++ (probably not a good choice), and I selected an IDE so I could concentrate on C++, not the compiler and debugger. When I started to learn other languages, which my C++ focused IDE didn’t give a flying flub about, So I quickly came to the conclusion, that since I would never _stop_ learning, I would do best to find a general purpose code editor. Because if I kept using IDEs, I would spend more time learning to use Integrated Development Environment XYZ then programming something meaningful in language XYZ.

I knew that the most widely used (read if the machine supports text, it probably runs this editor) would likely be Emacs and Vim. I’m the kinda guy, I like to use the same tools without caring about the OS ‘too much’. Although I don’t mind if a program changes widget styles to match, I hate things like Firefox that change from Microsoft ‘Tools->Preferences” and Unix “Edit->Preferences” instead of just creating a damn “Settings” entry in the file menu. So obviously, an editor that works that way, can suck my **** lol. Emacs and Vim are fairly consistent.

At that point in time, text editing consisted of Left, Right, Up, Down, Delete, Backspace, Page Up, Page Down, Home, and End… nothing else (I had yet to learn the control modifier to them). Currently, the number of actions I know in Vi and Vim, far exceed that by the size of the death star, hell… I know more emacs then that, and I haven’t “really” used emacs in years. But I didn’t really care about that kind of stuff at the time, I just wanted something with syntax highlighting and extreme portability.

I knew full well, that Vim and Emacs were extremely powerful tools; but they would take learning to use that effectively. A knife is a simple weapon, using it ain’t. (And admitidly, if emacs was a pocket knife, it would be the “swiss army knife” to existing Swiss Army Knifes, as swiss army knifes are to classic pocket knifes.) The main thing that attracted me to Vim and Emacs, was hat they support many languages out of the box (vim 7.2 supports around ~500 by now, for syntax highlighting alone.), and could be extended with support for more.

So for one reason or another, I gave vim the first try. I couldn’t even figure out how to open or save files with it; as I had elected not to use the graphical editing interface. I basically chucked Vim in the corner and started looking at emacs, choosing XEmacs over GNU Emacs. XEmacs proved to be a quite a nice editor and very useful to me. In fact, I think my user account on Josephine still has XEmacs for Windows as my default text editor. Later on down the road, I was reading a skit, using pico, gnu emacs, and vi. Reading the part on lowly Vi, it all looked pretty darn logical all of a sudden lol. So I started to play around with Vim, using the :help system to learn to use Vi. In a short period of time, I became much more effective at editing text then Iw as under XEmacs or Wordpad; in my case vi commands were also much easier to remember before muscle memory caught up.

Why do I use Vim, and utterly hate all other editors? (Except for vi and microemacs.) Most typical editors are week in the knees, trying to ‘edit’ text with them after living with vi/vim, just feels like dancing with a cement kimono, I work with textural information non stop, be it books, web browsing, television, instant messengering, e-mail, games, etc; even the operating systems command line interface, let alone editing text files lol.

*Actually* learning how to use vim the right way, quickly lead to editing smoothly and learning how to learn more ;-). One thing I like about vim, it is modal like vi, and my brain is essentially modal as well! And unlike emacs, it doesn’t seem to slow my down when exercising my “ten fingered typist” style of using a keyboard. With vim, the only limit is you mind. Tonight, I’ve actually learned 4-6 new things (most of which are vi compatible hehe) tonight, that allow me to edit even more effectively then I have been. Which if I had to compare to the best offerings of notepad.exe or MS Word, Vim has allowed me to be 1,000,000,000,000,000,000^256 times more effective. And yesterday, I spent what, like 16 hours editing code?

If I had to use something like notepad for that, I would go out of my fucking mind !!!!!

Just for the heck of it, 1,000,000,000,000,000,000^256 is the equivalent of:

1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000

But I don’t think I know how to count that high in written English LOL.

Geeze, this is like a massive cleaning day :

  • Went shopping
  • Walked the dogs (as promised)
  • Washed the dogs — if their looks could kill!
  • Cleaned the newts tank
  • Field stripped Dixie and cleaned a few lbs of dog hair out of the keyboard
  • Straighted that leaning tower of junk in the corner
  • Took a cool shower
  • Shaved, for once before hitting a proper beard…
  • Covered the car
  • And finally got to sit down, around 1930Q hehe

I’ve gotten almost no coding done, but it’s still been quite the productive day!

I need to finish one program, build two more, build a mockup for a site, and I also want to work on another little app of my own… I call it ‘nag’, a note taking application to furfil the obvious purposes lool.

HOWTO boot FreeBSD, Linux, and Windows XP with GAG, GRUB, LILO, and BootEasy

Abstract

This posting endeavours to allow users to successfully boot the following Operating systems: Windows XP, most GNU/Linux distro, and FreeBSD/PC-BSD; using the following boot loaders: GAG, GRUB, LILO, PC-BSD (aka BootEasy). The target audience are PC-BSD users coming from Linux.

There will be several references provided at the end of the posting.

Using the Graphical Boot Manager, GAG

Simply boot off the install media and follow the on screen instructions.

Note well that must install a boot loader such as LILO or GRUB in a Linux / partition in order to boot Linux from GAG, like most other abstract boot loaders.

Using GNU GRUB

In order to boot PC-BSD from GRUB, you must tell GRUB which drive, slice, and
partition to load from; usign GRUBs own notation
syntax
.

The systems kernel is stored on disk as /boot/kernel/kernel and it’s Loadable Kernel Module (LKM) drivers are stored in the same directory; with a .ko suffix. Although it is possible to load the kernel directly, it is better to load stage three instead, which gives you an easier interface to loading the desired kernel.

You will have to edit the GRUBs configuration file. The name and location of GRUBs configuration varies based on your Operating System. Under Debian (and thus Ubuntu), OpenSUSE, and FreeBSD based systems, you will find it as /boot/grub/menu.lst. On Fedora/Red Hat Linux and Gentoo based systems you will find it in /boot/grub/grub.conf. Many distros may provide a symbolic link to /etc/grub.conf, please refer to your operating systems documentation if you can not find the file.

Open it as root and edit it accordingly with the settings for your system. This example is is meant for triple booting Windows XP, GNU/Linux, and PC-BSD, where they are installed in that order, into primary partitions.

title WindowsXP
root (hd0,0)
makeactive
chainloader --force +1
boot

title Foo Linux
root (hd0,1)
kernel /boot/vmlinuz

title PC-BSD
root (hd0,2,a)
kernel /boot/loader

By default, if the slice number is omitted, GRUB searches the first slice which has a partition. I have however specified the slice number in this example.

If your distro has already configured Windows and Linux in menu.lst/grub.conf,
you should probably leave it as is; appending the PC-BSD entry to the
configuration. The location and file name of the linux kernel can vary a bit,
/boot/vmlinuz, /vmlinuz, and /boot/vmlinuz-x.y.z should be common, but my grasp
of Linux kernels dates to Linux 2.2, not modern 2.6 — as always check your
operating systems documentation when necessary! initrd users please see the grub
manuls notes on
linux
.

Using LILO

For those whom still prefer the LInux LOader, you can still use it for booting PC-BSD: edit /etc/lilo.conf accordingly:

# cp /etc/lilo.conf /root/lilo.conf.old
# vi /etc/lilo.conf
# /sbin/lilo

I will leave the top matter in lilo.conf as an exercise to the reader (if you use LILO, you should know this); so working off the GRUB example, the /etc/lilo.conf file should look like:

other=/dev/hda1
label=WinXP
table=/dev/hda

image=/boot/vmlinuz
label=FooLinux
root=/dev/hda2
table=/dev/hda

other=/dev/hda2
label=PCBSD
root=/dev/hda3
table=/dev/hda

NB that initrd users will want to add a initrd=/path/to/your/initrd/img rule to
the FooLinux image specs.

Users with multiple hard drives, please refer to the FreeBSD
FAQ
for details.

Using the PC-BSD Boot Loader

The header is actually miss leading, as this is really just the boot loader used by FreeBSD, a.k.a. Boot Easy or /boot/boot0. Hence forth called BootEasy.

To boot your operating systems with BootEasy, once is installed – just reboot the PC. Following the previous examples, you would see a prompt like this:

F1: DOS
F2: Linux
F3: FreeBSD

Press F1 on the keyboard to load Windows XP, F2 to chainload FooLinux, or F3 to load PC-BSD.

Note well that you must have a suitable boot loader installed into the linux / partition in order to boot linux from BootEasy.

The FreeBSD FAQ specifically recommends to install
LILO into the Linux /
, although GRUB should work fine when installed into Linuxes /

References

Post script:

If you have a problem with my spelling, grammar, or punctuation: you can pay my family to go on a shopping spree and leave me free to type slower then I can physically move my fingers across the keys.

Disclaimer

The information provided here is done for your convenience at the authors expanse, it however is without any form of warranty or guarantee of fittness — use at yur own risk, I’m not responsible.

Well, never made it to the PS2, but made it t dinner and a good nap xD

Tomorrow I need to clean the newts tank, work n deploying the next site mock up for Rouge, and finish more of todays work. It shouldn’t take to long to have this site mock up ready, so I’ll probably be working on my own stuff son, which reminds me; I wanted to make a quick back-scratcher for taking notes.

The personal project I’m working on, calls for a domain specific language; so I need to start writing the specification for it. Luckily the output is in a language I know well. All in all, it should be about as complex, as implementing a bc that compiles to dc, which is a lot simpler then implementing bc in C, lol.