Joe Nicosia

A jack of all stacks

My Dream Apple Machine

| Comments

An extra-wide touchpad and dual detachable iPad displays on a MacBook Pro. Wow! Add 32GB of RAM and quad SSD RAID too. I’m not sure why they left the optical drive in this mockup, that has got to go. Lets hope Apple is really brewing this, I will camp out on the street for this one!

Hurricane Irene - Testing Our Infrastructure

| Comments

The past 24 hours have been filled with a lot of media hype, some rain, some wind, and a few darwin awards. In my home at the Jersey Shore we still have a ‘situation’ – no electricity.

Luckily we are served well by Twitter and can find out storm details by fellow local internet users, thank you Twitter.

Internet access has remained available, thanks to the awesome local ISPs and UPS units on our modems.

Amazon Web Services seemed to have no outages during this storm, thank you AWS.

Thank you also to AT&T and Verizon for keeping our cellular services online. I’m posting this via a tethered iPhone.

However the electricity infrastructure has proved to be unable to handle single points of failure. We are on day 2 of no power, thanks to a broken transformer miles away.

1 - Why don’t we have high-availability redundant infrastructure?

2 - Why don’t we have safer, less vulnerable, underground power lines?

We need to develop a redundant system like the internet for our electric. I won’t hold my breath. For now I’ll take it into my own hands and outfit my place with solar and diesel backup solutions.

Thank you Irene for testing our infrastructure.

Update: I just ordered this generator so I can keep writing code during power outages.

Yamaha EF2000iS 2,000 Watt 79cc OHV 4-Stroke Gas Powered Portable Inverter Generator (CARB Compliant)

My Workstation and Network Infrastructure

| Comments

This is where I spend most of my time …

My primary workstation is a MacBook Pro 17” with i7 CPU, 8GB RAM, 256GB SSD and a 27” Apple Cinema Display. I use an Apple bluetooth keyboard and Magic Trackpad.

I also use a MacBook Pro 15” for testing security related stuff that I don’t want to pollute my main workstation with.

In the background of my view are 2 Samsung displays. On the bottom is a 52” and above is a 24” that I use for displaying network monitoring and analytics info. Below the monitors is a Mac Mini running Lion Server, a Drobo with 8TB of storage, an Apple Airport Extreme, APC UPS and my dusty Xbox.

Lets dissect my network infrastructure…

Dual internet connections with 1 DOCSIS v3.0 modem and 1 DOCSIS v2.0 modem.

Protecting my network are 2 security appliances, a Cisco ASA 5505 and a custom built pfsense box.

The core is a HP ProCurve 1810G-24 switch that sits on top of my retired Cisco 3500 WS-C3548-XL-EN Switch.

My primary wireless network is powered by an Apple Aiport Extreme, and I run a Buffalo WHR-HP-G300N router with OpenWRT for guests.

Most of my servers are EC2 instances running on Amazon Web Services. However I do use a Dell PowerEdge 1950 server with VMWare ESXi for local testing.

Also in the rack is a Samsung 17” CRT Monitor, 2 Belkin KVM switches, a Foscam FI8918W IP camera and a Belkin UPS.

Wordpress App for iOS Devices

| Comments

Testing out the official Wordpress app for iOS.

So far, I think there is some primary functionality lacking… There is no way to save a draft post. And the post editor is very simple.

I attempted to paste an image into this post with no luck.

I do value the simplicity but would like to be able to save drafts and embed images in the posts from my iPad and iPhone.

As I am typing this last line, I can’t even see it since the post editor does not scroll up. I had to rotate into portrait mode to finish this. I hope there are more Wordpress apps to choose from!

Static Websites

| Comments

It’s been over a decade since I touched a static website. After Amazon announced website endpoint support for S3, I wanted to give it a try since the benefits are pretty appealing.



A static website eliminates the databases and serverside code execution.



Hosting a static site on Amazon S3 eliminates supporting the web server, load balancing, caching, etc.



By switching from a common cms system such as Wordpress, your most likely to gain a lot of speed and lower the possibility of security vulnerabilities.



A con for some users is that your only option for increasing functionality is to write JavaScript and let it run clientside. For a blog, this is perfect in my opinion.



The tools I used to create a full featured static blog:



Cyrax generates the static site (python / Jinja2 templates)



Amazon S3 serves the HTML and JavaScript



Flickr for photo hosting (could do this with S3, but I like the iPhoto integration with Flickr)



Feedburner serves the rss and publishes new posts to Twitter via Feedburner Socialize



Disqus handles the user commenting system



Google Analytics takes care of traffic analysis



