Michael Silverman documenting innovation at work


Interfacing with remote controlled outlets


In my apartment all of my lights are controlled via an outlet. These outlets are not connected to a light switch. As a first step towards convenience I purchased an EtekCity wireless outlet and switch. Every Friday these lights are put on a timer until Saturday night. That meant removing the existing outlet adapter and putting on one of the lovely cheap timers for the day. The timers only have a 24 hour cycle so it did not make sense to leave them on for the rest of the week. Within the timer there is also an audible mechanical clicking. There had to be a better solution.

Of course! I already have a wireless light switch. Why not somehow interface with it? A quick search on a hackaday lead me to others who have done similar, such as this and this. It was possible and not too hard.


Shift Registers: Serial In, Parallel Out

Schematic for 16 bit output

In this article I will examine Serial In Parallel Out (SIPO) shift registers. These are very useful for microcontroller projects. This type of register allows you to turn three output pins into as many as you would like. I will explain the theory behind the registers and give an actual implementation. As a working example we want to drive 16 pins for a clock application using as few pins on the microcontroller as possible.


Nixie Tube Alarm Clock: It’s Alive!


A lot has changed since my last Nixie Clock post in 2010. Using Eagle I had a prototype board made through 4PCB, unaware of their Student $33 Each deal; If you are a student use this! After soldering in all the components and testing the circuit it turned out that multiplexing was not a good decision. I was unable to switch at a high enough frequency while maximizing ignition of the tubes. In other words, I would either see the numbers scrolling in a bright neon light or I would see all at once in a dim neon light. Unfortunately there was no software fix. Discouraged and busy the project was dead until about 6 months ago.


Original Circuit From 4PCB


Sending Text Messages with Perl and Google Voice

It is much easier to send a SMS text message with Perl than you might think. You wouldn't know unless you searched but there is a module out there called Google::Voice. The module allows you to use your Google Voice account from Perl. It's not installed by default with Perl so you will need to install it. The easiest way to do this would be to type

perl -MCPAN -e "install Google::Voice"

This will install Google::Voice and all of it's dependencies.

Now to write a text message is so simple!

use Google::Voice;

#Google login info
my $username    = 'myuser@host.com';
my $password    = "mypasword";

#text message info
my $send_number = "14443216789";
my $send_text   = "I'm a text message!";

#Do Not Edit Below Here!

#create Google::Voice object and login
my $gv_obj = Google::Voice->new->login($username, $password);

#send the text!
$gv_obj->send_sms($send_number => $send_text);

Now say you want to send a text message by calling the script from outside Perl.


How to Create a WordPress Plugin

Mike Example Plugin admin page.

Before creating a plugin it's helpful to determine the tools you need for your plugin to function and then determine how to integrate them into WordPress. In this guide I will be teaching by example. The plugin we will be creating is a simple post text replacement plugin. In the WP Admin panel we will be able to modify the search and replace parameters. We also will have a replacement color and toggle color. After some planning I've determined this plugin will require the following:

  1. jQuery : We need jQuery to toggle the class on our replacement text when clicked.
  2. Database : We need our settings stored permanently. Of course you already have a database set up for WordPress. We will use that.
  3. CSS : We will use two stylesheets, one for the admin side and one for the client side.
  4. Custom Javascript: We're going to place our code in a separate file to show you how to load JavaScript on the admin side and the client side.

As mentioned before we want the plugin to have an admin panel accessible from the WordPress panel. We also need to hook into posts/pages for our search matching.
The following are WordPress documents that are essential for reference when creating a plugin. It will prove useful to have them bookmarked and opened in your browser at all times.


Convert PDF to FDX: PDF to Final Draft

For the movie writers out there I created a program to convert a Final Draft PDF back into a Final Draft editable file. I'm now determining the best way to distribute the software. It will be at trial for the first 500 lines and a small fee for the whole script with unlimited usage. If you need a script converted immediately email me and we can work something out.

Update 03/18/2013: I have received great interest in this software. This software has yet to be completed. It is not yet in a format that can be distributed and the accuracy is not 100%. As such, the only option for conversion is emailing me the PDF and I will send you back an FDX. I know that is something many are not comfortable with but that is the best I can do at the moment. Compensation is not necessary though if you feel generous a donation would be greatly appreciated. If you are interested use the link above to contact me

Filed under: Software 4 Comments

Website Showcase: IAmMattSilverman.com


I'm becoming very good friends with WordPress. I just finished coding version 1.0 of IAmMattSilverman.com. A website for the talented Matt Silverman. Features of the site include facebook integration and a custom module for showcasing videos. Facebook integration was done using the Graph API and Real Time Updates. The real time updating proved to be a challenge. Facebook's documentation is not the best on this topic. I plan on creating a nice outline of the what you need to know and how to use it so look forward to that in the coming days. Meanwhile check out the website!

Filed under: Web 1 Comment

WordPress Template Design


These days I have been doing more web design and scripting than anything else. I recently finished designing a new website for Hillel at Northeastern University. Hillel is an organization I am very active in. I strongly believe in giving back to the community and this website is one of the ways I am able to do that. I'm currently working on customizing SugarCRM to fit our needs.

The backend of the website is WordPress. The template is fulled integrated into the admin panel. I may at some point outline the steps involved in making a template. In the meantime, you must check out Lynda.com. Their tutorials are amazing. This is the first WordPress template I designed. The video tutorial from Lynda answered many questions I had.

I would be happy to detail any WordPress template questions anyone has.

Check out the website!

Filed under: Web No Comments

The answer to losing your keys


