Free List of All US Cities

/* Posted February 3rd, 2012 at 9:39pm [Comments: none]    */
/* Filed under General    */

“zip code”, “state abbreviation”, “latitude”, “longitude”, “city”, “state”
“35004?, “AL”, ” 33.606379?, ” -86.50249?, “Moody”, “Alabama”
“35005?, “AL”, ” 33.592585?, ” -86.95969?, “Adamsville”, “Alabama”
“35006?, “AL”, ” 33.451714?, ” -87.23957?, “Adger”, “Alabama”
“35007?, “AL”, ” 33.232422?, ” -86.80871?, “Alabaster”, “Alabama”
“35010?, “AL”, ” 32.903432?, ” -85.92669?, “Alexander City”, “Alabama”
“35014?, “AL”, ” 33.355960?, ” -86.27720?, “Alpine”, “Alabama”
“35016?, “AL”, ” 34.323715?, ” -86.49278?, “Arab”, “Alabama”
“35019?, “AL”, ” 34.292540?, ” -86.63505?, “Baileyton”, “Alabama”
“35020?, “AL”, ” 33.405559?, ” -86.95141?, “Bessemer”, “Alabama”
“35022?, “AL”, ” 33.346817?, ” -86.95252?, “Bessemer”, “Alabama”
“35023?, “AL”, ” 33.443039?, ” -87.01930?, “Bessemer”, “Alabama”
“35031?, “AL”, ” 34.111425?, ” -86.53380?, “Blountsville”, “Alabama”

Replacement for Firefox Font Replacer Add-on

/* Posted February 1st, 2012 at 9:38pm [Comments: none]    */
/* Filed under General    */

Have you been having issues with your font renderings on Firefox and found numerous tips and references to the Font Replacer add-on only to get to a dead link? You and me both. My personal reason for embarking on this quest was because I had recently installed the Helvetica Neue font on my Windows computer. This is predominantly a Mac font but I was surprised to see how many web developers actually had web styling prioritizing this horrible font over others including trusty old Arial. This causes a horrible user experience for Windows users and personally I wouldn’t alienate the world’s largest OS user base just to be an Apple elitist.

Thanks to Internet Explorer’s font smoothing, the problem was not as bad. However on Firefox it got to be unbearable. With the Font Replacer add-on completely M.I.A. I figured there had to be a Greasemonkey script of some sort that would do the trick and I was right.

Greasemonkey is a great Firefox add-on that lets you basically customize any website you want by injecting or modifying HTML code so you can get things displayed exactly how you like. I won’t go into more details about how great it is, but if you don’t have it you need to install it to get this solution to work.

Download the Kill Helvetica script from userscripts.org and install it as a Greasemonkey script. Simply enable it and you’ll find all web pages using Helvetica Neue will display nicely with Arial instead.

Better yet, you can modify the script if you have other misbehaving fonts that you’d like to replace, just like old Font Replacer functionality. If you take a look at the code, it’s quite easy. Simply replace ‘helvetica’ with the misbehaving font and ‘arial’ with the font you wish to replace. The script is replicated below:

// ==UserScript==
// @name           Kill Helvetica
// @namespace      Hacked from Font Must Die script
// @description    Replaces corrupt and jumbled Helvetica fonts in Firefox. Removes all instances of Helvetica and replaces with Arial by replacing font tags with a CSS-styled span.
// @version     1.7
// @copyright	2010, Daniel P
// @include        http://*
// ==/UserScript==

var tags = document.getElementsByTagName('*');
for (var i in tags) {
        var style = getComputedStyle(tags[i], '');
        if (style.fontFamily.match(/helvetica/i)) {
                var fonts = style.fontFamily.split(',');
                for (var j in fonts) {
                        if (fonts[j].match(/helvetica/i)) {
                                fonts[j] = 'arial';
                        }
                }
                tags[i].style.fontFamily = fonts.join(',');
        }
}

After install, don’t forget to add this user include for secure https connections.
kill helvetica font replacement

