Retrospectively Blah

June 9th, 2009 at 8:32 am by Mark
Tags: , , , , , , ,

     It seems like I’m the only person who still knows what happened a year ago.  Someone else made some rather half-hearted apologies about it, and claimed to have lied so much about the incident that it couldn’t be reversed.  Meanwhile, I’ve taken the brunt of those lies and accusations, and even had those lies used as further evidence for more things that never happened.
     It truly sucks to watch someone you care about devolve into paranoia and mania because of past trauma.  It’s even harder to watch them drink themselves into oblivion, effectively brainwashing themselves into believing their own bullshit because they’re too weak to stand up and say, “Hey, I have a problem, and I need some help.”  Sure, I’ve self-medicated the same way myself at times, but I’ve also known enough to realize when I needed help — and sought it out and taken it.

     So, suffice it to say, I’m more than a little down today.

     And my shoulder is killing me.

     Last week, I threw it out pretty bad.  I kept eating Ibuprofen, putting FlexAll on it to try and deal with it.  But by Friday, it was so bad that I had to go to the doctor.  I dreaded the Cortisone shot as much as I might dread a catheter, because they always hurt like Hell.
     This time was worse.  The shot was easy in and of itself, but filling an already inflamed joint with a thick paste adds tremendous pressure where you’re already feeling it.  That’s usually tolerable, except in this case, the entire bottom of my arm went cold and numb, and the fire shooting through my arm’s nerve tunnels had me pretty damn close to tears.
     “Keep your mind off it,” I kept thinking on the way to get my prescription filled.  I gave Mushy a random call, knowing he’d gone through a worse bout of it last year with his shoulder.  Didn’t work.  “Horror stories.  Fuck.

     And then, of course, came time to deal with the idiot Pharmacy techs who can’t read, “ALLERGIC TO ACETAMINOPHEN” on a prescription.  Nor did they have the brains to figure out the milligrams for a one-size-fits-all drug.  Nor did they have the social skills to treat me like anything less than an addict, even going so far as to say, “This doesn’t look like a real prescription.”
     The third pharmacy, of course, was the charm — but not before going back to the doctor’s office to get them to fill out the prescription form properly and call in the medication to the pharmacy of their choice, who also missed, “ALLERGIC TO ACETAMINOPHEN,” as did the third after having that one called in by the second pharmacy.

     I finally got the drugs I needed.

     And I logged in here after an extended absence to find a rather overwhelming amount of spam.

Is that even right?

     “Are tose numbers even close to right?“  I can’t even tell.  Since the spam filter only shows twenty per page, the page numbers I can click to are also in expoential notation … all thanks spambots, page scrapers, content theives, and Southeast Kentucky Rednecks, thanks to the bullshit in the first part of this post…

     Some days, I just shouldn’t bother.

Sun Claims MySQL Backend Requires Commercial License

January 13th, 2009 at 3:11 pm by Mark
Tags: , , , , , , , ,

     At the beginning of last year, Matt Mullenweg of Wordpress stated that the takeover of MySQL by Sun Microsystems was, “a good thing.”  Being that MySQL is the world’s most popular “free” Database solution, I immediately registered my concern, based on the twenty years of experience working with Sun’s products, vendors and support staff, and the general malaise that has existed at the company since 2002.

     A software developer, working on a for-profit website, contacted me today, more than a little worried over something Sun had told them…

     “Since you’re running your application on top of MySQL, you are required to purchase an enterprise license for MySQL.”

     So it seems that Sun wants to change the terms of the Free, Open Source version of the MySQL product such that any software developer who allows the use of their Free, Open Source backend has to pay Sun a small fortune for an Enterprise MySQL License.  Not only is it complete and utter bullshit, this is typical of Sun’s usual strong-arm tactics which nearly every commenter on Matt’s article warned about.

     In nearly all instances of PHP software development, MySQL is merely being used a storage backend.  No part of MySQL is being reproduced or packaged with any PHP software that I can think of, whether said software is Open Source, GPL, Freeware, or a Commercial Product.

     And if they are willing to lie and attempt to cheat software developers out of their meager savings, then how well does this bode for future software development using MySQL as a backend? 
     Will Sun attempt to go after for-profit Internet Service Providers who provide users with the ability to devlop their own Database applications, or use MySQL as a backend to other web-based applications?  Will Sun attempt to go after Hosting providers who do the same?

     You can expect as much from a company who was a proven track-record of being one of the most greedy corporations on the planet.  If it weren’t for their benefactors in the US Government, who heavily utilized their overpriced hardware and ridiculously priced “Platinum” support packages, Sun would have gone bust a long time ago.  But, with your tax dollars footing their equity, Sun even managed to send their multi-million dollar Platinum Support customers to deal with ill-trained, rural support staff based in India… So much for Platinum, eh?

     PostGreSQL is looking better and better…

