## Thursday, May 31, 2007

### Nerds log.

Been pondering a lot of stuff.

I've especially been trying to learn more about stacks, queues, lists, and stuff. And it makes me wonder about things we take for granted.

Like arrays for example. How I see an array, at least from a C perspective -- personally I think languages like Ruby. That have arrays that don't need to be 're sized' on command must have implemented arrays in the language. As objects acline to a doubly linked list.

Generally (C like) when I look at an array. I think of it as a pointer and a block. A block of probably contiguous data in memory -- its close together if not physically in hardware then as we may address it from software. And I see the array also as a pointer I can use to reference that block. That points to sections in that block of memory. Where each section is the start & end of a chunk of memory. e.g. the difference between ar[1] and ar[2] is [1] points to the start of the 2nd memory block of the array which is the end of the first. While [2] points to the end of the 2rd but the beginning of the 3rd.

Thus if all memory in an array. Had no padding to note and by incrementing or decrementing the memory address. Our point of reference would advance to the next mark. Sorta. If all addresses were in a fixed range of integers, say 0 - 10. address+1 or address-1 would move our reference to +/- 1 sector of memory. -- Even if the physical hardware doesn't address memory like so, it seems to me by the time we hit software we can run on the machine via an OS / run time it gets this way.

| 0 | 1 | 2 | 3 | 4 |5 | 6 | 7 | 8 | 9 | 10 |

To be honest, I don't know how arrays are implemented. I expect it to be a simple bunch of blocks of memory close together or just a fat segmented block. Where an address reference's marked points of it. In such a way that we have an abstraction in the language that,

for ( i = 0; i < MAXCNT; i++ ) {
do_something( ar[i] );
}

works, gets down to assembly code that makes just as much sense but is more complicated. Then down to hardware that knows what to make of machine code. And down to the physical machine to run it and a realm for electrical engineering or some thing.

When I think about functions. I tend to think of it as a block of memory with all the data it needs, like variables in its scope and what not. and a system of pointers that handle calling and returning. Like

ch = fgetc( fp );

I think it would allocate memory (I hear C is stack based?) for the function (fgetc), use a pointer to fetch that address (call the function). Set the pointer or another pointer or some t hing like that to the return value of the function. Run the code their some how work it out so what the called function returns is what ch contains when references in memory. To me a variable is just a name for a value.

foo = 5;

To me says instead of typing 5 every where, I'd like to be human and just talk about foo instead. And let you (computer) fill in the value the name points to. Or some thing like that any way.

And in a similar light that I'd want to use 'ch' as a reference to the data returned by fgetc(fp) rather then have to know what the freaking location in memory it has !

Ok, so maybe I'm talking out of my ass or maybe I'm getting smarter as time goes on. Who knows...

## Monday, May 28, 2007

### Temping fate

He was flanked and shot in the back about 30 seconds later ! But he had fun killing that one tango.
Now this would be a great sig line loool

So if you can't lead and you won't follow, at least try not to throw shit at the luckless bastard on the spot. Cut him a little slack; after all, he's working for you.

## Saturday, May 26, 2007

### good games

[SAS]_Miles Red 1, Woodlake88th Red 2, [SAS]_Spidey01 EL, Jonsi Blue 1.

Sisters of Mercy Hostel

We had a plan of STC (stealth to first contact). Wedge all the lower doors and enter the kitchen from the rear. Secure it & head up. Simultaneous entries on the top rooms if compromised else stealth.

The plan hit the fan about 15-20sec in. So we wedged the doors and moved into the chapel (we got compromised there). Red held cover on the landing going up while Blue cleared the front of the building.

We regrouped and headed up banging and clearing rooms then headed down threw the chapel and cleared the kitchen area by rolling a flash bang down the stairs from the lower landing.

Every one did very well and the op went off like it was without a hitch. Although the plan few out the window faster then Homer Jay can start drooling over a Duff.

All in all I'm some what impressed for a mixed Element with only four Operators !

It would've been great if we had 2 more operators. We could've followed it in and cleared the chapel and left a team to secure the hallway. Rather then having to pause and do that first.

Like wise 2 could've secured the front area while 4 went top side and clear the entire map quicker.

Oh well, alls well that plays well.

## Sunday, May 20, 2007

### Continuation Training, RvS TG#1

Got to run continuation training today. I was hoping me and Miles could get together and get some thing done. Wasn't to sure if I could get it done but my shifts worked out just right.

