Category: Blogging

  • The most epic spam email ever

    So I got this spam a little while back, and I couldn’t resist sharing. Here, in its entirety:

    December 21, 2012:
    Mayan Galactic Alignment
    Once in 26,000 years

    Celebrate the end of the Mayan Calendar,
    the Sun aligning with the center of the Galaxy,
    and the 2012 Winter Solstice.

    Greetings ,

    The “2012 Mayan Galactic Alignment” celebrates an astronomical event that happens once every 26,000 years.

    Join me on a spectacular Cruise and Seminar-At-Sea to the sacred Mayan sites of the Yucatan, where we will gather in grand ceremonies and rituals that close a 5000-year era of darkness, and open a new eon of light – the ascension of humanity.

    This is “the place to be on Dec. 21, 2012.”

    The Carnival Triumph takes us to Chichen Itza and Cozumel, where we will honor this Time with ritual and ceremony, participate in seminars and healing while at Sea, and celebrate on a world class cruise ship.

    On December 21, 2012, the Great Long Count Cycle, which began in 3114 BC, will end. The Fourth World will pass, and the “World of the Fifth Sun” will be born.

    Now add your momentum to the vibrational energy that culminates in the peak spiritual event of the Millennium – the Winter Solstice, at the incredibly auspicious hour of 11:11 a.m. Universal Time on December 21, 2012. At that time, on that date, everything we know will change. We will enter a new world – a world of Ascension.

    Learn more at http://www.mayancruise2012.com

    Now hear a F’REE Teleseminar with speakers who will be on the cruise:
    http://www.mayanteleseminar.com

    Where will you be on Dec. 21, 2012 ?
    We know where we will be – At this once-in-a-lifetime event !

    HIGHLIGHTS:

    – Workshops on the seminar-at-sea, as amazing speakers, such as Fred Alan Wolf, expert Mayan scholars, and enlightened spiritual leaders awaken our consciousness!

    – Nightly Skywatch with Richard C. Hoagland, as we view the Galactic Algnment, a once-in-26,000-year event!

    – Awesome Rituals, Initiations, and Fire Ceremonies at Mayan temples with Mayan Elders Hunbatz Men and Tomasa Lissell as we prepare to enter the “World of the Fifth Sun.”

    – The Sun aligning with Hunab K’u, the Center of the Galaxy, in a spectacular Solstice light transmission and telescope array.

    – The precise moment, 11:11 AM GMT, the end of the Mayan Long Count Calendar Cycle, witnessed in a Skywatch and Inner Journey to the Galactic Center, and with prayers, meditations, and light transmissions from the Ascended Masters.

    – Visits to Chichen Itza and other pyramids and temples.

    – Visit to San Gervasio, home of Ixchel, the Mayan Fertility Goddess, on Cozumel, and swim with her dolphins.

    – Celebration of the Ascension of Humanity into a higher vibration with music, dance, food, and entertainment on a world class cruise ship.

    – Honoring the date December 21, 2012, when the next cycle of human evolution begins, with transformative initiatory rituals by Mayan Elders, and meditation led by Babaji and other ascended beings.

    This date is, by far, the epic metaphysical event of our lifetime.
    And it comes once every 26,000 years!

    Space is Very Limited. Learn More and Register Now at http://www.mayancruise2012.com

    Be a part of this vital process, as you contribute your spiritual energy to this keystone event. This gathering can transform the planet at a time when transformation is essential.

    You are called to be a part of this planetary ascension of consciousness, at this time, in this place!

    Space is Very Limited!
    Learn More and Register Now at http://www.mayancruise2012.com
    Mention my name when you register.

    “This is not a cruise. This is a Spiritual Experience. This is a spiritual awakening that will transform your life. You will pass from an age of darkness into an age of light. Your life will be blessed, and you will never be the same.”
    The Immortal Babaji

    Mayan Apocalypse cruise. It’s hard to beat that.

  • Lost planet

    Saw this article on Discover.com earlier this month and thought it was really interesting: The Solar System’s Lost Planet.

    Nesvorny, who runs computer simulations to study how the solar system evolved over time, kept encountering the same problem: The four giant gas planets, whose orbits are comfortably far apart from each other today, kept violently jostling with each other in his models of the early solar system. Jupiter would end up tugging on Uranus or Neptune and casting one of them out into interstellar space. Obviously, that never happened. So Nesvorny came up with a clever explanation: He proposed that a fifth gas giant emerged from the planet-birthing cloud 4.5 billion years ago. Suddenly his simulations started matching reality. The outer planets still jockeyed for position, but this time Jupiter spared Uranus and Neptune and ejected the extra planet instead.

    Not that we’d ever be able to know if this is correct (probably), but it certainly sounds logical. I just hope the Planet X/Nibiru nuts don’t jump all over this as proof of pending doom.

  • Leap Day

    This is only the third Leap Day we’ve had since I’ve started this blog, and this is the first time I’ve made a point of noting it. Aside from being the one extra day every four years (and, technically, only every 400 years on the century marks), the only other notable thing I can think of about the day is that there is a folk tradition wherein a woman asks a man to marry on this day rather than the other way around.

    Leap Year itself is more interesting to me in large part because of that “400 years” observation I made above: a quirk in the calculation in the Gregorian calendar which we use. However even that pales to some of the other leap year calculations made in different calendars: in particular the Chinese, Hebrew, and Iranian ones seem especially difficult. I know the algorithm for computing a leap year in the Gregorian calendar, but the mind boggles at the ones for these others.

    If you’re lucky enough to have a birthday today, happy birthday! I’ll buy you a drink on your next one, four years from now…

    Postscript: Apparently I forgot to push “Publish” on the day itself!

  • Anatomy of a blog hack

    So, last weekend I found out that my blogs had been hacked.

    Actually, it wasn’t just my blogs, nothing personal involved or anything like that: the shared server space my sites were hosted on was compromised, and a good number of other sites and files were hacked as well. Based on what I can piece together, here’s what happened:

    There were a number of sites on this hosting space that were running out-of-date versions of WordPress, and some that also had various other PHP code installed (NetOffice, Gallery 2, a few others). Any software that is outdated is potentially at risk to known exploits, but more worryingly, I found an old bit of PHP code on the server that was set up to run arbitrary PHP code for (I presume) some back-end admin processing, and ultimately I think this was what had been exploited.

    And until I had found and killed this code, the exploit happened at least 3 times even as I was cleaning up the server.

    The exploit itself, once I knew what to look for, was fairly simple:

    • In PHP files that were writable to the Apache webserver process, the code was altered so that any line containing an opening PHP tag (which tells the server to start executing the code after it as dynamic PHP until the closing tag is reached) looked something like this:
      From <?php .....
      To: <?php     eval(base64_decode('malicious code encoded here')); .........
    • When I copied this code to a sandboxed PHP environment and decoded it, it contained fairly simple instructions:
      • If the visitor to the site was coming from a Referrer—in other words, if they had clicked on a link from another site like Google search results, Facebook, someone else’s blog—they were redirected instead to a completely different site that presumably contained spam, or malware, or whatever.
      • If the visitor was coming to the site directly—they had typed the URL directly into the browser’s Location bar, or clicked on a bookmark—then they were passed on through to the site.
    Because I normally type in URLs to my blogs directly, or click the “recently visited” link in Chrome’s list, I didn’t see the exploit at first. But as I was writing a blog post on The Brew Site on Friday the 20th, I was searching out a link to a previous blog post (gotta love Google for that) and when I clicked that link to pull up the earlier post, I was redirected to some site in Poland (or at least, with a Polish country code for the top-level domain).

    Fortunately, I don’t believe this hack was in place for long, since I often search out links in this manner and would have noticed sooner: Sometime in the wee hours of the morning of January 19th was when the files were first modified is the earliest I can determine.

    It took me a bit of time to figure out the exploit (at first I was thinking it was the Google 302 hijacking exploit), but once I did I was cleaning up files on my blogs by Saturday morning. I hadn’t yet had the chance to address the (many) other files and old sites on the server hosting space, so unfortunately my blogs got re-infected at least once more before I was able to kill the old files and update others. Most of my weekend (and part of the following week) was spent updating, fixing permissions, cleaning, and deleting files and sites.

    For reference, a handy pattern for detecting this code in grep is:

    grep -R -l 'eval(base64_decode(' *

    (This should always work because you should never have similar PHP running in your legitimate code…)

    Now, I keep my WordPress blog software (and installed plugins) up-to-date pretty religiously, and I try to keep permissions set appropriately. But a good number of files in each blog were infected even so—how? It turns out, even though a fair number of the core files that were originally installed (manually) had the correct Unix group (“<account>:users”) and permissions of 644 (rw- r– r–) and were untouched, I was also making liberal use of WordPress’s built-in auto-updating feature, along with automatic plugin installation, and at some point the files that WordPress were updating got set to the “nobody:users” group—the Apache webserver process. It was these files that were exploitable to the “nobody” Apache process that was being exploited by the other code on the server. (Along with the few files I had set to group-writeable as well.)

    So, lesson learned. I’ve battened down the hatches, fixed the permissions on all the files in my sites, and have decided to forgo WordPress’s auto-installing and update features for now for good measure. And, I’ve finished up a (long overdue) move of my blogs to a new webhost with none of the legacy code possibilities that were extant on the original server. (Nothing against the original web hosting provider, I just needed a clean break with an affordable price.)

    Of course, you all let me know if you still run into any problems, okay?

  • Ignite Bend 7

    We attended Ignite Bend 7 the other night (merely watching this time, rather than as a presenter) and it continues to amaze me how good and fun an event this is; I’d venture to say this was the best one yet.

    (Though I might need to watch the previous ones again to be sure.)

    Since presenting at Ignite is such a fast-paced, nerve-wracking, and often first-time experience for people, there’s usually at least one presenter who’s visibly nervous, or stumbles a bit over their slides or their timing, and this faltering can take some of the steam out of their presentation; at IB7, though, everyone was engaging and maintained a really good energy level (even Becky Zagursky who had trouble keeping up with her Aqueous Humor slides rolled with it and kept the crowd laughing).

    All in all a great event, as always. If you’ve never been to an Ignite, you should make the time for one. (The next Ignite Bend is going to be February 23.)

  • Cascadia, State of Jefferson and other secessionist movements

    Being in Portland several times over the past several weeks for beer happenings got me thinking about the (mostly inconsequential) debate about “Cascadian Dark Ales” (versus the other names of “Black IPA”, “American Black Ale” and so on) and about the “Cascadia” part of that name. See, here in the Pacific Northwest “Cascadia” can refer to the Cascadia independence movement, which according to Wikipedia:

    Cascadia is the proposed name for an independent nation located within the Cascadian bioregion of the Pacific Northwest region of North America. Proposed boundaries differ, with some drawn along existing political state and provincial lines, and others drawn along larger ecological, cultural and economic boundaries.

    The nation would be created by secession of British Columbia from Canada, along with Oregon, Washington and portions of other states from the United States. At its maximum extent Cascadia would extend from the coastal Alaskan Panhandle to the north, extending into Northern California in the south, and inland to include parts of Alberta, the Yukon, Idaho and Western Montana.

    This also made me think about the State of Jefferson—another proposed secessionist movement that would combine part of southern Oregon with Northern California:

    The State of Jefferson was a proposed U.S. state that would span the contiguous, mostly rural area of southern Oregon and northern California, where several attempts to secede from Oregon and California, respectively, have taken place in order to gain own statehood.

    I find these sorts of movements (ideas? memes?) fascinating on all sorts of levels, partially because they seem so wildly improbable and partially because it’s sort of a glimpse into an alternate reality (which piques my science fiction interest). And yet both Cascadia and Jefferson State are fairly recent phenomenons, which give them an air of plausibility for something that could be accomplished in my lifetime. Wildly improbable plausibility, as I noted, but still.

    For these and other historical U.S. alternate realities, Wikipedia’s list of secession proposals is a fun read.

  • Items of recent awesomeness

    Some of these links aren’t as shiny-new as they were when I started this post, but even so:

    The CDC’s zombie apocalypse preparedness plan: Yes, the CDC is all over the possibility of a zombie apocalypse. For real.

    If zombies did start roaming the streets, CDC would conduct an investigation much like any other disease outbreak. CDC would provide technical assistance to cities, states, or international partners dealing with a zombie infestation. This assistance might include consultation, lab testing and analysis, patient management and care, tracking of contacts, and infection control (including isolation and quarantine).

    Tintin: The Secret of the Unicorn move trailer: I knew Steven Spielberg and Peter Jackson were making a Tintin movie, but I didn’t realize just how OMGAWESOME it was going to be until I saw the trailer:

    The Javascript PC emulator: pure amazing geekery. This is an x86 processor being emulated in Javascript inside a browser. And it’s running Linux. To be clear: what is essentially a full computer is running independently inside the browser. Which theoretically means you could run, well, anything inside of it.

  • My Ignite Bend presentation

    Yes, it’s been weeks, but I’m finally talking about my Ignite Bend presentation—it helps that it’s finally on YouTube, since I’m going to embed it here.

    I didn’t have to present until after intermission, and for the most part I was fine the first half, with occasional bouts of nerves. But standing to the side, lined up, waiting for my turn was nerve-wracking.

    But once I hit the stage, two things surprised me: it really went very quickly—it was over almost before I knew it—and it was a lot of fun.

    The only snafu I ran into was with my beer—as befitting Ignite Bend tradition, I had a bottle of Jubelale on stage with me; it was incorporated into my presentation and I was taking occasional sips. But! I failed to account for any spillage—which of course is exactly what happened. It’s really not obvious when you watch the YouTube video—if you didn’t know I spilled, you’d wonder why I talk about “cleaning the floor” and “afraid to take a sip.”

    The spill happens right around the “bottling” slide, of course. The beer foamed up and spilled down the bottle as I drank, running down my hands and dripping on the stage floor. It threw me for a few seconds, but I was able to deal with it.

    And the presentation turned out pretty good, if I do say so myself:

    And, in case you’re interested in my actual slideshow, the Google Docs version is here.

  • On the road to Ignite Bend

    In my previous post I talked about submitting a proposal to Ignite Bend (and what Ignite actually is). Today was the official “reveal” of the nine speakers selected to present, and yes, I was picked.

    (I actually received the official email yesterday.)

    Now of course the real nerves and doubts set in. I’ve already started working on my slides—several days ago in fact—and it’s immediately apparent that distilling down information about brewing beer (in “10 Easy Steps”!) while coordinating with 15-second intervals on the slide rotation is no small chore.

    Although it occurred to me that I don’t have to cover every piece of information in the speaking portion of the presentation—that’s what the slides are for. So the trick is in balancing slides between humor and information and letting them do half the work.

    One of my problems in talking about beer and brewing is, of course, that I can talk on and on about the subject and unload a lot of information about it; so this will be an interesting challenge.

  • Ignite Bend

    So I went and did something today I’ve never really done before, and is already making me nervous: I submitted a proposal to do a presentation at the next Ignite Bend event.

    First, though, some backstory. Ignite Bend is the local version of the “Ignite” series of events started by O’Reilly; it’s a fun, high-energy event where speakers get five minutes on stage with a PowerPoint (or compatible) slideshow to do a presentation on anything they want. Here’s the Ignite tagline:

    If you had five minutes on stage what would you say? What if you only got 20 slides and they rotated automatically after 15 seconds? Launch a web site? Teach a hack? Talk about recent learnings, successes, failures? Around the world communities have been putting together Ignite events to show their answers.

    So you get five minutes on stage, and a total of 20 slides in your slideshow—which will automatically rotate after 15 seconds, no matter what.

    I’ve watched most of the previous Ignite Bend events online and attended the last one and it was incredibly fun and good-spirited; and in the back of my mind I thought it might be cool to do a presentation, too. After all, it’s only five minutes, right? And even though I’ve enjoyed all the other speakers I’ve seen, many were clearly as nervous as I imagine I would be and they still did great.

    So today I did it: I submitted a proposal to do a presentation called “How to Brew Beer in 10 Easy Steps.” I don’t know yet for sure if I will be picked; mine is one of 20 submissions and only nine speakers will be selected (by vote). But I figure pick something I know, right?

    But even so, this is way out of my usual comfort zone; in Real Life I am not a public speaker and am much more of an introvert than you might think. So I’m (at the moment, until the real nerves kick in) looking at this as an opportunity to try something new and hopefully grow from it. (Cue after-school special music.)

    Ignite Bend is taking place next month, February 9th. I’ll post more about it as it unfolds.