MaruBlog - a supybot plugin

| No Comments | No TrackBacks

MaruBlog is a worthless supybot (http://supybot.com) plugin that dumps blog posts from the blog I am Maru into an IRC channel.

Currently, it's set to strip out any lines that contain non-ASCII characters, mainly because many IRC servers aren't Unicode-aware, and this plugin was developed for English-speaking users. It's simple enough to hack to make it dump the Japanese back out.

It also works better when most of the users are using IRC clients that are capable of inlining images, like alice (http://github.com/leedo/alice).

Screenshot

MaruBlog.png

Installation

Installation is simple, simply drop the plugin into your Supybot plugin directory, and issue "load MaruBlog".

Dependencies

You will need BeautifulSoup 3.0.x. (http://www.crummy.com/software/BeautifulSoup/). 3.10.x does not work properly.

Use

A summary of commands:
  • maru: Returns a blog post at random. Issuing an integer as a parameter (e.g., maru 451) will return that particular blog post.
  • hugs: Huuuugs!

Fun things to do

  1. Add "Hey" and "," to strings your bot will respond to.
  2. Add an alias for "maru!" to "maru"
Now, you can issue Hey Maru! or Hey, Maru! to get a blog post.

There is cat hair on my desk

| No Comments | No TrackBacks

That is all.

University of Wisconsin-Parkside: Here I come.

| No Comments | No TrackBacks

So I've applied, been accepted, and will be attending University of Wisconsin - Parkside in the Fall semester of 2009.

That is, as long as I don't fall into a giant hole of bureaucratic red tape.

I'm going to be working toward a Bachelors of Science in Computer Science. I was, at one point (fresh out of high school) working toward a BS in Computer Engineering at Southern Illinois University - Edwardsville, but a combination of lack of funding, not wanting to bury myself in loan debt, and a general lack of conviction eventually led to me leaving. I did finish an AAS in Network Administration and Computer Security from the College of Lake County, but that particular degree left me feeling, erm, uneducated. It got me into a great internship that led to a great job, but I feel like it's time to expand my educational horizons.

So. Here goes.

For the first time, I'm actually going to lay down my course schedule in front of me and figure it out at the start. I'm also going to do it on the internet, everyone can see it!

Here's my core course list for the next few years (I'll be a part-time student, so I'll be lucky to fit more than one course in per semester). Items in strikethrough should hopefully be covered by a transferring credit. (Nothing's guaranteed at this point. I'll apparently get an email in a few weeks telling me what went through.) c denotes that it should transfer from College of Lake County, s means SIUE.

Course CodeDescriptionCredit Hours
MATH 221 sCalculus and Analytic Geometry I5 cr
MATH 309 cProbability and Statistics4 cr
PHYS 201 sGeneral Physics I5 cr
CSCI 231Discrete Math3 cr
CSCI 241 sComputer Science I4 cr
CSCI 242 sComputer Science II4 cr
CSCI 250Digital Logic and Computer Organization4 cr
CSCI 331Computational Models3 cr
CSCI 333Programming Languages3 cr
CSCI 340Data Structures and Algorithm Design3 cr
CSCI 355Assembly Language Programming and Computer Architecture4 cr
CSCI 370Operating Systems3 cr
CSCI 380Files and Databases4 cr
CSCI 475Software Engineering Principles and Practice I3 cr
CSCI 476Software Engineering Principles and Practice II3 cr

Here's the electives. I'm not expecting anything to transfer, but I guess there is a chance that some of these might move over from CLC:

CSCI 405Artificial Intelligence3 cr
CSCI 409Human-Computer Interfaces3 cr
CSCI 420Computer Graphics3 cr
CSCI 421Computer Vision3 cr
CSCI 440Compiler Design and Implementation3 cr
CSCI 444Event-Driven Programming3 cr
CSCI 445 cWeb Security3 cr
CSCI 467Computability and Automata3 cr
CSCI 470Operating System Implementation3 cr
CSCI 477Computer Communications and Networks3 cr
CSCI 478 cNetwork Security3 cr
CSCI 480Advanced Databases3 cr

That said, I think I'd like to take CSCI 409 and CSCI 470 and 480.

First things first. I'm going to start slow, and take just one course in the upcoming semester. It depends heavily on what I can get in to and what transfers, but it will likely be one of the following:
* CSCI 231 - Discrete Math
* CSCI 250 - DIgital Logic and Computer Organization

Now, to get ahold of someone in the department and see if I can actually register yet.

Update - Aug 17, 2009

Hey, I have an appointment with an advisor tomorrow. Better than my significant other, who's going for Art and English Education, and after a series of phone calls was informed that he'd have to wait. Let's see how this goes. Note to self: Print out transcripts, bring old course catalogs (or place PDFs on iPhone.)

I hate WordPress

| No Comments | No TrackBacks

The WordPressµ install on our production webserver is woefully out of date and is proving to be a TREMENDOUS headache to upgrade.

This will be the page (on a competing blog platform, nonetheless) where I shall complain about it.

Problem 1

The documentation sucks when you're not doing a minor upgrade.

I'm moving from 1.2.2 to 2.8. A straight upgrade results in blank pages, nothing logged, nothing dumped, nothing nothing. So, I'm incrementally upgrading. This is taking forever.

Problem 2

The documentation sucks when database changes need to be made.

I was trying to figure out why PHP kept barfing out errors like thIs:
[06-Aug-2009 12:50:20] WordPress database error: [Table 'blog.wp_1_term_taxonomy' doesn't exist] SELECT COUNT(*) FROM wp_1_term_taxonomy WHERE taxonomy = 'post_tag'

Thankfully, Google pointed me to this page: http://osterman.com/wordpress/2007/10/15/wordpress-database-error-table-wp_terms-doesnt-exist

Oh. How about that. There's another upgrade.php script that needs to be run.

Problem 3

The documentation for plugins sucks.

== Installation ==

Upload the Akismet plugin to your blog, Activate it, then enter your [WordPress.com API key](http://wordpress.com/api-keys/).

1, 2, 3: You're done!

Wouldn't telling me where to upload this be useful? I mean I could just drop it into /tmp/, but for some reason I don't think that would work.

Volkswagen Commercial Playlist

| No Comments | No TrackBacks

I want a playlist on my iPod for my Rabbit (Mk5 Golf for the rest of the world) of a bunch of Volkswagen commercial songs. Here's what I've compiled so far, feel free to comment, YouTUbe links to commercials are appreciated, I'll be adding them to this table as I have time.

SongArtistVehicle (US Names)
IIBSCharles MingusJetta MkIV
Mr. RobotoStyxGolf MkIV
Mr. Blue SkyElectric Light OrchestraNew Beetle Convertible
Pink MoonNick DrakeCabriolet MkIII
The Birds and The BeesPatrick and EugeneRabbit MkV
Kliene GTIGTI MkI
Da Da DaTrioGolf MkIV
Singing in the RainMint RoyaleGolf GTI MkV
A Million Miles AwayJ. RalphJetta MkIV
WalkenWilcoJetta MkV
Sky Blue SkyWilcoEos
Jung at HeartMaster CylinderJetta MkIV
Little Fluffy CloudsThe OrbNew Beetle
The PassengerIggy PopNew Beetle


Update

Someone has made a good start:
http://www.veemer.com/vw/vwMusic.htm

There's a dead stray cat in my Tomcat cluster

| No Comments | No TrackBacks
Jul 24, 2009 4:28:06 PM org.apache.catalina.cluster.tcp.ReplicationTransmitter sendMessageData SEVERE: Unable to send replicated message, is member [PooledSocketSender[/192.168.110.2:4001]] down? java.net.NoRouteToHostException: No route to host



Okay; after restarting the cluster member several times, I still see it in the $WEBAPP_NAME.ClusterMembership.MembersByName MBean in jconsole. How the hell do I purge these things? I just checked my logs, no one has had that IP address since 8:30 this morning, and that particular range is used for VPN logins.

Outlook Attachment Saving breaks when store is full

| No Comments | No TrackBacks

Microsoft Outlook, starting with probably around Outlook 2000, decided to save all attachments to a temporary file store before placing them on your disk. Apparently this was for security, since it would allow a virus scanner to read it off of the disk before rendering it.

Whatever. That's not really important.

Either way, when the folder "fills up" (it doesn't need to fill up the disk, it seems to be an arbitrary amount), you'll get this message:

"Cannot create file: (filename). Right-click the folder you want to create the file in, and then click Properties on the shortcut menu to check your permissions for the folder."
Outlook_Save_fail.png

Typically cryptic Microsoft error message, and yet again another message that doesn't give you a clue as to what's actually wrong.

To fix this:
1. Kill off Outlook.
1. Fire up good old regedit.
2. Navigate to HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\Security
3. Find the OutlookSecureTempFolder key. Open it, and copy the string within (a filesystem path) to your Clipboard.
4. Go to that folder.
5. Delete the contents.
6. Start Outlook back up.
7. Rinse, repeat when it fills again.

How To Write Unmaintainable Code

| No Comments | No TrackBacks

To my boss, if you're reading this: everything I've coded so far is in Python, and it's pretty hard to obscure that.

http://freeworld.thc.org/root/phun/unmaintain.html?repost=forPosterity

Wait... what?!

| No Comments | No TrackBacks

Given a range of cells with hyperlinks in them in Microsoft Excel, you want to remove the hyperlinks (that Excel so helpfully made for you) and just leave the text.

Okay. Let's look it up in Help.

To turn off several hyperlinks at once, do the following:
1. In a blank cell, type the number 1.
2. Right-click the cell, and then click Copy on the shortcut menu.
3. Hold down CTRL and select each hyperlink that you want to turn off.
Tip To select a cell that has a hyperlink in it without going to the hyperlink destination, click the cell and hold the mouse button until the pointer becomes a cross , and then release the mouse button.
4. On the Home tab, in the Clipboard group, click the arrow below Paste, and then click Paste Special.
5. Under Operation, click Multiply, and then click OK.

Wow. That was really obvious! Thanks for making your software so easy to use, Microsoft. Give your UI team a pat on the back.

I should also point out that the above process doesn't work.

update
Okay, so I figured out why it didn't work.

Excel didn't actually make hyperlinks. It just turned the text blue and underlined it. If i opened each cell, then pressed enter to commit the changes, it would convert it to a hyperlink, and then the above process worked.

Of course, since it just changed the formatting, the correct way to fix it was to adjust the formatting on all the cells.

Lamest. Phishing attempt. Evar.

| No Comments | No TrackBacks

One of my users just forwarded this message to me:

From: Support [mailto:support@outlook-express.com] 
Sent: Tuesday, May 19, 2009 4:14 PM
Subject: Microsoft Outlook Notification.

You have (1) message from Microsoft Outlook.

Please re-configure your Microsoft Outlook again.
Click on the link below to setup your Outlook:

http://outlook.microsoft.com.[redacted].org/outlook/setup.php?id=947

Riiiight. Promptly told the user to delete and ignore it.

Okay, what the hell, I'm on a Mac, I'll click it.

Picture 6.png

Okay. So, as an end user, I'm supposed to know:

  • My username
  • My password
  • My outgoing SMTP server address
  • My incoming mail server address

Anyone who knows enough to fill out those fields properly should know better than to fill out the form at all.

That said, a human is probably reading this, meaning that if a user did enter "company.com", they'll have enough sense to look at the MX record for company.com and find the mailserver.