Radio Frequency Identification, or RFID, is a technology slowly being incorporated more and more into daily life. The uses for RFID are endless as the technology becomes smaller, cheaper and more versatile. If you don’t know what RFID is, you'll soon find out!

RFID is a wireless identification system that can be viewed like a phone conversation. For a phone conversation to work, we need two telephones, one phone is used to dial and the other one receives the call. Imagine this is a phone call between an automated dialing system and you. In an RFID system, the phone dialing is a called a “reader” and the phone receiving is called a “tag.” The reader acts much like an automated dialer, where it can call any number of phones at once. Instead of the tag saying “hello,” as you would, it will respond with a list of numbers. The numbers are the identification of that tag, and only that tag. Now much like you will hang up once you hear its an automated system asking you for money, the reader ends the conversation with the tag.

In recent years, many commercial applications of RFID have been released. For example, Mobil Speedpass uses RFID. Have you ever rented a ZipCar? The key used to unlock the car uses RFID. It is becoming standard for cars today to allow you to lock, unlock and start the car without inserting the key.

RFID systems have become a common replacement for keys around the workplace. The conventional lock on a door can be replaced by an RFID system. A tag is used to authenticate the person and unlock the door. A tag does not require any power, so there are no batteries, and can be smaller than a dime. It is commonly used inside a credit card-sized piece of plastic. The size of a reader can vary from a handheld device to the size of a doorknob.

The beauty of using an RFID system as a key is access management and access history. The readers can be programmed to only allow certain tags, or people, into certain rooms. If an employee quits the company, his tag number can simply be removed from the system. There is never worry about losing keys or wondering who has what key. With a tag costing only cents, it is very easy to add or remove access to a room. The readers also record each person who entered the room and at what time. This is useful if there is a security breach of any kind.

Some RFID tags are designed to be implanted under the skin. It is very common in Europe and the USA for pets that are adopted to have a tag, called a microchip in this context, implanted in them.  The microchip is smaller than a grain of rice and can be implanted into a pet the same way a vaccine is. When scanned, the identification of the pet can be looked up in a database. The idea is that any pet can be traced back to its rightful owner if it is lost or stolen. You can read more about pets and microchips here.

Other people have had tags implanted under their own skin. Generally the location of the implant is in between the thumb and index finger. Implants in humans are not widely used. There is speculation regarding RFID causing cancer in the tissue surrounding the implant. If you really don't want to carry around money or identification, there is a club in Barcelona which will scan you instead. With some modification, you can even start and unlock your car with the same implant.

The future of RFID holds many great possibilities. One of these possibilities is the much needed modernization of bar codes. A bar code must be scanned individually and put directly in front of the scanner. When going to the grocery store, every item must be scanned one by one. With RFID, the food could be scanned without even having to leave the basket. Not only that, all the items could be scanned simultaneously.

There is also a lot of interest in putting tags into paper products, i.e. passports and checks. If you are interested in a detailed breakdown of this new technology here is a Citizendium article I wrote for a writing class of mine.

For more information:

Want to start playing around with RFID on your own? Simple RFID access system



Filed under: Hardware No Comments

Put Your PC Monitor to Sleep With an iPhone


When I go to sleep at night I like it dark. I also keep my computer on 24/7. In the past when going to sleep I would hit the power switch on my monitor. Or more often than not I would leave it on. Now when I'm in bed I click an icon on my iPhone and the monitor turns off. You can have this up and running in 10 minutes.

For this to work, your phone must be wifi enabled and connected to the same network as your PC. I use an iPhone in this example but any phone able to use wifi will work.

Here's what you need:

  • NirCmd: This command line utility is used to put the monitor into sleep. Download - Website
  • QuickPHP: You need to run a web server that supports PHP on your computer. Any server will work. I chose this one because it's lightweight and quick and easy to setup. QuickPHP- Website
  • PHP Source Code: Download
  1. After downloading NirCmd, unzip it and place nircmdc.exe in your system32 directory, i.e. C:\Windows\System32\. Note: Placing an executable in system32 directory is great because then you can access the files from any directory within command line, no need to find the directory first.
  2. Create two new folders. One for the PHP Server and one for your web files. I will use the following directories: C:\PHPServer and C:\PHP
  3. Download QuickPHP and unzip. This program will not install, you must place the program files somewhere. I moved them to C:\PHPServer for easy access.
  4. Download the source code and place it in C:\PHP.
  5. Go to the QuickPHP directory and run QuickPHP.exe - Change the "Root" folder to whatever you choose above as the web file directory (C:\PHP). Note the server port, default 5723.  Hit Start.
  6. For the next step you need to know your local IP address. To get this go to the start menu. Type in "Run" in the search bar and hit enter or simply click the run icon. Where it says "open" type in "cmd" - You now have a command prompt open. You should see something like C:\... type in "ipconfig" - Now look for your the number labeled IPv4 address. It will likely start with 192.168 - This is the number you will use in YOU_IP in the next step.
  7. Get your iPhone and open up Safari. In the address bar, type in http://YOUR_IP:5723 - i.e.
  8. Click the + sign and select "Add to Home Screen"
  9. Want to turn it off? Click:

There are a few ways this could be modified to better suit you: Modify the PHP code to only accept certain IP addresses. The PHP code is very simple and does not protect you from other people on your network turning your monitor off. That is why its useful to use a non-standard port and have a firewall on your network blocking outside traffic. - Alternatively, open a port on your firewall to allow outbound connections. Then use your WAN IP (www.whatismyip.com) to connect to the computer. This removes the need for the phone to be connected to wireless. - Change the filename to blah.php. It would prevent others from turning the monitor off because you then have to access http://YOU_IP:5723/blah.php

Filed under: Software 15 Comments