Fix WordPress 3.3.1 Fatal Error: Call to undefined function is_rtl()

/* Posted January 30th, 2012 at 9:38pm [Comments: none]    */
/* Filed under General    */

If you recently upgraded to WordPress 3.3.1 like me, you may notice that you may be getting this error message below:

Fatal error: Call to undefined function is_rtl() in /home/user/public_html/wp-includes/general-template.php on line 2102

Or something similar. For me it was a pretty bad error: while the website loaded fine, I was unable to access the WordPress admin interface.

Though it seems like a problem with the WordPress core, after a bit of research I found others with the same problem and it all pointed to one plugin: Popup Domination. So if you have that plugin installed, either rename the folder or just delete it altogether and wait for an update. After deleting the folder popup-domination in my wp-content/plugins folder the problem went away.

Recap

If you encounter this error after upgrading WordPress to 3.3.1:
Fatal error: Call to undefined function is_rtl() in /home/user/public_html/wp-includes/general-template.php on line 2102

Delete or rename your popup-domination plugin folder to deactivate it.

Facebook Game Ticker: Prevent “X is Playing Y” Status Updates

/* Posted January 12th, 2012 at 9:28pm [Comments: none]    */
/* Filed under General    */

The new Facebook game ticker is either a huge boon or a huge bust for avid gamers on the social network. For this geek–while it was great to see who the other gaming addicts were among friends–I didn’t like sacrificing my own personal privacy. I’m also willing to bet that many of my other friends feel the same way, it’s just they simply don’t know how to remove those updates about themselves. They are hugely annoying as they let other people know exactly what game you were playing at exactly what time… and worst of all how many times a day you’d been playing… Not good during regular work hours.

At first, I tried editing the application settings but if you try to restrict the updates to show to “Me Only” or similar, you won’t be able to utilize the social aspects of many games like asking for a brick part in Farmville and the like. Friends will no longer see these so you’d be publishing to no one but yourself. Plus, even with this setting it still did not prevent the annoying “X is Playing Y” updates from showing up automatically every time I launched Cityville.

By chance today, I hovered over one of my game statuses in the Facebook game ticker and out popped a dialog to the left. You can comment or like this just like you would any regular Facebook status but there is a small “V” icon in the upper right hand corner that is the salvation to all privacy-advocate gamers everywhere.

how to hide facebook game ticker status updates

If you click on this tiny little “V”, another dialog pops up and here’s the hidden setting that lets you banish these game updates from ever showing up again on the game ticker. The very last option is to “Don’t publish ‘is Playing XXX’ posts” which you can select to block once and for all the privacy invasion that is the Facebook game ticker.

Do this for every game application of yours on the ticker. I have confirmed that this works with a friend… he no longer saw my game updates published automatically though one did slip through. A re-ban fixed it right up so maybe I might simply have missed it. Again, this solution isn’t the same as hiding your game updates on your news feed or wall, this setting is for the game ticker only.

On a related note, if you’ve quit playing a game and no longer wish to see your friend’s ticker updates you can similarly hover over that friend’s status and select “Hide all by XXX.” You may also want to do this if you simply don’t play that game at all.

Why Facebook couldn’t make it easier to find or do this (like in the app settings as any normal person would expect) is most likely by design. They aren’t a bunch of dummies and probably thought the game ticker would increase social gameplay activity or boost interaction with the site. Even at the cost of privacy, Facebook is a business and not your friend.

Android/Java Function for Regular Expression Search Like preg_match

/* Posted November 5th, 2011 at 10:01pm [Comments: none]    */
/* Filed under General    */

I developed this function to perform a simple regular expression text search on a string for an Android app. You can use this in conjunction with my method to retrieve the HTML text from any URL you give it in an Android app to strip out unwanted bits of a web page and dig out precisely what you need from it.

The usage is very similar and akin to preg_match in PHP if you are familiar with that. A similar function is not available in Java, instead you have to rely on their Pattern classes and it just ends up being overly complicated. Alas, that is sometimes one of the bad things about object oriented programming languages…