Set up 3 scenarios. After being given a chance to get the teams in order & briefed. The EL's got 5 Minutes to plan the map and 2 Minutes to revise things on failure. Almost no one took these time limits into strong consideration lol.

Scenario #1
Map: Presidio
Mode: Hostage Rescue
Objective: Rescue L1 Hostage quickly
Rounds: 3/3 -- fail

Valroe and Sniper took EL with JB, Grishenko, Caern, and Miles as teammates. 2 three man Elements. They were assigned to enact a Dynamic assault, the hostage will be 'executed' at a random time frame. Most of the time I set the time frame for 2 or 3 minutes after the first gunshots.

Mission was generally a failure, often time was spent in clearing areas that could've been blocked with gas and bypassed. There seemed to be a bit of a lack of communication between EL's.

Scenario #2
Map: Training
Mode: Tango Hunt
Objective: Secure the area, safely.
Rounds 1/3 -- success

I enabled smoke and disabled mini scopes, flash bangs, and gas masks to give it a bit more difficulty. Its just a T-Hunt after all lol. The plan basically consisted of using Smoke screens and clearing the buildings. I if could've I wouldn't enabled cheats and made my self invisible. So I could set up shop /w a SAW and suppress smoke screens to make it harder by shooting at them (i.e. help the tangos). But oh wellz. I grabbed a PSG-1+IR Smoke and Frags and went Sniper to back up the Elements. Valroe finally considered the 5 minute limit.

No one called on my support but most of the team died quickly and LCpl Miles saved the day xD

Scenario #3
Map: Banking House
Mode: Mission
Objective: Secure the records room within 8 Minutes
Rounds 3/3 -- success

Miles cooked up the scenario for this one hehe. JB took EL and we went in SD Red and Loud Blue team. The Element did ok but kept getting killed until the last round lol. JB got it planned in ~3:50 but no one paid attention to the 2minute 'tween round time.

Map went pretty good, aside from Rasa puffing smoke in my face.

I hope next time to have a course of study rather then some generic CT work. I tried to pick harder scenarios. Give'em a real run for their money. The format I stuck with is pretty close to James's original continuation training. Except he had done the Mission Planning himself for most of it. And done it impressively in <= 2 Minutes if I recall correctly. So I figure 5 Minutes to plan and 2 Minutes to correct is plenty for Recruits lol.

## Saturday, May 19, 2007

Trying to learn any thing in this place is pointless.... I'm trying to learn a bit more about Algebra -- without being credited for it I might add!!!

Add I can't even hear my self think in this freaking house !!!!!!!!!!

I tend to deal with vordem by trying to learn some thing new, but in this house its impossible to learn any thing. Unless I am the _ONLY_ person awake ! I know I can _NEVER_ work from home.. not unless I'm the only moron living there at this rate.

Also, l24\$4 1\$ +#3 80|v|8 ! TG#3 has a new map :-)

## Friday, May 18, 2007

### My lib

Some thing constructive for the night. Cleaned up a lot of stuff in my utility/portability lib. Including a bool datatype for when stdbool.h is not around. And if it is or its C++ use the local boolean.

Aslo tried to make it slightly more friendly to pre-ansi compilers. Not that I've ever used one or seen one.. have heard of a few people meeting up with one though !

Basically I started it out both out of interest and Windows. I'm a tad lazy, I'd rather use an err( int, string ) then fprintf a string to stderr and append errno plus call exit() -- A good 2 or 3 lines usually. When I can do it in 1 or 2 depending on the type of message I want displayed on exit(). BSD/GNU extensions have err()/warn() routines.

Windows of course lacks this totally as far as I can find. So since I was interested for a long time in how to create libraries I looked up how and implemented the err()/errx() I used so much in it. As well as most of the routines I've created in a few small programs. I don't expect to use the thing for much more then building my programs on Windows w/o having to do a lot of search and replace. I just love err() ;-)

## Thursday, May 17, 2007

### Hmmm

I wonder if I could cook up a prog that checks the hw.acpi.battery. life and time sysctrl variables and reports to me when the hit such and such threshold. I'd hope theres some thing in the system that could though. I rarly use my system (laptop) on a battery. But when I do, a lot of times I won't log into X11 -- I just tend to use X11 for Amarok, Konversation, and Konsole. I've yet to find a good CLI WWW Browser though, Lynx I'm most comfortable with but I do perfer links for the better page rendering.

## Tuesday, May 15, 2007

### escape

Hmm... if I sit and imagine where I'd much rather be. I see my self sitting on a deserted island with a bottle of vodka.... strange really.

