Geek Hike Gets A New Charity

Filed Under Hike With A Cause

Posted: 31 March 2008
Updated: 13 May 2008

Way back in February I blogged about fellow friend and geek, Joe Frambach, who was going to hike the Appalachian Mountain Trail in 100 hundred days.  That’s 2,174 miles! This hike was not only to challenge himself but to also help raise money for a given charity.  At the time he choose PAWS.  In addition to online “cyber” charity, he has been attempting to run charity events in the real world.  Unfortunately, PAWS continuously refused to help him in any fashion.  A direct quote from the PAWS contact was “We’re just gonna sit back and collect the money”.  Frustrated and displeased with PAWS, Joe decided to drop them and instead switched to Gilda’s Club Western Pennsylvania.

Gilda’s club is a non-profit organization that provides a meeting place for men, women and children living with cancer, along with their families and friends, to join with others and build social and emotional support as a supplement to medical care.  The name is in honor of Saturday Night Live comedian Gilda Radner who died of ovarian cancer.

Gilda has been extremely helpful.  They are enthusiastic about Joe’s hike and have offered to help find volunteers for any event Joe plans to aid fundraising.  Suffice to say, Joe is happier.  For those that already donated, myself included, Joe has assured me that your money didn’t just disappear.  Because of the charity switch, his donation bar (top left of my blog) had to be reset.  The original PAWS money raised has been instead sent into Gilda.  Hope no one was too keen on that money going to PAWS.

Since it’s been awhile and for any new readers, I’ll just ask again to help Joe out and donate some money.  He plans on starting May 1st, just after he graduates with a BS in Computer Science from the University of Pittsburgh. Throughout the duration of the trek, he will keep a journal with him at all times. He will attempt to meet many people and log their stories and their reasons for hiking, alongside his own narration of the trail. He’s also offering a copy of the journal upon completion.  Check out his Firstgiving site for all the details.



Info:
Joe Frambach
Computer Science and Applied Mathematics
University of Pittsburgh ‘08

 

Hike With A Cause: 2174 Miles in 100 Days
Sponsor Me: www.firstgiving.com/hikewithacause
HWAC Email: hikewithacause@gmail.com

Resident Assistant: Tower B 1017
Pitt Outdoors Club: www.pittoutdoors.com
Pitt Circle K: www.pitt.edu/~sorc/circlek
WWW: www.pitt.edu/~jrf27
Email: jrf27(at)pitt(dot)edu
AIM: joeframbach



Blog Updated To Wordpress 2.5

Filed Under Updates

Posted: 30 March 2008
Updated: 1 April 2008

Wordpress 2.5 was released and all I can say is…WOW!  They really overhauled Wordpress and made it Web 2.0.  The admin console has been totally redone with theme and layout.  I can custom design the layout and theme more easily.  It also adds better support for tags.  I used to need a plugin, which wasn’t all that great, that allowed me to do mass tag editing and so forth.  With the update done, it looks like I won’t need that plugin any more.  The visual editor has also been redone.  They claim it won’t mess with your code any more.  That was always a big issue with me.  The old editor gave me so many problems that I simply turned it off and wrote out the HTML code by hand.  The old editor would never be consistent and would always change the code around.  Will have to play around a bit and see if its finally better.  So far I love this update and look forward to trying it out some more.  Check out this site for all the details on the update.




This post currently has 3 Comments

Tags: , ,

Poop Fetish Meets Sexual Swingers

Filed Under Comical Misc

Posted: 30 March 2008
Updated: 30 March 2008

Every morning I go through my daily routine which includes checking out Analytics and seeing what traffic my site generated the day previous. Every so often, something interesting catches my eye. Analytics will show what keywords were used to search and come to my site. No surprise, a nice chunk of searches revolve around actual swingers. Most of that traffic leaves immediately after arriving. Probably from realizing my blog has nothing to do with that. Well today one search stuck out and made me laugh. “swinger pooping”.

Yup, I got a hit from someone Googling swinger pooping. Talk about an odd sexual lifestyle. Curious, I punched up Google and tried the search myself. I’m the 7th hit on the first page of results! I couldn’t believe it. The swinger is obvious but when did I talk about pooping? Following the link, I forgot that I had discussed poop when Chase rolled his inner tube over it at The Bahamas. LoL.

There are very few search words that will pop my site up on the first page. Granted I haven’t done much testing. Perhaps, one of these days I should run an experiment and see exactly what does.




This post currently has 7 Comments

Tags: , , , , , , ,

How To Create A New System Call For Linux 2.6 (i386)

Filed Under Programming

Posted: 30 March 2008
Updated: 30 March 2008

My Operating Systems class finally came out with a new project. The first part was to successfully get a hello world program to run in Linux under Qemu. The second part was more interesting. I had to implement two new system calls in the Linux kernel. Very exciting and more practical over working with Nachos. Which almost happened. Here are the simple, few steps needed to create a new system call:

Briefing
I’m assuming you already have the source code downloaded, uncompressed, and ready to modify. I used version 2.6.23.1. Let’s also assume the files are located in /Linux/ directory and the name of the new system call to add will be “sys_mycall”. There are only 3 files in which you’ll need to change: sys.c, syscall_table.S, and unistd.h.

Step 1
Navigate to /Linux/arch/i386/kernel/. Here you’ll find syscall_table.S. This is an assembly file used to map all the system call names. At the very end of the file add the following:
.long sys_mycall

