GoDaddy’s DNS Servers Down Again (June 2013)

On June 23rd 2013 Godaddy’s DNS Servers went down, again.

Problems first started at approximately `11:00am EST` and, fortunately, started resolving at `11:31am EST`. Was it planned? If so, something didn’t go correctly – and it wasn’t communicated.

Even during the outage they were still running ads to be a DNS provider, with their uptime guarantee. Just ridiculous.

The last time they had issues was on [November 27th 2012](https://techblog.willshouse.com/2012/11/27/godaddys-dns-servers-fail-again/), about 9 months ago.

GoDaddy’s DNS Servers Down Again (June 2013)

They have an uptime guarantee – but what does that mean? Not much, apparently.

Posted in Tech Opinion, Web Development | Tagged , | Leave a comment

Does Sourceforge Support Git?

Does Sourceforge Support Git?On March 12, 2009 SourceForge announced free hosting for Git, Bazaar and Mercurial, three leading distributed source code management (SCM) systems. This service was made available immediately to all open source projects registered on SourceForge.net

I like sourceforge’s mailing lists, but I like github’s pull requests and issue tracking.

Posted in Tech Opinion | Tagged , | Leave a comment

What Is An Inverter Generator?

To understand what an **inverter generator** is, it is helpful to understand what an `inverter` is:

Inverter (n): An apparatus that converts direct current into alternating current.

Many generators spin and create AC electricity directly. There can be fluctuations in the power (voltage, current) if there is load on the motor or if it changes speed / RPM.

Inverter Generators attempt to solve that by somehow creating DC (Direct Current) power, and then using an inverter to change it into AC (Alternating Current) power. Inconsistencies in the DC Power can be adjusted to create a smooth flow of AC power without fluctuation.

Honda’s Inverter Generators use a three step process to take raw power produced by the generator and use a microprocessor to condition it.

1. First, the generator’s alternator produces high voltage multiphase AC power.
1. The AC power is then converted to DC.
1. Finally the DC power is converted back to AC by the inverter.

Honda states that “the inverter also smoothes and cleans the power to make it high quality. A special microprocessor controls the entire process, as well as the speed of the engine.”

Yamaha has a very popular and quiet 2,000 Watt [Powered Portable Inverter Generator](http://www.amazon.com/Yamaha-EF2000iS-4-Stroke-Generator-Compliant/dp/B002RWK9N2/?tag=mscoa-20) that retails for under $1000.

What Is An Inverter Generator?

Posted in Tech Opinion | Tagged | Leave a comment

Aeron Chair Hardwood vs Carpet Casters

What is the difference between Herman Miller’s Aeron Chairs “Hardwood Casters” and “Carpet Casters” (a.k.a “Deep Carpet” Casters) ?

Aeron Hardwood vs Carpet Casters

###In a nutshell

– Herman Miller only offers two types of casters: Hardwood and Carpet. There is no third “Deep Carpet” caster available.
– The Carpet Casters are standard and are meant to be used on all types of carpet
– Hard floor casters have a softer tread and are designed to help the caster grip a hard floor better.
– Carpet casters are composed of a hard plastic which rolls easier over carpet making them ideal for carpeted flooring.
– Because carpet casters do not have the soft tread they will not provide an optimal level of traction/grip needed for hard flooring.
– Over time, Carpet casters may get embedded with dirt and debris in the hard plastic which can result in marring or scratching of the surface of hardwood floors
– The Carpet Casters are meant to be used without a chair mat / plastic chair mat
– However, some people still have trouble with high pile carpets

##Standard Herman Miller Aeron Casters

If you want the Herman Miller Brand, you can purchase Hardwood Floor Casters ($60), Translucent Hardwood Floor Casters ($90), or Standard Carpet Casters ($40)

##Extra Deep Carpet Casters for Aeron Chairs

Aftermarket casters are available. If you need extra large casters for deep carpets, you can purchase Rolland Extra Large Casters ($22), or Miracle’s Extra Large Casters ($60). Both have 5-star reviews. Here are the images:

Aeron Hardwood vs Carpet CastersAeron Hardwood vs Carpet Casters

##FAQ: Herman Miller responds to questions regarding differences for Hardwood vs Carpet Casters:

###What is the biggest concern or issue between an Aeron chair with casters for carpet as supposed to casters for carpet/hardwood floor?

> Here at Herman Miller we want to make sure our products are matched to meet the needs of our customers. Selecting the correct caster material depends upon the type of floor the chair is intended to be used on. Hard floor casters have a softer tread and are designed to help the caster grip a hard floor better. Carpet casters are composed of a hard plastic which rolls easier over carpet making them ideal for carpeted flooring. Because carpet casters do not have the soft tread they will not provide an optimal level of traction/grip needed for hard flooring. An Aeron chair with carpet casters would not be less mobile on a hardwood floor, however, it would not grab the hard flooring like the Hard floor casters are designed to do. Also, over time dirt and debris from hard floors can get embedded in the hard plastic of the casters which can result in marring or scratching of the surface. We highly recommend the “Hard Floor or Carpet Casters” for any chairs used on hardwood floors.

###Casters-If you’re using a plastic chair mat over very low-pile carpet, should I order the casters for hardwood floors?

> Our carpet casters are intended to be used in combination with your low-pile carpet for optimal performance and mobility. The casters were designed for use with carpet, therefore, chair mats are not recommended with our seating products.

###How do I get the “higher” wheels so the middle post doesn’t catch on the carpet? Are these the floor/carpet ones?

> If you are using your Aeron Chair on carpet, we would recommend choosing either the option for ‘Carpet Casters’ or ‘Hard Floor or Carpet Casters.’

###How do I clean the wood floor wheels on my Aeron?

> We would recommend checking the casters to be sure nothing is caught within the caster. One of our Customer Care team members will reach out to you shortly to help you with your casters. We offer several types of casters, which are designed for certain usage situations. Our ‘Carpet Casters’ are designed to be used on carpet only. The ‘Hard Floor or Carpet’ casters are designed to be used both on hard floors and on carpet. We would recommend choosing the caster that best fits the area where you will be using your chair.

Posted in Tech Opinion | Tagged | Leave a comment

Godaddy Privacy Coupon – June 2013

SPECIAL OFFER! .COM with FREE private registration just $3.00*!

Godaddy has a free private registration (privacy is normally 9.99/yr) coupon code that is currently active. The code is 3COMPRF and is good through June 2013.

Three Other Good Deals:

New Customers get 35% off at GoDaddy.com! Expires 6/25/13.$4 .Com at GoDaddy.com!We've Got Your Site Protected! $5.99 SSL Sale!

Offer Details:

> *Plus ICANN fee of $0.18 per domain name per year. $3.00 price good for the first year of one new .COM per customer; not valid for transfers or renewals. Additional years or .COMs may be purchased for $9.99 per year. Free privacy offer valid for entire initial registration term of the domain name. When the domain name renews, each year of private registration will renew at the regular rates in effect at the time of renewal. Discounts cannot be used in conjunction with any other offer or promotion. Customers may not use gift cards, PayPal, CCAvenue, In-Store Credit or AliPay to redeem this offer. Your discount will be applied in your shopping cart. Offer expires after 10,000 redemptions per promo code or on 7/31/13 at 11:59 PM (Mountain Time) whichever comes first.

Posted in Tech Tips | Tagged , | Leave a comment

Google Grants URL Policy Change

Dear Google Grantee,

We are writing to inform you of a change we are making to our URL policy.

Google Grantees may only promote the one website domain name associated with the registered nonprofit that approved for Google Grants. We realize that some nonprofits may have separate domain names for events or fundraisers. However, to maintain the integrity of our program, we now require that Google Grantees only promote the one domain name associated with the nonprofit that was approved for Google Grants.
For more on the URL policy, please visit the Help Center article:
https://support.google.com/nonprofits/answer/1657899?hl=en

NEXT STEPS:

Google Grantees must remove any extra domain names from their account by July 2013. After a short grace period, we will begin enforcing the new policy. Grantees that continue to promote multiple domain names or a domain name not associated with the registered nonprofit will be subject to removal from the Google Grants program.

EXAMPLE:

Your organization has the website domain name www.HelpForAnimals.org.

You are allowed to have ads that direct users to subdomains and subfolders within your website, such as your volunteer page, events page, or programs page:

www.subdomain.HelpForAnimals.org/subfolder
www.HelpForAnimals.org/volunteer
www.HelpForAnimals.org/events
www.raceforlife.HelpForAnimals.org

You may not promote an entirely different domain name, such as `www.ShopForPets.com` or `www.AdoptDogs.org`

For more information on Google Grants guidelines, please visit: [www.google.com/grants](www.google.com/grants)

To contact the AdWords team, please visit: [https://support.google.com/adwords/answer/8206?hl=en](https://support.google.com/adwords/answer/8206?hl=en)

Sincerely,

The Google Grants Team

Please note: this email acts as a notification only. Please do not reply. You’ve received this mandatory service announcement email to update you about important changes to your Google Grants AdWords account.

Posted in Marketing | Tagged , | Leave a comment

Solved: Raspbian with Edimax EW-7811UN WiFi Adapter and 802.1X authentication or WPA shared key authentication

Solved: Raspbian with Edimax EW-7811UN WiFi Adapter and 802.1X authenticationRecently I wanted to set up Wireless (Wi Fi) Ethernet 802.1X authentication on a Raspberry Pi with Raspbian “wheezy” 3.6 (version 3.6.11 actually) and the Edimax EW 7811UN WiFi Adapter.

Solved: Raspbian with Edimax EW-7811UN WiFi Adapter and 802.1X authenticationI had read a lot of posts about having trouble with the Edimax adapter – and how you would need to replace the driver file `cfg80211.ko` and / or rebuild one from the source code. This simply wasn’t true for me – the device worked very well right out of the box – with a few small configuration changes which I will share with you.

Here is my setup:

– Raspberry Pi was a “Pi Model B” with the 512MB of memory
– Downloaded Raspbian wheezy from the [downloads site](http://www.raspberrypi.org/downloads) – version was `2013-05-25-wheezy-raspbian.zip1
– Created a SD card with the image
– EW-7811UN WiFi Adapter

Notes:

– If you boot up the Pi and then plug in the EW-7811UN WiFi Adapter directly to the Pi, it will likely crash / reboot the Pi. This is not a problem with either device, but the `EW-7811UN WiFi Adapter` requires a lot of power and so it underloads the Raspberry Pi’s circuits and causes this behavior.
– If you have a powered USB hub (in my case my monitor) and plug / unplug the `EW-7811UN WiFi Adapter` then you will not cause the system to crash / reboot
– I did my initial bootup of the Pi without the `EW-7811UN WiFi Adapter` plugged in
– I did not select any special options on the first boot – I just went down and hit the “continue” button
– After rebooting, I logged in as `pi` and the command propt started but no GUI (this is expected behavior) and the `EW-7811UN WiFi Adapter` was still not plugged in
– Next I plugged in the `EW-7811UN WiFi Adapter` into the monitor (powered usb hub) and the ran `lsusb` and `iwconfig` which both showed the `EW-7811UN WiFi Adapter` available. You can also use `lsmod` to get information on the chipset of your devices.
– The `EW-7811UN WiFi Adapter` should show up as `wlan0` – the third of three devices (wired, loopback, and wifi)

There are some options for the network configuration in this file, but **you should not need to edit this file**:

/etc/network/interfaces

The final line of that file, however, should be something like this (should already be existing):

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

That of course points to a file that you will need to configure:

/etc/wpa_supplicant/wpa_supplicant.conf

If you don’t know how to do that, use a command to edit using either `emacs` or `vi` and you will need to preface this with `sudo`:

sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

If you are using `WPA-PSK` (not 802.1X) you can add something like this to the bottom of that file (don’t delete what is already there – just APPEND it):

network={
ssid=”_SSID_”
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk=”_WPA_SHARED_KEY_”
}

Replace `_SSID_` and `_WPA_SHARED_KEY_` with the correct corresponding values.

Now for the good stuff – industrial `802.1X` or `802.1X LEAP` authentication – yay! Instead of appending that last block, use something like this:

network={
ssid=”_SSID_”
scan_ssid=1
key_mgmt=WPA-EAP
eap=PEAP
pairwise=CCMP TKIP
group=CCMP TKIP
# authentification info
identity=”_USERNAME_”
password=”_PASSWORD_”
phase1=”peaplabel=0″
phase1=”auth=MSCHAPV2″
}

Again, be sure to replace `_SSID_`, `_USERNAME_`, and `_PASSWORD_` with the correct values.

Now save the file, and reboot your `pi` and then run `ifconfig` and the `wlan0` should now have a real IP address and be connected to the network! Yay!

More notes:

– When I rebooted the first time this worked – but then I unplugged the ethernet cable, and although the wireless network was connected, the `pi` was still defaulting to the wired connection `eth0` and so I had to reboot again after unplugging the wired connection – but upon reboot the `pi` was functioning with wireless with NO PROBLEMS with the `Edimax EW-7811UN WiFi Adapter` – woot woot!
– Update: I left the pi turned off overnight and when I turned it on again it didn’t connect to the wireless. Running lsusb showed that the adapter was not available. I unplugged the adapter, rebooted, then inserted the adapter after it was booted up. The adapter showed up. After rebooting once again it connected to the WiFi automatically. There are probably some commands to facilitate connecting automatically after a period of the pi being off but I haven’t discovered yet.

Posted in Tech Tips | Tagged , , | 1 Comment

Anonymous Python

This is an anonymous python – as seen in Google Docs:

Anonymous Python

That’s it – just a snake in a green box. Shows up in Google Docs when viewing a video or other item:

Anonymous Python

Posted in Random, Software | Tagged , | Leave a comment

Command To Shutdown And Power Off Raspberry Pi

For the Raspberry Pi:

`sudo poweroff` shuts down and `sudo reboot` reboots

The default username is `pi` and the default password is `raspberry`

Posted in Tech Tips | Tagged | Leave a comment

GravityForms: tw-sack.min – Uncaught SyntaxError: Unexpected identifier tw-sack.min.js:1

Here is what the error looks like in the Chrome Debugger Console:

Uncaught SyntaxError: Unexpected identifier tw-sack.min.js:1

GravityForms:

If you’r getting a problem with editing forms in GravityForms, or perhaps trying to add fields, you can take a look at the source code and you’ll see what happens – an AJAX request is made, but twsack does not like the response which looks something like:

EndAddField({“id”: 1, “label”: “Hidden Field”, “adminLabel”: “”, “type”: “hidden
“, “isRequired”: false, “size”: “medium”, “errorMessage”: “”, “inputs”: null}, ”

  • Hidden : Field ID 1

    DeleteDuplicateEdit

  • “);m

    So the problem is actually that the response comes back with a `Content-type` of json, javascript, or html when it should be returned as `text/plain` – something like:

    Content-Type: text/html; charset=UTF-8

    To test, I edited the file `form_detail.php` and changed line 2178 (or rather inserted this line) – for gravity forms 1.7.5 (omit the line numbers):

    2178 header(‘Content-type: text/html; charset=utf-8’);
    2179 die(“EndAddField($field_json, \”$field_html\”);”);

    Next I am going to look into changing the .htaccess file for this system to see about editing the default content type which I think is causing the root of the error.

    **Update**

    Looks like the content type was a fix but it is not the solution – at least not for when adding fields.

    It looks like this is a problem when using GravityForms with Nginx and PHP with WordPress – or perhaps just something that could have been better coded in Gravity forms. The `$field_html` variable needs to be escaped with add_slashes – here is the fix with line numbers for the file `wp-content/plugins/gravityforms/form_detail.php`

    2177 $field_html = GFFormDisplay::get_field($field, “”, true);
    2178 echo “EndAddField($field_json, \””.addslashes($field_html).”\”);”;
    2179 die();

    Posted in Tech Tips | Tagged , | 3 Comments