Politically Correct Wordpress?

November 26th, 2008 at 8:23 am by Mark
Tags: , , , , ,

     Okay, so I’m browsing software today, and I see this incredible plugin:

blog, new beginnings, new plugin. My latest plugin, the Wordpress Politically Correct plugin, PC plugin for short, is a fitting plugin for today’s 2.0 bloggers. Turning your blog into something your mother would be proud of has never been easier.

Like it’s name suggests, the PC plugin gets rid of all the non PC language on your blog.

     Yep, sure as excrement, it works.  I should maybe use something like that on my Contact form, seeing as how so many of those less than intelligent, copulating extremely ill-mannered people keep sending me the most mean-spirited cow excrement I’ve ever had to copulating read.

BUG: Unclosed Firefox Attack Vector

November 6th, 2008 at 8:45 pm by Mark
Tags: , , , ,

     Firefox still sucks.  I don’t care what everyone else in the world thinks, and I know it’s an unpopular opinion, but it’s the truth.  While they bitch about “standards” all the time, the fact is, 95% of what Firefox calls “a standard” isn’t even ratified yet.  When developers can’t tell a “Standard” from a “Request For Comment,” all sorts of malady ensues.
     It’s also disingenuous on the part of Web Developers to say, “It won’t render right in IE because IE sucks!” when the fact is, any Web Developer worth their salt would make an attempt to make a page render right in the predominant browser and its inferior counterpart.  Yet, for some reason, the call is to “blame Microsoft” every time a Developer makes a stupid mistake or doesn’t know what the Hell they’re doing…

     There’s also this ridiculous assertion that Firefox is inherently bullet-proof as far as being hackable.  The case is that IE is the predominant browser, so it makes sense to use it as the target for widespread attacks.  Firefox is an even more broken mess from a Security standpoint, and the veracity of its issues span across multiple platforms, despite claims otherwise.

     A nice little case in point of “shitty code” in Firefox is this attack vector I found two years ago and apparently still isn’t fixed…

     Get out your favorite PHP editor, and send an image in a stream… but in the header, use these two lines instead of something normal:

echo "Content-type: image/jpg";
echo "Content-length: 0";

     Now, with every other user-agent in the world, this won’t work for two very important reasons:

  1. “image/jpg” is not a valid content-type.  “image/jpeg” is.
  2. A connection-length of zero bytes tells the user-agent not to receive any data.

     Firefox, on the other hand, will go ahead and render the invalid content-type, zero-byte image at whatever size the Server streams to it, proving that it doesn’t care what’s actually being received from a possibly malicious host.

     Can you say, “Exploitable,” boys and girls?

     I knew you could…

Comment Avatars

October 27th, 2008 at 1:57 am by Mark
Tags: , , , ,

     A few people have asked where the comment avatars went lately …

     Well, the old suggestion was, “Sign up for MyBlogLog and it’ll pull them from there,” but Yahoo screwed that up recently.

     The best suggestion now is to go to Gravatar and sign up … you can even add multiple e-mail addresses, each with its own picture if you like, to your primary account.

     So check it out … It’ll work automagically on thousands of Wordpress-based sites out there, as well as a lot of other places you might not expect…

FIX: Pyzor 0.4.0’s Discover Problem

July 24th, 2008 at 1:27 pm by Mark
Tags: , , , , , , , ,

     If you’re using Pyzor to help you block spam (a lot of people use it alongside SpamAssassin), then you’ve probably run into these nasty “pyzor: check failed: internal error” messages in your maillog since July 21st.
     After digging into on my own a bit, I found two things.  The first was the “InternalError” was being caused by a corrupt “servers” file that contained nothing but “File Not Found” information.  The second was that the “discover” command line was returning:

downloading servers from http://pyzor.sourceforge.net/cgi-bin/inform-servers-0-3-x
Traceback (most recent call last):
  File “/usr/bin/pyzor”, line 4, in ?
    pyzor.client.run()
  File “/usr/lib/python2.4/site-packages/pyzor/client.py”, line 991, in run
    ExecCall().run()
  File “/usr/lib/python2.4/site-packages/pyzor/client.py”, line 185, in run
    self.servers  = self.get_servers(servers_fn)
  File “/usr/lib/python2.4/site-packages/pyzor/client.py”, line 410, in get_servers
    servers.read(open(servers_fn))
  File “/usr/lib/python2.4/site-packages/pyzor/client.py”, line 119, in read
    self.append(pyzor.Address.from_str(line))
  File “/usr/lib/python2.4/site-packages/pyzor/__init__.py”, line 458, in from_str
    fields[1] = int(fields[1])