At any rate, you can get PHP-like preg_match functionality using the function below. Be sure to check out the comments for further clarification.

public void myFunction() {
  String html = "..."; // imagine this is a web page's source code
  String data = doRegexp("div (.*?)id="special"(.*?)(.*?)/div", html);
}

...

public String doRegexp(String needle_regexp, String haystack) {
  Pattern p = Pattern.compile(needle_regexp, Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);
  Matcher matcher = p.matcher(haystack);

  String match = "";
  if (matcher.find())
    match = matcher.group(3);
    // Number depends on your regexp, group(0) is whole string, group(1) … group(n) for next n match groups
    // For example, in "div (.*?)id="special"(.*?)(.*?)/div" you want the stuff between the divs so you want group(3) match returned

  return match;
}

It will only give you the first match, unlike preg_match which will return all instances. If you need that sort of functionality, then consider just using the Pattern classes directly using the function above as a reference. The comments should be more than sufficient to get you on your way.

Any questions or suggestions, please chime right in in the comments below!

Tags:

Android: How to Share Data Between Separate Activities

/* Posted November 3rd, 2011 at 9:59pm [Comments: none]    */
/* Filed under General    */

Android programming stresses the use of separate activities within a main program–also an activity–to handle interface changes like going from one menu screen to another. The problem arises when you need to share data between seprate activities, like user data entered on a previous screen.

Let’s take a simple example where ActivityA is an activity class that has prompted the user for his or her name. ActivityB is the next screen the user gets taken to which will use that data. The assumption here is that you have declared a string “name” that will store this data.

Put this code anywhere in class ActivityA:

Intent myIntent = new Intent(v.getContext(), ActivityB.class); /* v is a View here */
Bundle myBundle = new Bundle();
myBundle.putString("USER_NAME", name);
myIntent.putExtras(myBundle);
startActivityForResult(myIntent, 0);

What you’ve done is prepared the data so ActivityB can access it.

Put this code anywhere in class ActivityB:

String name = getIntent().getExtras().getString("USER_NAME");

Now ActivityB is able to grab the data that was originally set from ActivityA.

Dead Simple Javascript Geo-Targeting with Maxmind

/* Posted November 1st, 2011 at 9:58pm [Comments: none]    */
/* Filed under General    */

Welcome, visitor from .

I’ll file this under the Javascript category though in all honesty this is more of a web page or web app development post. With geo-targeting, you can directly address your visitor’s location based on the IP address with this useful and completely free script from Maxmind. For our purposes, I will demonstrate how to use their dead simple Javascript API though it is available in many other languages including C, C#, Java, PHP, and more.

If you don’t know, Maxmind is in the business of geo-targeting. They sell a commercial license for use of a highly accurate Javascript routine or SQL database which can spit back details about web visitors including the city, state, and country. It’s a great tool to grab the attention of your visitor and make your website feel more personalized. If you’ve ever seen this type of targeting directed at yourself, most likely it was thanks to Maxmind’s backend geo-location services.

Maxmind also provides for non-commercial use free versions of the Javascript script as well as a free SQL database you can download and install on your own web server. All that they request is a simple attribution link if you use their tools. These versions are not fully accurate but get the job done for the most part. When you consider that the service is provided free, there are really no complaints you can make about the accuracy.

To implement dynamic city-based geo-targeting on your web visitors, simply add this line in your HTML between the head tags:

script language="JavaScript" src="http://j.maxmind.com/app/geoip.js"/script

That adds a pointer to Maxmind’s free geo-targeting script. To add in the visitor’s location somewhere in your page, insert this Javascript call where you need it displayed:

script language="JavaScript"document.write(geoip_city());/script

There are also a few other useful geo-targeting functions you can use. For example, if you wanted to print the visitor’s country instead, you would simply replace geoip_city with geoip_country_name. Other functions will get you the zip code, the state, and even the longitude and latitude coordinates.

For the full list and a demo of Maxmind’s geo-targeting script capabilities, click here.

