• Home
  • Articles
  • Entertainment
  • Games
  • Hardware
  • Projects
    • CheerLights
    • Coffee and Tea
    • iPhone
    • MyToaster
    • ThingSpeak
    • TouchShield Slide
  • Security
  • Software
  • Space
  • Talks
  • Tweaks
  • Updates

I am ShadowLord

Interesting to me

    
  • “My other shirt is a v-neck”

    Sep 21st 2010

    2 comments

    Have you ever done something that you completly forgotten about only to see it on the web years later? I guess the whole current generation of noobs will know what I mean when they are sitting in their job interview, and the interviewer asks them about that YouTube video…

    If you ever go to a gaming convention you will notice all of the ironic t-shirts everyone wears. For example, the overweight guy wearing a small Supperman t-shirt. Each year more and more t-shirt vendors invade the exhibit hall at Gen Con.

    If you know me, you know that I just had to create a bunch of sarcastic, novelty shirts. I just can’t not do it. So in 2006 I made up a bunch of shirts. I sold a few, mostly it was a waste of time. A few survived and I gave them out to my friends for Gen Con 2006. One in particular was a shirt for The Dungeoneering Dad that read, “My other shirt is a v-neck”. Looks like TDD gave it away…

    Today, I find that exact shirt on a website called “toomanytshirts.com” – a site where “a random dude from Pittsburgh” wears and photographs a different t-shirt every day.

    It's In Here Somewhere...

    That was a pleasant surprise to see the old shirt still making its rounds with my trademark bar code on the sleeve. I completely forgot about the two weeks I was “T-shirt Hans”.

    PS.

    Here are some of my other more popular (less popular) t-shirt slogans:

    • Rage Against the Washing Machine
    • Got Rhetorical Questions?
    • I believe in God and Aliens
    • 3 out of 5 dentists agree 60% of the time
    • Community Chest
    • I hate Slogans
    • WWW.JD
    • Political Statement
    • I am case-Sensitive
    • I’m the man from Nantucket
    • Ask me about today’s specials
    • I hate scallions
    • My favorite font is Ironic Sans

    Share this

    Entertainment

    funny haha, games, Gen Con, t-shirts

  • Automatic Thermostat Control Based on Location and Weather

    Sep 14th 2010

    23 comments

    The Pittsburgh Perl Workshop will be held at the Carnegie Mellon University on October 9-10, 2010. The PPW is a gathering of Perl programmers from around the world (and near Pittsburgh) to learn more and discuss the future of Perl.

    At this year’s PPW, I will be giving a talk called, “Connecting the Internet of Things with Perl” (visit pghpw.org for schedule info). I will also explain how to create an Internet of Things application using off-the-shelf Perl modules and web control technology by ioBridge.

    As you may or may not know, Perl is a really powerful programming language that enables everything from fast prototyping of web applications to large-scale software platforms. What makes the language unique is the library of modules available to you. If you get a great new idea for a web app, you can get started quickly and find modules that others have written. In some cases, it’s literally copy-and-paste.

    A big movement for the past few years is this concept of The Internet of Things. More things will be on the Internet than people in the next few years, so my talk is to highlight why Perl is still relevant after 20 years and needs to be apart of this emerging technology. Internet of Things applications involve connecting sensors and controllers to the web. Perl is perfect for parsing lots of data, pushing data into databases, and connecting services together, known as “mashups”.

    My Internet of Things project, written in Perl, allows your current location and home weather conditions to control your home heating and cooling system.

    Location Aware Home Automation using Google Latitude API and ioBridge API

    Location Aware Home Automation

    I call it,  ”Location Aware Home Automation”. You don’t have to do anything to control your HVAC/Thermostat, it all happens based on where you are. If you are home, the thermostat regulates the inside temperature as normal. When you leave, systems turn off or enter power saving modes. When you get near your home, the heating/cooling system kicks back on so you have a comfortable temperature by the time you get back home. In order to pull off all of this passive and automatic functionality, I have mashed up several APIs from Google Latitude, WeatherBug, and ioBridge.

    Using the API for Google Latitude, I track the location of my Android mobile phone. When I get near my home, I check the weather using Google Weather API, WeatherBug API, and my home temperature (via ioBridge) to see if I need to to use the air conditioner, the heater, or neither. If I do need to control the HVAC, I send the control commands using the ioBridge API that routes the commands to the IO-204 controller that’s hooked up to my thermostat.

    This application is really just a beginning. Right after I got everything working, I started having a flood of ideas. I can see some real power here.

    The How To Portion of the Show

    >> Google Latitude

    You have to enable Google Latitude on your mobile phone and get your Badge ID. This ID represents your position in the world, your latitude and longitude. Visit the Google Latitude API site for more information.

    Install the latest Geo::Google::Latitude Perl module from CPAN.org – this module completely abstracts the access to the Google Latitude API for you. All you have to do us pass your ID and the module returns the date, time, last known latitude and longitude (the values are in decimal degrees).

    use Geo::Google::Latitude;
    my $gl=Geo::Google::Latitude->new;
    my $id="7832225593622256926";
    my $badge=$gl->get($id);
    my ($lat2, $lon2) = $badge->point->latlon;

    >> Calculating how far you are away  from home

    You have to figure out how far you are from home, you do this by doing some math. Oh wait, there’s a Perl module for that. Install Geo::Distance and all you have to do is tell it what latitude and longitude to compare and it spits out the distance.

    use Geo::Distance;
    my $geo = new Geo::Distance;
    ### Home Location
    my $lon1 = "-79.76408";
    my $lat1 = "39.980342";
    ### Calculated Distance
    my $distance = $geo->distance( 'mile', $lon1, $lat1 =>; $lon2, $lat2 ); # Use 'meter' to calculate distance in meters

    >> Getting the Weather

    You can use a number of weather APIs to get weather data for your home location. All you need to know is where you live. The easiest to implement is Google Weather (Weather::Google), but the WeatherBug API has a lot more information you can use for other Internet of Things things you may do.

     use Weather::Google;
    my $gw = new Weather::Google(15401); # Zipcode
    my $current_outside = $gw->current->{temp_f}; #Use temp_c for Celsius

    >> Connect to ioBridge

    All you have to do to connect with ioBridge is to send command via the ioBridge Widget API. First you create the control widgets for your heating and cooling system. For mine, I can use relays. Others may need serial strings, which you can send as well. Once you have the widgets created, locate there widget ID’s and send them to the API.

    use LWP::Simple;
    my $Air_Conditioner_widgetID = "Gb2Q1FUKPmzZ"; ### Replace with your widget ID's
    my $Heater_widgetID = "9c3WEGHKemnzJ";
    my $Inside_Temp_widgetID = "D32SDghy98iOu";
    my $ioBridgeAPI = "";
    $ioBridgeAPI = "http://www.iobridge.com/widgets/static/id=" . $Inside_Temp_widgetID . "&value=1&format=text";
    my $current_inside = get($ioBridgeAPI);
    ### Test if the heater or the air condition should be turned on
    if ($current_outside >= 78 && $current_inside >= 72) {
    $ioBridgeAPI = "http://www.iobridge.com/widgets/static/id=" . $Air_Conditioner_widgetID . "&value=1&format=text";
    get($ioBridgeAPI);
    }
    elsif ($current_outside <= 60 && $current_inside <= 68 ) {
    $ioBridgeAPI = "http://www.iobridge.com/widgets/static/id=" . $Heater_widgetID . "&value=1&format=text";
    get("$ioBridgeAPI");
    }

    >> Putting it all together

    Once you have the entire built all you have to do is call the app periodically using CRON Linux or Task Scheduler on Windows. Here is a TXT file of the Perl application with all of the parts tied together, probably will be easier to read and understand.

    The hardware side uses the ioBridge IO-204 connected to the control lines of a thermostat or an HVAC control box. The lines switch at 12 volts, so I use relays trigger them. Other thermostats that I researched use serial lines which the IO-204 can tap into using RS-232.

    It may seem like a lot of work, but just think about what is happening. Feeds from Google Latitude and WeatherBug are being processed and passed to your home network via the Internet. All of this is happening without your direct interaction – your things are working for you. I hope that you can see that is a start of some pretty amazing applications of technologies that will advance over time. A lot has changed in the past year, I can’t image what comes next.

    If you get around to building a project like this, please drop me a line. I love this stuff.

    Share this

    Projects

    google, GPS, home automation, internet of things, iobridge, latitude, location, Perl, Projects

  • Happy Birthday Jumpman, I mean, “Super Mario”

    Sep 13th 2010

    No comments

    Today marks Super Mario’s 25th birthday, or the anniversary of the start of the best selling game franchise of all time. Designed by Shigeru Miyamoto, Mario and all of the spin-offs have sold over 240 million game copies.

    Super Mario Evolution

    Super Mario Evolution

    Here’s something I learned recently. Super Mario was originally named Jumpman. Do you think the game would have been a big with the name Jumpan? Or should we ask what William Shakespeare asked, “What’s in a name?” Mario got the name because the orginal character looked like Mario Segali, a caretaker at the New York City office where the game was programmed. I read that on the Internets so I knows it to be true.

    Mario was the first game that got me into video games, my gateway to Zelda, Final Fantasy, and Tecmo Football. I have a special place for Mario, the sound effects, and the music.

    Here’s a list of some things that I learned from Mario:

    • Use your head at all times
    • Turtles should be jumped on or fire-balled although I love turtles
    • Stars make you invincible
    • Mushrooms make you taller
    • Donkey Kong hates barrels
    • If you play the game long enough, you get the girl in the end

    Thanks Mario!

    Share this

    Games

    dating, Super Mario, video games

  • New Google Search: Instant Narcissism

    Sep 9th 2010

    No comments

    If you use Google Search as a lot of people do, then you have noticed the new feature from Google. As you type you get instant search results. It is an interesting feature and I am not sure how much this will change my search patterns. I still want to hit the return button after I type in a search phrase.

    For the vain, the new Google Search will allow you to “google” yourself instantly.

    Hans Scharler Google Search Vain

    Share this

    Entertainment

    google, vain

  • Recent

    • MyToaster: 10 Best Inanimate Objects on Twitter
    • A Kickstarter Christmas: Going Cardboard — a documentary about board games
    • Las 10 cuentas de Twitter más divertidas y absurdas
    • CheerLights: my lights are linked to everyone else’s
    • Greencastle Movie Stills
    • Internet of Things DCWEEK Workshop during DCWEEK
    • Greencastle, Independent Film on Kickstarter
    • EL Pumpkin is Spanish for Electroluminescent Pumpkin
    • Internet of Things Talk at Carnegie Mellon University
    • Thank You, Steve Jobs
  • Tags

    airport arduino cards comedy writing dating Dominion games google Greencastle hack halloween internet of things iobridge IT lan liquidware movies my toaster optimization packet analysis Perl printer drivers printing procedure Projects psychology pumpkin recieve-only reviews services sniffing social networking SparkFun steampunk tech support tessco thingspeak twitter ubernote web 2.0 web applications web of things windows windows vista wireshark
  • Archives

    • March 2012 (1)
    • February 2012 (1)
    • January 2012 (1)
    • December 2011 (1)
    • November 2011 (3)
    • October 2011 (3)
    • September 2011 (1)
    • June 2011 (1)
    • February 2011 (2)
    • September 2010 (4)
    • July 2010 (2)
    • June 2010 (2)
    • May 2010 (1)
    • April 2010 (2)
    • March 2010 (3)
    • February 2010 (1)
    • December 2009 (1)
    • October 2009 (2)
    • September 2009 (1)
    • August 2009 (1)
    • June 2009 (2)
    • May 2009 (1)
    • April 2009 (1)
    • January 2009 (1)
    • December 2008 (3)
    • October 2008 (1)
    • June 2008 (1)
    • May 2008 (1)
    • April 2008 (1)
    • December 2007 (2)
    • November 2007 (1)
    • October 2007 (1)
    • September 2007 (1)
    • July 2007 (1)
    • June 2007 (1)
    • May 2007 (1)
  • Latest Tweets

© Copyright I am ShadowLord. All rights reserved.

Theme designed by Nischal Maniar