June 2006


If you have ever suffered a kernel panic on a Linux system, only to reboot and find you need to fsck your harddrive, you will find these short cuts handy. I know I have needed something like this many times while messing around with Gentoo kernels and borked installs. If you have compiled your kernel with a yes to Magic SysRq key (CONFIG_MAGIC_SYSRQ) in the kernel .config file, you will have the ability to use these shortcuts.

By pressing Alt + SysReq + any of the keys below, you can perform any of the functions listed:

  • r - Turns off keyboard raw mode and sets it to XLATE.cc
  • k - Secure Access Key (SAK) Kills all programs on the current virtual console
  • b - Will immediately reboot the system without syncing or unmounting your disks
  • c - Will perform a kexec reboot in order to take a crashdump.
  • o - Will shut your system off (if configured and supported)
  • s - Will attempt to sync all mounted filesystems
  • u - Will attempt to remount all mounted filesystems read-only
  • p - Will dump the current registers and flags to your console
  • t - Will dump a list of current tasks and their information to your console
  • m - Will dump current memory info to your console
  • v - Dumps Voyager SMP processor info to your console
  • 0-9 - Sets the console log level, controlling which kernel messages will be printed to your console. (’0′, for example would make it so that only emergency messages like PANICs or OOPSes would make it to your console.)
  • f - Will call oom_kill to kill a memory hog process
  • e - Send a SIGTERM to all processes, except for init
  • i - Send a SIGKILL to all processes, except for init
  • l - Send a SIGKILL to all processes, INCLUDING init (Your system will be non-functional after this.)
  • h - Will display help ( actually any other key than those listed above will display help. but ‘h’ is easy to remember :-)

There are more suggestions in the official Linux kernel Documentation directory (that’s where this came from). See /usr/src/linux/Documentation/sysrq.txt for more information on this handy kernel feature.

As of last Monday, I have travelled to the Dark Side. I am taking a 4 week class on Java. (Not the coffee) The class starts at 12pm and gets out at 4pm, but we can leave earlier if we finish the day’s project. I think I got a pretty good deal on it. The class only costs $20 and it covers one semester of AP Java in 2 weeks, then the last 2 weeks we focus on game development. To top that off, the class is taught by the college’s computer science professor, so we get a knowledgable instructor that can answer our questions.

So far, I haven’t learned to much. I have learned a few things I could have picked up from a Google search in less than five minutes, but that’s about it so far. It is nice to be attending the class with a friend though. My neighbor was the one who found out about this program and the one I’m taking it with.

These last few weeks have not been all good though. My grandfather Prince “Tex” Moon passed away Father’s Day night. They tried to administer an I.V. at the nursing home, but couldn’t get it done properly, so they shipped him to a hospital. Shortly after they arrived they told us to get down there. Not too long after, he passed away when his breathing stopped.

Apparently, he had some kind of infection (high white blood cell count) and was extremely dehydrated. It is amazing what the human body can withstand though. On the paper they gave us that lists the problems he had, he had 21 medical issues, including Parkinson’s Disease, pneumonia, and Insomnia. So, tomorrow I’ll be heading to his funeral.

Since I’ve been slacking on posting for a few days, I would just like to get a thought out that came up a few days ago on TechCrunch, in one of the largest flame wars I have seen on their site. This battle was mainly between the TechCrunch users, Flickr’s Stewart Butterfield, and Zooomr’s Kris Tate in this post. If you read the comments, you see an interesting thing that really hasn’t come up in “Web 2.0″ yet. Should user’s data be open to everyone, including competitors or should it be locked away?

Most people agree that Web 2.0 includes openness of data via API’s and other various methods, but not once do you hear about where the line should be drawn when running a business based on these ideas. I personally think it would be a better world if all of this data was open to competitors, as long as they do not damage, edit, steal, or delete any of my data, but this is a hard thing to trust random people on the internet to do. If a site can move your data over to their’s and then delete it on competitor FooBar Inc…what’s stopping them?

I finally got my Valley Schwag. I didn’t get any of the rare items, but there is still some pretty decent things. Don’t worry if you haven’t heard about Valley Schwag yet, they have only been live for about 2 months now. Anyway, I finally got around to uploading the pictures. You can click them for fullsize.

ValleySchwag2 goatse sightings RubyRed Labs

Songbird Technorati Laughing Squid

EFF abazab perplexcity

dogster and catster

So over the period of a week, I’ve been helping Alpaca get a MAMP (The setup, not the prepackaged deal) setup going off and on. So starts a huge adventure.

We first started looking at darwin ports, but we soon realised that it did everything we didn’t want it to. Disabled most PHP modules, disabled pear and pecl, and just flat out didn’t work for what we needed. The only thing that did work was the MySQL port…

So we went over to the MAMP camp. We thought we had it. There it was, a prepacked installer with Mysql 5, PHP5, apache, and all the PHP extensions required but two pecl ones. Little did we know… So the first task at hand was to disable eAccelerator. This was easily done in a control panel, but the rest wasn’t. MAMP doesn’t add any of the binaries to your shell’s PATH, so we had to do that so we could use pecl.

From there, we tried to install APC and so the trouble began. We were loaded up with errors about Apache’s APXS and config_vars.mk. I quickly solved the APXS file issues, but the config_vars.mk was a stumper. We could not make it work, even putty an old one there, since MAMP doesn’t have one.

So now, we’re going hardcore. I’m just going to tell him how to compile them from source so we don’t lose anymore time, because this one day job has taken WAY too long to do.

P.S. I’m still working on that new design, just a bit preoccupied at the moment. I also have an APC/Memcached article 75% finished.