Blog

  • Site Diversity FTW

    If it’s the thought that counts, think about how site diversification has helped out the Gawker Media and Nick Denton these past 6 months.

    This set of graphs says it all:

    Site Diversity FTW in the Gawker Network

    Happy Holidays!

  • Another Hackday Update: PHP unserialize doesn’t quite do it

    Wow, I had to use someone’s custom unserialize code because PHP’s unserialize doesn’t quite work multi-byte strings. 🙁 Time wasted: 3 hours.

    Here’s the function:

    function mb_unserialize($serial_str) {
    $out = preg_replace(‘!s:(\d+):”(.*?)”;!se’, ‘”s:”.strlen(“$2″).”:\”$2\”;”‘, $serial_str);
    return unserialize($out);
    }
  • Update on the WordPress Dev2Live Hackday

    I know the bare minimum of what has to change in a WordPress install. Code that gets me the tables, and shows me the serializeable data in WordPress’ option settings is done.

  • A WordPress Hackday

    Today, I’m going to explore looking for a solution for staging WordPress from a development environment to a production one. I’ll be posting throughout the day as “hacks” become available.

    The main issue is changing serialized dev data into production data.

    I’ll be in irc.freenode.net #wpdev2live .

  • Looking For a New Web 2.0 Job? Try Shifting Your Perspective.

    I spoke to a friend on Tuesday who recently received a promotion with a company he’d been employed with for just about a year out in Ohio. And the day before, on Monday, I learned that two friends had been laid off from the jobs they loved here in the Bay Area. When the Tuesday friend said he didn’t know how to feel about his promotion, I advised him to be grateful.

    The Tuesday evening news informed me that if trends don’t change, California is going to run out of money for people on unemployment within a year, and will then have to borrow money from the federal government, as my home state Michigan and its neighbor Indiana are already doing. California’s unemployment rate now sits at an average of 8.2%. Layoffs are occurring left and right, and those in the tech industry can be tracked at both the TechCrunch Layoff Tracker and at CNET’s Tech layoffs: The scorecard. As was noted in October at sCommerce, “[w]hen it rains, it pours in the Tech World,” and already December has certainly seen its own fair share of downpour.

    One recent victim I talked to kept shaking his head and insisting that it just didn’t make sense. But unfortunately, much as I sympathize and wish circumstances were otherwise, it does make sense. Businesses are doing the same thing the rest of us are doing, tightening their belts and hoping to survive the winter. Most people I spoke with didn’t seem to know where to begin once they’d lost their jobs.

    However, while many industries are (however temporarily) very decidedly on the decline, others are thriving, growing even, and it isn’t impossible for the tech savvy to migrate over. Education, for instance. With so many people out of work, many are looking to further their educations. The Labor Department reported 9,800 jobs were created in the education industry. Additionally, the director of the Center for Economic and Policy Research in Washington, DC, Dean Baker, is quoted on CNNMoney.com as saying, “Education will be an area that governments will try to protect because there’s a lot of political support.”

    But you don’t have to be a teacher at an established institution to teach. (Though that certainly isn’t a bad way to go if you can manage it. I suggest checking your local city or community college’s website, or trolling through the local paper’s want ads. That’s how I found an opening for an English teacher at my former local community college.) Freelance tutoring is a perfect opportunity for some quick money and a new addition to your resume. Lots of people are turning to private tutors when they don’t have the time or discipline for a structured class schedule.

    Another industry that will always remain strong is the health industry. CNNMoney.com reports that “[e]ven in the midst of the economic fallout, healthcare employment grew by 34,000 jobs in November,” and later went on to add that “[o]ptions…abound at pharmaceutical companies, biotech firms and medical-equipment companies.” The moderator of Your Health and Tech, William Welense, urges people “to look into healthcare information systems! Seriously, HCIT [Health Care Information Technology] really really really needs some web 2.0 people, especially on the visual design part of development.” And with innovations like Google Health (blogged about here at Your Health and Tech) coming out, this could be a really exciting field to get into!

    If you are already in the Bay Area, and don’t know what health care management software companies are around, I suggest you first stop by the Yahoo! Directory for San Francisco Bay Area > Health Care Management Software for a handy list of companies with links to their websites. Don’t overlook the classified ads on Craigslist either. After typing “healthcare information systems” into the search field, nineteen results popped up for me on Tuesday, December 16.

    And speaking of people wanting to further their education in these times of low employment, a master of science degree in Human Computer Interaction might be a handy thing to pick up, especially when looking at the field of healthcare information systems, and can be earned entirely online at certain universities, such as Chicago-based DePaul University.

    If you’re looking online for jobs, why not stop by Stephan Miller’s quick list of 11 Places to Find Tech Jobs? If you are looking for freelance work, definitely check out Elance. They have everything from “web & programming” to “writing & translation.” Other sites in this vein are Project4Hire and GoFreelance.

    Most importantly when looking for a new job, don’t forget to network. Ask your friends. If they don’t know somebody, maybe they know somebody who knows somebody. I myself have connections at both Google and LucasArts that will likely never do me a damn bit of good, but could come in handy for other friends who are in those fields. I’ve found that a lot of companies offer recruitment bonuses to their employees, so don’t feel bad asking. And as pointed out in my previous post, don’t overlook even little things like the local happy hour.

    The only way to get through this economic downtime and get things moving again is to persevere. Don’t lose hope, and don’t give up. If you can’t find a new job in your usual field, branch out. There really are jobs out there, we just have to know where to look. Hopefully this has offered a few launching points. Best of luck! I’m rootin’ for ya.

  • Installing fcgi on IIS 6.0 with PHP 5.2.8

    Choose fcgi iis
    Choose IIS FastCGI
    Be sure to install extensions needed for WordPress
    Be sure to install extensions needed for WordPress

    Select these extensions:
    GD2
    Gettext
    Multi-Byte String
    Mimetypec
    MySQL
    MySQLi
    PDO/MySQL
    SQLite (in case MySQL fails)
    XML-RPC (WordPress needs this)

    Be sure to install Pear and the PHP Manual, too.

    Next step: Install FastCGI with the installer.

    For more info check out this page

    Also check out info how to install FastCGI on IIS 6.0.

    Install eAccelerator.

    My php.ini is below:

    [PHP]
    cgi.force_redirect=0
    extension_dir=”C:\Program Files\PHP\ext”
    [PHP_GD2]
    extension=php_gd2.dll
    [PHP_GETTEXT]
    extension=php_gettext.dll
    [PHP_MBSTRING]
    extension=php_mbstring.dll
    [PHP_MIME_MAGIC]
    extension=php_mime_magic.dll
    [PHP_MYSQL]
    extension=php_mysql.dll
    [PHP_MYSQLI]
    extension=php_mysqli.dll
    [PHP_PDO]
    extension=php_pdo.dll
    [PHP_PDO_MYSQL]
    extension=php_pdo_mysql.dll
    [PHP_SQLITE]
    extension=php_sqlite.dll
    [PHP_XMLRPC]
    extension=php_xmlrpc.dll

    ;eAccelerator
    extension=”eAccelerator.dll”
    eaccelerator.shm_size=”150″
    eaccelerator.cache_dir=”C:\cache”
    eaccelerator.enable=”1″
    eaccelerator.optimizer=”1″
    eaccelerator.check_mtime=”1″
    eaccelerator.debug=”0″
    eaccelerator.filter=””
    eaccelerator.shm_max=”0″
    eaccelerator.shm_ttl=”3600″
    eaccelerator.shm_prune_period=”1800″
    eaccelerator.shm_only=”1″
    eaccelerator.compress=”0″
    eaccelerator.compress_level=”9″
    eaccelerator.keys = “shm_only”
    eaccelerator.sessions = “shm_only”
    eaccelerator.content = “shm_only”

    My fcgiext.ini in %WINDOWS%/system32/inetsrv is below:

    [Types]
    php=C:\PROGRA~1\PHP\php-cgi.exe

    [C:\PROGRA~1\PHP\php-cgi.exe]
    QueueLength=999
    MaxInstances=20
    InstanceMaxRequests=500
    IdleTimeout=200
    RequestTimeout=60

    The performance you get on a 2GhZ processor with 1GiB of RAM is decent:

    Transactions:                     662 hits
    Availability:                 100.00 %
    Elapsed time:                 123.15 secs
    Data transferred:              21.96 MB
    Response time:                  8.29 secs
    Transaction rate:               5.38 trans/sec
    Throughput:                     0.18 MB/sec
    Concurrency:                   44.55
    Successful transactions:         662
    Failed transactions:               0
    Longest transaction:           13.25
    Shortest transaction:           4.23
    

    5.38 transactions per second is 464832 hits per day.

  • Apps That Seem to Crash WoW on OS X 10.5.5

    I wrote this quick script to take care of apps that seem to Crash OS X 10.5.5 on my Macbook Pro. I have just 1GiB of RAM instead of the recommended 2GiB, but ever since killing the processes in the script below, I haven’t had a crash.

    The bad guys are:

    • Google Updater
    • Cross Over
    • HPEventHandler
    • HP IO Classic Proxy
    • HP IO Classic Proxy 2

    I killed privoxy in my script below just to get more memory to run Warcraft.

    #!/bin/bash

    C1=`ps ax | grep Cross | grep -v grep | cut -c3-6`
    echo “C1: $C1”
    kill -9 $C1
    C1=`ps ax | grep “Google Updater” | grep -v grep | cut -c3-6`
    echo “C1: $C1”
    kill -9 $C1
    C1=`ps ax | grep “HPEventHandler” | grep -v grep | cut -c3-6`
    echo “C1: $C1”
    kill -9 $C1
    C1=`ps ax | grep “HP IO Classic Proxy 2” | grep -v grep | cut -c3-6`
    echo “C1: $C1”
    kill -9 $C1
    C1=`ps ax | grep “HP IO Classic Proxy \-” | grep -v grep | cut -c3-6`
    echo “C1: $C1”
    kill -9 $C1
    C1=`ps ax | grep “privoxy” | grep -v grep | cut -c3-6`
    echo “C1: $C1”
    kill -9 $C1

  • What I Whitelist in my Spam Filter

    This is a list of domains that I have to whitelist because my spam filter either at the ISP end or on my laptop thinks you are a spammer.

    My Whitelist

    Notable on this list are:

    • facebookmail.com
    • Mavericks — the surfer email list. wtf?
    • match.com — no, it’s not okay to look. 😉

    I really think pbwiki.com doesn’t belong on this list. I also don’t think levi.com belongs on this list, so it’s really interesting what gets filtered as spam and what doesn’t.

    What strategies do you use so that your emails don’t end up in the spam box?

    What do you whitelist but think you shouldn’t have to?

  • Intego Security Barrier: The lightest protection for OS X

    You can imagine the amount of glee I had when I found out that Intego Security Barrier for OS X has a small memory footprint of 18MB which is about a 10th of the footprint of other anti-virus software, I was totally elated!

    With Intego Security Barrier, you can:

    • define custom rules for a firewall
    • quickly switch between a “Fort Knox” setting for your computer to a client only setting.
    • define custom anti-spam rules
    • be notified by the IT support St. Louis experts the moment someone attempts to connect to your computer
    • be notified the moment software tries to send data outside of your computer

    I learned a few interesting things thanks to Intego Security Barrier.

    1. Microsft products send data back to Microsoft.
    2. The Google Updater sends some info back to Google.
    3. Colloquy, which is an IRC client for OS X, sends data back to Colloquy over HTTP. WTF?

    This piece of security software is so light that I can play World of Warcraft without a problem on my laptop which has 1GiB of RAM.

    At $89.95, I am glad I made the purchase and feel pretty secure.

  • The Funny Video of You Malware linked on Facebook

    If you don’t already know, there’s malware going around through Facebook.

    It starts off with the subject of:

    i found a video with you in my camera.

    You click on the link and you are led to a bunch of domains. One controlled by some ISP in Colorado, and then very-funny-webs.com . Do an nslookup on that one. Then you’re led to a server in Beijing and then finally to some poor computer that’s been hacked on port 7777.

    Whatever you do, do not click that link!

    Where was I? That computer automatically downloads a payload called: flash_update.exe

    This is where things get interesting.

    0000040: 0e1f ba0e 00b4 09cd 21b8 014c cd21 5468 ……..!..L.!Th
    0000050: 6973 2070 726f 6772 616d 2063 616e 6e6f is program canno
    0000060: 7420 6265 2072 756e 2069 6e20 444f 5320 t be run in DOS
    0000070: 6d6f 6465 2e0d 0d0a 2400 0000 0000 0000 mode….$…….

    Also, the dirty work of ruining your day is done here:

    0003470: 0000 0000 08f1 0000 0000 0000 4b45 524e …………KERN
    0003480: 454c 3332 2e44 4c4c 0041 4456 4150 4933 EL32.DLL.ADVAPI3
    0003490: 322e 646c 6c00 5553 4552 3332 2e64 6c6c 2.dll.USER32.dll
    00034a0: 0000 4c6f 6164 4c69 6272 6172 7941 0000 ..LoadLibraryA..
    00034b0: 4765 7450 726f 6341 6464 7265 7373 0000 GetProcAddress..
    00034c0: 5669 7274 7561 6c50 726f 7465 6374 0000 VirtualProtect..
    00034d0: 5669 7274 7561 6c41 6c6c 6f63 0000 5669 VirtualAlloc..Vi
    00034e0: 7274 7561 6c46 7265 6500 0000 4578 6974 rtualFree…Exit
    00034f0: 5072 6f63 6573 7300 0000 5265 674f 7065 Process…RegOpe
    0003500: 6e4b 6579 4578 4100 0000 4973 5769 6e64 nKeyExA…IsWind
    0003510: 6f77 0000 0000 0000 0000 0000 0000 0000 ow…………..

    The code seems to be messing around with your DLL’s in Windows which is bad. I’m on OS X, so I lucked out.

    Anyway, I hope this piece of Malware didn’t get you and I hope those assholes burn in hell.

    If anybody can add more details about how this malware works, please let me know.