In the end, I am sticking with Wordpress for T3CH.com. For simpler blogs, I’d definitely consider using Cyrax.

After Upgrading to Mac OS Lion (Workstation and Server)

| Comments

<p>I upgraded 2 machines to Mac OS Lion yesterday. The download is not fast and the file is almost 4GB. So it's a good idea to save a copy of the installer app after it finishes downloading. That file will be auto-deleted after the Lion upgrade. Then you'll be able to create usb installer disks and upgrade other machines while saving bandwidth.


First up was the MacBook Pro 17 (my primary workstation). The upgrade was seamless and I have no complaints. I disabled Spotlight indexing since it was lagging the system, now it’s super snappy.

Next I upgraded a Mac Mini (my primary server). The Mac Mini was at a different physical location, so I performed the upgrade via Apple Remote Desktop. Since the box was already running Mac OS 10.6 Server, the App Store forced me to purchase both Mac OS Lion and the new Server app… which I expected.

Mac OS Lion Server Upgrade Complete



The server upgrade did take a bit more effort. Here are the issues that I had to deal with:

- I was charged for Mac OS Lion upgrade twice. I emailed the App Store and received a refund less than 1 hour later.

Mac OS Lion Server purchase



- WebDAV is broken. The settings are there (they have been moved from the Web Server config screen to the File Sharing config), but it just doesn’t function… I tested with cadaver and it would not work. Instead of spending the whole night banging my head on this issue, I setup WebDAV with Apache in a Linux VM.

- FTP server is gone. Yeah FTP isn’t ideal, but I do have some devices which only support offloading files via FTP. This bugs me, but I’ll use vsFTPd in a Linux VM instead.

- The config options are lacking. In 10.6 there were way more settings and configurable options available in the Server Manager app. Here is an example of the Web Server settings gui:

Mac OS Lion Web Server Settings

Before You Upgrade to Mac OS Lion

| Comments

Mac OS Lion was officially released earlier this week and I have been holding off on the upgrade since I didn’t want to disturb any of the projects that I was working on. Well now the weekend is here and I am ready to give it a spin! FWIW, I have been running developer beta releases of Lion on a spare MacBookPro but now I want the final release on my production workstation.

Before you upgrade, it’s a MUST to check the RoaringApps App Compatibility List and compare all of your apps to see which ones will work and which ones will not. This list is built by the community and is the most critical tool in determining if your ready to upgrade.

roaring_apps

Another MUST is to create a clone of your existing system, I use SuperDuper!. If your upgrade fails, SuperDuper makes it simple to roll back the system state quickly.

SuperDuper!

Ok, I am ready to go upgrade my box… And then will be upgrading my Mac OS Servers!

Backup Google Voice Messages

| Comments

I’ve looked for solutions to automatically download and archive all of my Google Voice voicemail messages, without success.

Fortunately I discovered the PyGoogleVoice project (http://code.google.com/p/pygooglevoice/). Google Voice for Python allows you to interface with the Google Voice API from within your Python apps.

Since I only wanted to download the mp3 files for each of my voicemail messages, I modified the example code to suite my needs. Here is a sanitized copy of my google voice backup script:

#!/usr/bin/env python
from googlevoice import Voice
from pprint import pprint

download_dir = '/home/joet3ch/voicemail'

voice = Voice()
voice.login('my_username', 'my_password')

for message in voice.voicemail().messages:
    message.download(download_dir)
    #message.delete()



Uncomment the last line ‘message.delete()’ to automatically delete the message from Google’s servers after your download is complete.

To fully automate the backup script, schedule the job with cron. Here is an example that will run the script every day at 1am.

0 1 * * * /home/joet3ch/scripts/google_voice_backup.py

UPDATED: VDC Power Your App Contest: Droplat for Android

| Comments

Verizon is hosting the Power Your App Contest and droplat for Android has been accepted as an entree. Vote for us!

I co-developed this app with ipaulpro of Finer Mobile. My primary role involved architecting the backend, this includes the webservice and api. Paul did a fabulous job, as always, on the UI. Check out his work:

Isn’t that one of the most polished Android apps you have ever seen!?

For those who don’t know, droplat is a location-based file sharing service that enables users to share files with others nearby. You can install it on your Android device from the Google Android Market. The app is still in an ‘alpha’ stage, so there may be minor bugs. We are working hard to roll out new features, so stay tuned for updates.

Learn more about droplat at http://dropl.at

UPDATED:  Droplat is now in the semi-finals!  Help us get to the finals by voting for Droplat in the Entertainment category at Power Your App Contest.