I've mostly been able to get nothing purposful done today... Got up for 5 minutes to do the wash and hours later.. Still squat is done ! I finished most of the UI and started planning on the rest. Even set up a small test to see what it looks like compiled.

Its impossible to do any thing in t his house.... unless its at night and I can't stay up for quite some time now. Because of working mornings. So I'm screwed any way. Need to flush my mental cache before I go mad, because I'm no lush.

I think if I hear the word School Work one more time I'll throw up.

Since I have little time to do any thing. I was thinking about breaking up the program into a number of different programs. For example the main window and the configuration dialog would be two different applications in. And to interact with one enough, they could communicate threw a 3rd party. Each would know how to interface with this 3rd party rather then having to talk to one enough, they talk to the middleman who talks to the other ;-)

Some how, I think its poor GUI engineering but I like the design in theory. At least, it sounds better in my mind then how I've worded it. I also want to try and expose parts of the implementation through scripts that can be edited without touching the programs code.

Thus, while the program would handle the process of figuring out what to install (e.t.c.) *some* of the actions performed could be tweaked. For example, as I have it envisioned. There is less concern about the implementation of the ports collection in the heart of the program.

So far, the only thing that gives a damn about it is the wrapper on make.

### Day dream

I don't know if I can pull it off yet but I can try.

I find working this out in ASCII kind of fun compared to pencil and paper. I also get spell checking built in as you can see lol. Not that I can type during daylight hours ether.

It would be cool to have a Ports managment tool thats really simple yet really powerful. Easy for newbie/guibies yet powerful enough to administer the system from.

## Monday, May 14, 2007

Wow... just like when I'm sleepy I find a comment like this as I read lol

```2230:         /*
2231:          * If the new process paused because it was
2232:          * swapped out, set the stack level to the last call
2233:          * to savu(u_ssav).  This means that the return
2234:          * which is executed immediately after the call to aretu
2235:          * actually returns from the last routine which did
2236:          * the savu.
2237:          *
2238:          * You are not expected to understand this.
2239:          */
2240:         if(rp->p_flag&SSWAP) {
2241:                 rp->p_flag =& ~SSWAP;
2242:                 aretu(u.u_ssav);
2243:         }
```

## Sunday, May 13, 2007

Manged to get some good CT in today. Pretty big batch for most of it.

I got Yuke and Duke working as EL's and trying to cordinate missions. And I got them a simple mission paremter or two per mission.

Hey, I've playe denough games... The old go in, shoot every thing tha tmoves, and get out bit is old. So I try to give them some thing refreshing when I do training. But I try to do it in a way that it allows one to work on some thing.

I didn't really restrict the time they had to work on things but they seemed to do it pretty fast. For the mos tpart I liekd what I saw - theres room for improvement. But its pretty good for a pair of Recruits and non SAS.

That One player, Joska. Deffo inviting him to training if he's ever in game before hand hehehe. Sadly I wante dot try and get REM2000 in on it too but he had to go. I try to look foreward ;-)

Got good serious training work in, to be fair I'm going to try and do one for RvS next week. Got to have a nice chat with Duke between ops and some good games too.

Hmm, supper time :-)

I guess blog & work can wait.
Been toying qith QTRuby and Korundum (QT3/KDE3 bindings for Ruby).

So far I think I rather like it hehe.

Got QTRuby installed fine, Korundums being a bit picky by libtool way. Hope to have a PBI with both in it by next week.

Some likes I need to bookmark in my master-bookmarks-file and want to post on PC-BSD forums.

Terry@Dixie\$ rf ~/tmp/notes 5:20
--with-qt-dir=DIR where the root of Qt is installed
--with-qt-includes=DIR where the Qt includes are.
--with-qt-libraries=DIR where the Qt library is installed.
--with-smoke[=qt|kde] Smoke: build Smoke for qt+kde or qt only [default:qt]
--without-gl disable 3D GL modes

configured as:
./configure --prefix=/Programs/QT-KDE-Ruby-Runtime1.0 --with-qt-dir=/usr/X11R6/include --with-qt-includes=/usr/X11R6/include --with-qt-libraries=/usr/X11R6/lib/

http://developer.kde.org/language-bindings/ruby/tutorial/tutorial.html

http://developer.kde.org/language-bindings/ruby/tutorial2/tutorial2.html

http://www.arachnoid.com/ruby/RubyGUIProject/index.html

http://developer.kde.org/language-bindings/ruby/kde3tutorial/index.html