Step 2
Navigate to /Linux/include/asm/. Here you’ll find unistd.h. This file actually maps each syscall to a number that is used by the kernel. In the file, you’ll see a list of #defines that start with “__NR_”. These are actually your syscalls. You’ll notice they all define a number in sequential order. Go to the end of the syscall list and add the following:
#define __NR_mycall [some number]

Where [some number] will be the next number in the “__NR_” list count. Next look for the line:
#define NR_syscalls [some number]

You must increment NR_syscalls number for every syscall you add. So in this case, add one.

Step 3
Navigate to /Linux/kernel/. Here you’ll find sys.c. This file is where you’ll write your system call’s implementation as a function. I scrolled to the bottom to add the function, however you could just as easily place it in the beginning or even the middle of the code. Your function header will look something like:
asmlinkage long sys_mycall()

Important things to remember are the asmlinkage. This links the assembly code (syscall_table.s) in order to find the function. Second, all syscalls must return a long. Even if your function only stores a variable, you must include a return. Though I didn’t include it, you are more then welcome to have function parameters.

Usage
That’s it! Just compile the kernel and you’re good to go. Pretty easy. To use the new syscall, just include unistd.h in your program. To invoke the system call:
syscall(__NR_sys_mycall);

If you have parameters just throw them in as arguments to the syscall() function.




This post currently has No Comments

Tags: , , , , ,

Pittsburgh Anti-War Protest

Filed Under Chatter Talk

Posted: 30 March 2008
Updated: 14 September 2008

Today, I spent most the day in the computer lab working. I was completely thrown off when I briefly left. My timing couldn’t have been better for right outside the building was an anti-war protest marching around the campus. Most of the roads were closed off (causing some backed up traffic) and a ton of police ensuring everything stayed orderly. Luckily, I always carry my camera with me, and I started snapping pictures.

Everyone is entitled to their opinions and I have absolutely no qualms with an anti-war protest. However the group running this protest is called POG (Pittsburgh Organizing Group). They do a lot of radical protesting with the most recent one being a surprise protest on a Carnegie Mellon research building. They were originally announcing a raid on a military recruitment office and were going to make an attempt to force the recruiters into cages. While all the focus was there, they instead charged that CMU building and blocked the entrances.

Those types of protest tarnish their cause and name more then anything. Equally bad is they are more then anti-war. They are anti…well…everything really. To include anti-recruiting and anti-military. While I can understand an argument for not being in Iraq, the anti-recruiting/military is just plain stupid. Were America not to have a military, how could we defend ourselves? What stability could be provided? I’m pretty sure an invasion would shortly follow.

It’s because of their radical tactics and thinking that I have a strong disdain for them. And when a Libertarian is saying someone else’s thinking is radical…you know its radical. But now I’m faced with a dilemma, do I post the pictures of the protest? This group thrives off media attention. Something they were proud of getting so much of in their Carnegie protest. Would posting those pics help them? Isn’t that what they want, attention? In which case it might have been better to not blog this. On the counter side, sometimes straight out ignoring things can be just as bad. I’ll have to sit and think on it for a bit. See what response I garner from this post. For now, I’ll just upload pics of the police.

Btw, the march itself consisted of a couple hundred people. Small considering how many people live in Pittsburgh. They did managed to get a news chopper to follow them a bit, but the amount of onlookers was quite laughable. Perhaps 50 or so at most. The talk I heard was pretty split between disgust and agreement with the protesters.

The police did an excellent job of maintaining order and acting professional. Considering all the trouble POG has caused them, I’m sure it was hard for them. They brought on a lot horses who took up the rear of the march, while motorcycles took point.



Multiplying By Rounding

Filed Under Math

Posted: 28 March 2008
Updated: 2 April 2008

This technique revolves around the whole idea of rounding one number up/down to an easier number to calculate. This could potential save you time. It all comes down to what you round to, usually a multiple of 10, 100, 1000, etc. First example:

99 × 4 =

Here, you’ll notice that 99 is just one away from 100 which is a lot easier to multiple. Lets round up by adding 1 and multiply.

100 × 4 = 400

Now, multiply the rounded difference with the unrounded number and subtract. Why subtract? Since we rounded up, 400 is larger then the actual answer. This means we’ll need to subtract to compensate.

1 × 4 = 4
400 – 4 = 396

Lets try another example:

304 × 9 =
300 × 9 = 2,700

Notice this time, we rounded down by 4 so our answer 2700 is less then the actual number. We’ll need to add in order to compensate.

4 × 9 = 36
2,700 + 36 = 2,736

Here’s another way of looking at it. It allows you to see more of the math behind this little trick:

24 × 8 =
(25 – 1) × 8 =
(25 × 8) – (1 × 8) =
200 – 8 = 192

Also notice the rounding was done to 25 since multiplying by 25 can be as easy to some as multiplying by 10. Remember, one can round to any number.




This post currently has 1 Comment

Tags: , , ,

FOIL Rule

Filed Under Math

Posted: 28 March 2008
Updated: 2 April 2008

I briefly mentioned FOIL in my previous posting and since my next multiplication post will mention it again, I thought it best to touch on it. FOIL is taught in schools as a way to help remember how to multiply binomials. Most people probably know it though I’ve heard of some schools not teaching it. FOIL stands for: First, Outer, Inner, Last. Where each word describes a terms specific location.

(a + b) × (c + d)

F: (a × c)
O: (a × d)
I: (b × c)
L: (b × d)

This yields the following:

ac + ad + bc + bd




This post currently has 1 Comment

Tags: , ,