IndexError: list index out of range 

     Obviously, linking to non-existent files, especially in the /cgi-bin/ directory, is a bad thing.

     As a temporary measure, simply disable your “pyzor discover” cron job, and manually add “82.94.255.100:24441″ into your “servers” file (wherever it may be with your configuration).

FIX: Search Everything 4.6 Setting Issues

June 22nd, 2008 at 3:53 pm by Mark
Tags: , , , , , ,

     Ya know, I saw a random bug report in the Wordpress forums about the Search Everything plugin with no actual description about what the bug was.  It just had a code snippet and said “108.”  No explanation, no fix… Just a complaint that says “108.”

     In SE-Admin.php, change Line 108 from:

<p><input type=”checkbox” id=”search_drafts” name=”search_drafts” value=”true”  <?php if($options['SE4_use_draft_search'] == ‘true’) { echo ‘checked=”true”‘; } ?>

     To:

<p><input type=”checkbox” id=”search_drafts” name=”search_drafts” value=”true”  <?php if($options['SE4_use_draft_search'] == ‘true’) { echo ‘checked=”true”‘; } ?> />

     Of course, while you’re at it, you can fix Line 102 from:

<p>     <input type=”checkbox” class=”SE_text_input” id=”appvd_comments” name=”appvd_comments” value=”true”  <?php if($options['SE4_approved_comments_only'] == ‘true’) { echo ‘checked=”true”‘; } ?>

to

<p>     <input type=”checkbox” class=”SE_text_input” id=”appvd_comments” name=”appvd_comments” value=”true”  <?php if($options['SE4_approved_comments_only'] == ‘true’) { echo ‘checked=”true”‘; } ?> />

     After doing that, some of the check boxes will actually show and work on the Settings page…

FIX: Wordpress 2.5 / Akismet 2.1.4

May 14th, 2008 at 11:59 am by Mark
Tags: , , , , , , ,

     There’s a stopper-style bug in the the latest Akismet plugin for Wordpress.  If you have multiple pages of Spam Comments, it keeps returning the first fifty — not good if you get as much Spam as we do, as we have to periodically check for false positives.
     The fix is easy…

     In Akismet 2.1.4, change wp-content/plugins/akismet/akismet.php, line 483 from:

        $comments = akismet_spam_comments( $current_type );

     to

        $comments = akismet_spam_comments( $current_type, $page );

     And Enjoy.  ;-)

LOLcat Generator, anyone?

May 23rd, 2007 at 6:04 pm by Mark
Tags: , , , , ,

     My friend Anton came up with a great new way to use up all that annoying, excess, monthly bandwidth … *snicker*

     In the spirit of I CAN HAS CHEEZBURGER?, he brings you…


LOLcat Generator

     The lolcatgenerator.com

     Create your own LOLcat!  Vote on others!  And if you act now, you’ll get the personal satisfaction of knowing you made the funniest one and have no way to prove it! ;-)

Note: I R GUD BETA TESTER!

reacTable: The 21st Century Synthesizer

April 2nd, 2007 at 12:50 am by Mark
Tags: , , , , ,

     Basically, the reacTable is a flat surface that makes sounds and music by dropping different modules onto it, and positoning them so that get the sound you want.  Modules range from tone generators, to strobes, to noise gates, etc. etc.  It’s like a musical flowchart…
     From its designers at Pompeu Fabra University in Barcelona:

The reactable hardware is based on a translucent round table. A video camera situated beneath, continuously analyzes the table surface, tracking the nature, position and orientation of the objects that are distributed on its surface, representing the components of a classic modular synthesizer. These objects are passive without any sensors or actuators, users interact by moving them, changing their position, their orientation or their faces (in the case of volumetric objects). These actions directly control the topological structure and parameters of the sound synthesizer. A projector, also from underneath the table, draws dynamic animations on its surface, providing a visual feedback of the state, the activity and the main characteristics of the sounds produced by the audio synthesizer.

     Put simply:  I WANT ONE!

     In case you’re not getting it, I’m gonna post all three demo videos for this thing.  This first is Basic Demo #1.

     Does that deserve a, “Whoah!” or what?  This is cool stuff!  So we go on to Basic Demo #2:

     Starting to understand it?  Then you’ve gotta check out the Improvisation Demo:

 

     The fun part is, it’s components are not exactly “cutting edge.”  But the very idea of putting something together in this fashion is leaps and bounds ahead.  Serious kudos are due its creators!

     The “Cool” Factor doesn’t stop there.  This puppy even runs on Open Source software!

     Be certain to check out their website

Tip: Anton, over at LR2