arning: you chose to install this package in /Programs/QT-KDE-Ruby-Runtime1.0,
but KDE was found in /usr/local.
For this to work, you will need to tell KDE about the new prefix, by ensuring
that KDEDIRS contains it, e.g. export KDEDIRS=/Programs/QT-KDE-Ruby-Runtime1.0:/usr/local
Then restart KDE.

http://doc.trolltech.com/3.3/how-to-learn-qt.html

Terry@Dixie\$ 5:20

## Saturday, May 12, 2007

Get ma a eCard

Install QT/KDE binds fgor Ruby

make PBI

## Friday, May 11, 2007

Alas, there goes my beard.

We have an interview tomorrow after work for another pet sitting job.. So can't keep it.

If I didn't think I looked like an utter jackass I'd leave the mustache part.. Although it would be more trouble to trim.

Oh well, back to picking apart AT&T UNIX Version 6.

## Thursday, May 10, 2007

### Job seeker

Well, so far in search of a junior admin job...

The only one I think I could get, is one I saw listed in NYC. Basically the only one with a 'Green horns need not apply' strapped on for all intents and purposes.

Tried putting in an application at IBM, doubt it went well. Was in to much hurry to get it done before heading to work to do it *well* structure wise.

Hit Google Jobs... dang I think I'd love to work there. I really prefer BSD but hey, Linux is cool with me!

Think I might also see if Bellsouth has a way to put in an application online.

Its probably hopeless but at least I can try. Heck if I could sort transportation and make the Months bills. I'd practically sleep in the server room lol. Personally I doubt any of them would hire me for more then pushing a broom around. I wish I could afford to get certification on Linux, maybe take a nice course on Perl. Then maybe I could get my foot in the door, without loosing the leg too.

I think with some time to brush up on the Linux specifics I could probably handle LPIC1 with a little study. I'm basically a BSD man. And what I don't know off the top of the head about the system, is in the systems manual. One thing I love about *BSD, good manuals hehe.

No clue what I could do for transportation yet. Ma hates driving 10mi'ish for one of our jobs. Let along 30-50Mi to Atlanta. Suppose I sorta screwed my self by not driving people crazy trying to get a License when I turned of age... The fact that the car has no A/C is besides the point... Probably would have to do the same thing Mr Wayne does to get to work.

One thing that sucks, nothing really involving computers is any where near me. Every things basically in Atlanta or around it. Work also looks easier to find out towards California or Texas.

*sigh*, I'm probably going to end up bagging groceries at Krogers. Then I'll have my Brother/Sister (more so brother I bet) bugging me that its Krogers and not Publix (where they work). Any one with a back and an arm that bends could do that. Theres nothing to learn... And I know damn well that it'd become life.

If I end up working there, even if any decent computer job comes up. I'll have to deal with 'Can I make as much as I am now', 'Will it cost me more to switch then stay', If I did get to leave for a computer job. And it was a pay cut, I'd never live it down. Any money I make would be going for the bills. So saving for certification would be out of the Q. I'd have less time to learn, so my studies in Programming, Computer Science, and Administration would suffer even more then current business demands.

I don't want to be working at the grocery store 40 years later, even if I made store manager at the bloody thing !

Some how I think the [SAS] was both a blessing and a curse. I love what I learned and passing on what I learned to new members but. Like with my Computer studies. I've educated my self - because no one is gonna fscking teach me. And I sure as heck can't pay some one to do it lol. I guess that's just life.

*sigh*, if I was smart... I'd probably grab a physics book and go back to manual labor.... Leaning about High Energy Physics would probably beat some of the crap HS calls home work.

To do list for the week:

Back up the server
Swap over currently updated module to Main Site after final tests.

Oh yeah, need to look at a PDP-11 Emulator and find some way of doing it... I'd like to get Unix Version 6 running in it. So I can screw around with the code. What good is source code and documentation. If you don't get to play ;-)

I figure, probably won't be good at it but its a good way to learn more about OS Design. And without breaking any of _my_ systems. Stuff like Kernels and Device drivers have always interested me. And the good part, doc's on how the frig a PDP-11 works is a lot easier to come buy then finding technical info on all the related parts in my Desktop lol.

## Tuesday, May 8, 2007

### am I to young ?

When I first read this, I figured a call to panic() would likely bring down the system or set it in motion to abort before the frag explodes . Maaaybe I've just lived in a world where the Blue Screen Of Death (BSOD, a Microsoft copyright) is prevelent a little to long. The idea that it calls update("which I have yet to disect"), prints an error message and calls the kernels idle() loop times infinty is neat. Rather then bringing the system to a screeching halt right then and there. At first glance I would've expected it to take down the system right bam'n'slam now.