Where Is the @$^#! RSS Subscribe Icon in Firefox 5+?

/* Posted October 30th, 2011 at 9:55pm [Comments: none]    */
/* Filed under General    */

If you haven’t noticed, the Mozilla developers have drastically changed the way they handle updates. Rather than many minor updates spread widely between major revision updates, they have released firefox 4, 5, and 6 very quickly one after the other, citing a new software release methodology. While that’s fine and dandy for their development cycle, it does get quite annoying when you constantly have to update your Firefox plugins. And that’s assuming it’s still in active development. I cannot tell you how many great plugins have become obsoleted because of this (hint, you can manually edit the xpi to work with newer FF releases, but we’ll save that for a later post).

Today my gripe is about the RSS icon that used to appear to the right of the address bar. Instead, it’s the bookmark button which I never used because all my bookmarks are handled by Delicious. This was way before Firefox got their act together and introduced sync’ed bookmarks. If you’ve been used to having your bookmarks available on the web from any device for many many years now, I’d imagine you’d be quite loathe like me to re-enter all those bookmarks into Firefox’s new bookmark service. Anyways, you can see how useless the “favorite” button is for me, and I really wish that they kept the RSS subscribe icon there instead since I love getting all my news from Google Reader.

Today, if you want to instantly subscribe to a feed, you have to now look for it (if it’s your first time like mine) and then hate it every time after that when you do it again. The RSS subscribe action is now hidden away in the Bookmarks menu.

firefox 5 rss subscribe icon

I’m not sure how subscribing to an RSS feed gets categorized under the Bookmarks menu but that’s where you’ll find it in Firefox 5+.

Empty Windows Open Every Time You Start Firefox?

/* Posted October 28th, 2011 at 9:55pm [Comments: none]    */
/* Filed under General    */

Tell me if this sounds familiar: you start your trusty old Firefox browser and upon loading, it not only loads the last browser window with all your individual tab sessions, but a billion other empty new Firefox windows as well.

I’ve had this evil problem plague me for ages. I searched and searched and found that if I simply deleted the sessionstore.js file in my Firefox profile directory, it would eliminate the problem for a bit. However, the issue always came back and was never a permanent solution.

After further investigation, I found it to be attributed to my RoboForm plugin. If you use this, you know it’s an indispensable password and bookmark manager to say the least. Now I cannot live without my beloved RoboForm, so I figured I’d just have to live with this multiple Firefox window problem. Sadly, it was just lesser of two evils.

I did however come up with a band-aid solution. It’s only a superficial fix but it gets the job done for the most part. I wrote a simply batch script to delete the sessionstore files (including backup) which I made to run at each Windows startup. This cleared my old sessions but at least I didn’t have to spend five minutes closing a bunch of empty new windows.

Find the path to your Firefox profile, usually in the format C:Documents and SettingsUserApplication DataMozillaFirefoxProfilesabcd1234.default if you’re on XP. I suspect something similar for Vista and Windows 7. Once you know the location of your Firefox profile, look for two files sessionstore.js and sessionstore.bak. These two files, if deleted, will prevent the multiple windows from loading at each Firefox startup.

The batch script is as follows, saved as del-sess.bat on my computer:

del "C:Documents and SettingsUserApplication DataMozillaFirefoxProfilesabcd1234.defaultsessionstore.bak"
del "C:Documents and SettingsUserApplication DataMozillaFirefoxProfilesabcd1234.defaultsessionstore.js"

Then I simply added a shortcut to this file to my Startup folder in the Windows Start menu. This executes the batch file upon each Windows startup which cleans up the session files, preventing RoboForm from opening up new Windows when Firefox gets loaded.

Transfer Money Between Bank Accounts Freely Online without PayPal

/* Posted October 26th, 2011 at 9:54pm [Comments: none]    */
/* Filed under General    */

So this isn’t exactly a techie-type post but I’m sure some geeks out there will appreciate this useful trick. The situation is this: you’ve got two different bank accounts with two different banking institutions and you want to transfer money between them, but you want to do it online (because you’re lazy like me) and without fees (because you’re cheap like me). If this sounds like your situation, then read on.