```/*
* Panic is called on unresolvable
* fatal errors.
* It syncs, prints "panic: mesg" and
* then loops.
*/
panic(s)
char *s;
{
panicstr = s;
update();
printf("panic: %s\n", s);
for(;;)
idle();
}
```

Of course from the fine book for study. It seems the only way out of a panic() attack is a restart any way, but its not an instant 'crash, have a nice foo&ing day, rebooting now sucker' kind of thing. Which interestingly a lot of times my Windows machines have gone down, *cough*. Its kind of been to the BSOD what the expression 'Do not pass go, do not collect \$200' is to monopoly. It dies, you get an error, but it kills itself before you get to read it. Then tells you it was *probably* a driver issue lol.

Note that the above code snippet is probably under the this license.

It is from UNIX Version 6 as viewed from here. File is /usr/src/sys/kern/prf.c

## Sunday, May 6, 2007

Sheesh, I should learn to just roll over and die instead of stand up for my self some times.

Ma caught me doing some research on programming jobs. Now shes pushing, just what I need another pain in my ass. Programming is not like changing a frigging light bulb, Ok?

For petes sake its the kind of stuff a stack full of bachleors degrees would be competitive'ish for a start. Heck if I had 'practical' expirence that added up to my work history as a ScheiÃŸe Schaufel 'er. I might actually stand a good chance. She doesn't know a thing about programming. *huff* to her the FreeBSD and Linux Kernels are pieces of !@#\$, to me they are works of art.

sigh... why can't people ever leave me alone.. especially those that don't understand (and usually in her case.. wont or can't. (imho)). I need a ficken vacation.

I'm so tired of this place......
!@#\$ing databases....

## Saturday, May 5, 2007

### Of Code and Programs

Hmm, do I regret never having formal education in programming ? Not really no. Although I think it would've been cool to of had a teacher.

When it comes to languages and what not, every thing I know I've basically learned on my own. With the assistance of the fine World Wide Web of course. For what ever reason, don't know any more lmao. I started learning C++ one day. Said what the heck, installed an IDE and hit the web.

That was maybe 1.5-2.5 years ago I think..

One thing I do think I've missed out on. Is being educated on the things that transcend the languages. For example.. implementing a bubble sort in language foo should be easy enough ! But on the other hand. I'd much rather have a strong understanding of sorting algorithms and how to work out such problems my self. Then be able to implement the same solutions in many tongues. Although there's arguably no optimal algorithm that can solve any problem hehehe.

I find my self most often thinking in C or Pseudo English when trying to express my thoughts about computer code. I know about linked lists and such. But implementation wise I tend to visualize that sorta stuff in C =/.

I don't know why but Unix, C, and Vi feel just right. Like an extension of my hands. Now, I'm no solid programmer that's for sure. But for all of my personal study C is my strongest language. I'm not sure which I'm better at expressing my self in. English or C, its like a First and Second language kinda thing =/.

I don't really think I'm cut out for systems work but I often think about it. Stuff like implementing languages, compilers, drivers e.t.c. all interest me. Hell I'd write my own device drivers if I knew what the heck I was doing. Only thing is I don't :@

For me the language is a way of expressing a problem, an idea, or maybe even a solution. Although I reckon its meant to be easier for the computer to understand then humans lol. When reading programs I find the hardest things not figuring out what the code does. But how it interacts with the things around it.

Like, the initiation code in the FreeBSD kernel. The codes right there, plain enough as the nose in front of my face. But its hard to understand it. Because I know jack about it. The intimate relationship between the hardware... hard to grasp that fine. Yet its some thing that interests me so.

alas, tis late and I have a feeling to be close to some code. But I have no problem to solve. Well other then a little idea for the Rct Checklist hehe. I know near diddly squat about PHP and MySQL. But its fun and the syntax is close enough to C/C++/Java/Perl that I can figure it out, looking up a few odds and ends to be sure. As I go along with it. Like functions scope.

I do rather like C in that regard, I feel how it handles scope and linkage to be rather logical. Yet in a simple manor for most of it.

## Tuesday, May 1, 2007

### Is t his abuse?

I hit http://www.vim.org/ to look for some script and stopped by their tips section. Since I didn't have any thing else, well I started reading in the tips section. I know its a nice spot to find un-common keybinds and some nice macros and functions.

Is this abuse of the 'tabbed browsing' features ???

Hehehehe I think so!!