paypal logoMy first attempt to perform this transaction involved two PayPal accounts, both of which were under my name but each linked to bank accounts at two different banks. To avoid fees, I sent money from one PayPal account as a gift to the other, and I had to use the eCheck option. After the transfer cleared, I simply withdrew the funds from the second PayPal account and deposited it into my second bank account linked there. Let me tell you that this does work. The trouble is you have to have two different PayPal accounts. The second problem is PayPal itself: it’s notorious for freezing funds for any “suspicious” activity.

While I had two $x,xxx transfers go through using this PayPal-to-PayPal method without any hitches, I didn’t want to keep risking my funds within the clutches of PayPal’s draconian money handling system.

Fortunately I remembered that I had an old ING Direct savings account that I had opened up in the glory years when CDs returned 5.25%. I had moved all but $5 out of that account but I logged in without any issues. By the way if you haven’t logged in in a while, the PIN must be at least 6 digits long. They don’t force you to change it but I’d recommend it if you were using a 4 digit PIN before.

ing direct homepage

If you don’t have an ING Direct savings account don’t sweat. It’s free and easy to sign up online. If you want a $25 bonus, simply get in touch with me and I can refer you and I also get $10 myself. Win-win for everybody. They are a virtual bank in that they have no brick and mortar branch offices, so all your account administration is done completely online. This was perfect for me since I wanted to be able to transfer money between my accounts online without writing checks to myself, driving to the ATM, and cashing them. Basically ING Direct gave me all the benefits of a PayPal-to-PayPal transfer without any of the risk.

Once in your ING Direct account, simply link each of the different bank accounts that you want to transfer funds between and wait a few days in between. I think you can only link one account at a time so you’ll have to be patient the first week. Within two days you’ll get some micro-deposits which you’ll need to verify. It works just like adding an account with PayPal so if you’ve already done that before you’ll have no surprises here.

You can link up to three external accounts in ING Direct and money can be transferred freely to and from ING. Once the funds settle online, it’s just one transfer away from being deposited into another external account. No fees, no writing and wasting checks, no driving, no check cashing, no hassle! It’s much safer than entrusting your money to PayPal and doesn’t require you to open up two distinct PayPal accounts either. One simple ING Direct account will do.

Possible bonus: I haven’t played around with it, but I believe you can even schedule automatic transfers that repeat every so often. This is perfect for those banks that waive minimum deposits and banking fees when you have a recurring direct deposit set up. Simply spread your paycheck into your other banking accounts with ING Direct as your medium. Then enjoy free checking with all your banks!

[Update] I tried this but you can’t set up linked account to linked account transfers directly. So you’ll have to stagger two automatic transfers spread across a few days to wait for the transfer to settle. I set one up on the first of the month for a transfer from bank account A to ING, then another on the eighth of the month (a week or five business days) from ING to bank account B. It slows down the process, certainly, but it can be done hands free and fee free. [/Update]

Hopefully this little trick helped you with your quest for the lazy man’s way to transfer money between your bank accounts online and without fees or PayPal.

Tags:

Page 1 of 491234567...203040...Last »

Nothing found for Tools Panel Php?preblock=%3Cdiv+class%3D%22sidelist%22%3E%3Cul%3E&postblock=%3C%2Ful%3E%3C%2Fdiv%3E&preitem=%3Cli%3E&postitem=%3C%2Fli%3E&num=

Mission Statement

Mission Statement

To remain on the cutting edge of Internet advertising by investing and building innovative, progressive and revolutionary companies that advance the industry. It is our responsibility to operate companies that set new standards for service, quality, and profitability.

Read More

What We Do

We are committed to the pursuit of excellence and pledge to stand ahead of our competitors. Our business model is simple: find and cultivate ideas that improve every aspect of the experience, setting a new precedence. We thrive in competitive markets because we focus on strong, long-term relationships and innovative solutions. Our influence and reputation flows from the quality of our teams and...

Read More