Vardaman.org

My Github




Browse

IQ

Your IQ changes with age. I'd bet my IQ score has dropped ten or twenty points in the last decade.

permalinkOctober 15, 2019

Flat-lining SPAM emails

Flat-lining SPAM emails:

More SPAM

The drop-off on Rejects are firewall rule changes.

permalinkOctober 14, 2019

Murder Comparison between Jackson MS and Denver CO

A sad fact about my hometown of Jackson, MS

For the years with comparable data, in absolute terms, there's been more murders in Jackson than in Denver in three out of four years. Even though Denver (pop. = 600,158) is well over the size of Jackson (pop. = 173,514). As of the 2010 US Census. Denver is nearly 3.5 times larger than Jackson.

+------+---------+-------+--------+-------+
| year | city_1  | j_tot | city_2 | d_tot |
+------+---------+-------+--------+-------+
| 2014 | Jackson |    61 | Denver |    32 |
| 2015 | Jackson |    53 | Denver |    57 |
| 2016 | Jackson |    58 | Denver |    54 |
| 2017 | Jackson |    60 | Denver |    58 |
+------+---------+-------+--------+-------+

It's even worse than the numbers appear. Since the 2010 census, Denver has grown mightily; Jackson has been losing population. By 2014 where I first found matching data and through 2017, the city size difference is probably more like 4X to even 5x.

permalinkOctober 1, 2019

Denver Historic Landmarks

Denver's Open Data table of historic landmarks is so bad it's essentially unusable. A lot of data is in the wrong fields, there's no city/state/zip, and there's three places that aren't even in Denver; as far away as Pueblo.

https://www.denvergov.org/media/gis/DataCatalog/historic_landmarks/csv/historic_landmarks.csv

346 total records, the US Postal Service was able to encode 273 total, of which 251 they were able to add the ZIP+4 code. The rest I googled, then cleaned up manually. So, let's look at downtown Denver only, with Districts filled out, fully ZIP+4 encoded, and ordered alphabetically:

SELECT landmark_name, address, city, state, zip, district,
    year_built AS built
  FROM food.landmarks
  WHERE LENGTH(zip) > 5
    AND district <> ''
    AND LEFT(zip, 5) = '80202'
  ORDER BY landmark_name

+---------------------------------------------+-----------------+--------+----+------------+-----------------+---------+
| landmark_name                               | address         | city   | st | zip        | district        | built   |
+---------------------------------------------+-----------------+--------+----+------------+-----------------+---------+
| 1642 Market Street                          | 1642 MARKET ST  | DENVER | CO | 80202-1514 | Lower Downtown  | 1885    |
| 1644-1650 Market Street                     | 1644 MARKET ST  | DENVER | CO | 80202-1514 | Lower Downtown  | 1884-88 |
| American National Bank Building             | 818 17TH ST     | DENVER | CO | 80202-3101 | Downtown Denver | 1910    |
| Barnum Building                             | 1412 LARIMER ST | DENVER | CO | 80202-1705 | Larimer Square  | 1889    |
| Barth Hotel                                 | 1514 17TH ST    | DENVER | CO | 80202-1202 | Lower Downtown  | 1882    |
| Baur Confectionery Company                  | 1512 CURTIS ST  | DENVER | CO | 80202-2343 | Downtown Denver | 1881    |
| Brown Palace Hotel                          | 321 17TH ST     | DENVER | CO | 80202-4003 | Downtown Denver | 1888-92 |
| Congdon Building/Apollo Hall                | 1421 LARIMER ST | DENVER | CO | 80202-1704 | Larimer Square  | 1870s   |
| Crawford Building                           | 1437 LARIMER ST | DENVER | CO | 80202-1704 | Larimer Square  | 1875    |
| Denver Tramway Company Building (REI store) | 1100 14TH ST    | DENVER | CO | 80202-2201 | Downtown Denver | 1893    |
| Gallup-Stanbury Building                    | 1445 LARIMER ST | DENVER | CO | 80202-1704 | Larimer Square  | 1873    |
| Granite Building                            | 1460 LARIMER ST | DENVER | CO | 80202-1705 | Larimer Square  | 1882    |
| Kettle Building                             | 1422 LARIMER ST | DENVER | CO | 80202-1705 | Larimer Square  | 1873    |
| Miller Building                             | 1401 LARIMER ST | DENVER | CO | 80202-1704 | Larimer Square  | 1889    |
| Navarre Building/Bricker Collegiate Inst.   | 1727 TREMONT PL | DENVER | CO | 80202-4006 | Downtown Denver | 1880    |
| Oxford Hotel and Office Annex               | 1600 17TH ST    | DENVER | CO | 80202-1204 | Wazee           | 1891    |
| Paramount Theatre                           | 1621 GLENARM PL | DENVER | CO | 80202-4301 | Downtown Denver | 1930    |
| Sheridan/Hendrie & Bolthoff Building        | 1635 17TH ST    | DENVER | CO | 80202-1203 | Lower Downtown  | 1892    |
| Trinty Methodist Church                     | 1820 BROADWAY   | DENVER | CO | 80202-3815 | Downtown Denver | 1888    |
| Windsor Stables Storefront Building         | 1732 BLAKE ST   | DENVER | CO | 80202-1226 | Lower Downtown  | 1881-86 |
+---------------------------------------------+-----------------+--------+----+------------+-----------------+---------+

Here's a JOIN on my version and their original to show you how crappy their data is:

+--------------------------------------+------------------------------+-------------------------------------------------------+------------------------------------------------+
| lm_name                              | lm_aka                       | addy_1                                                | addy_2                                         |
+--------------------------------------+------------------------------+-------------------------------------------------------+------------------------------------------------+
| 1642 Market Street                   | None                         | 1642 Market Street                                    | None                                           |
| 1644-1650 Market Street              | None                         | 1644-1650 Market Street                               | None                                           |
| 20th Street Recreation Center        | None                         | 1011 20th Street                                      | None                                           |
| American National Bank Building      | None                         | 818 17th Street                                       | None                                           |
| Barnum Building                      | None                         | 1412 Larimer Street                                   | 1408 Larimer Street                            |
| Barth Hotel                          | None                         | 1514 17th Street                                      | 1510-16 17th Street                            |
| Baur Confectionary Company           | None                         | 1512-1514 Curtis Street                               | None                                           |
| Brown Palace Hotel                   | None                         | 321 17th Street                                       | 321-401 17th Street                            |
| Congdon Building                     | Apollo Hall                  | 1421-1425 Larimer Street                              | 1419-27 Larimer Street                         |
| Crawford Building                    | None                         | 1437-1439 Larimer Street                              | 1439 Larimer Street                            |
| Curry-Chucovich House                | None                         | 1439 Court Place                                      | None                                           |
| Denver Tramway Power Plant           | REI                          | None                                                  | 1416 Platte Street                             |
| Gallup-Stanbury Building             | None                         | 1445-1451 Larimer Street                              | 1445 Larimer Street                            |
| Granite Building                     | None                         | 1460 Larimer Street, 1224-30 15th Street              | 1454-60 Larimer Street, 1226-28 15th Street    |
| Guaranty Bank Building               | None                         | 815 17th Street                                       | 801-17 17th Street, 1715-17 Stout Street       |
| Hose Company No. 1                   | None                         | 1963 Chestnut Place                                   | 1999 Chestnut Place                            |
| Kettle Building                      | None                         | 1422 Larimer Street                                   | None                                           |
| Masonic Temple Building              | None                         | 1614 Welton Street                                    | 1614 Welton Street, 535 16th Street            |
| Miller Building                      | None                         | 1401-1407 Larimer Street                              | None                                           |
| Navarre Building                     | Bricker Collegiate Institute | 1727 Tremont Street                                   | 1725 Tremont Place                             |
| Oxford Hotel and Office Annex        | None                         | 1600 17th Street, 1645 Wazee Street, 1624-28 17th St. | 1600 17th St, 1612-16 17th St., 1659 Wazee St. |
| Paramount Theatre                    | None                         | 1621 Glenarm Place                                    | 1621-41 Glenarm Place                          |
| Sheridan/Hendrie & Bolthoff Building | None                         | 1635 17th Street                                      | None                                           |
| Trinty Methodist Church              | None                         | None                                                  | 1820 Broadway                                  |
| Windsor Stables Storefront Building  | None                         | 1732-1770 Blake Street                                | 1738-1770 Blake Street                         |
+--------------------------------------+------------------------------+-------------------------------------------------------+------------------------------------------------+

Hell, why not total up by district with more than one:

SELECT district, COUNT(district) AS dist_count
  FROM food.landmarks
  WHERE district <> ''
  GROUP BY district
  HAVING dist_count > 1
  ORDER BY dist_count DESC, district

+----------------------------------------+------------+
| district                               | dist_count |
+----------------------------------------+------------+
| Downtown Denver                        |         15 |
| East 7th Avenue                        |         15 |
| Larimer Square                         |         11 |
| Lower Downtown                         |         10 |
| Wyman                                  |          7 |
| Pennsylvania Street                    |          6 |
| Quality Hill                           |          6 |
| Potter Highlands                       |          5 |
| Civic Center                           |          3 |
| Curtis Park E                          |          3 |
| Sherman-Grant                          |          3 |
| Swallow Hill                           |          3 |
| Wolff Place                            |          3 |
| Clements                               |          2 |
| Five Points Historic Cultural District |          2 |
| Montclair                              |          2 |
| Morgan's Subdivision                   |          2 |
| Packard's Hill                         |          2 |
| Witter-Cofield                         |          2 |
+----------------------------------------+------------+
permalinkSeptember 29, 2019

Spam email blocking

Made some adjustments to my firewall rules to block some entire IP address netblocks coming from countries like Russia and China I've seen in my Postfix email server logs. The change in my REJECT blocklist is noticeable, because the email server can't REJECT what the firewall won't allow to connect in the first place:

Spam REJECT stats

(Updated chart Oct 1st 2019 around 8pm)

permalinkSeptember 25, 2019

Denver City Data

A few random totals from Denver's 2019 financials so far this year. The biggest total goes to retirement, followed by funding Denver Health hospital:

DENVER EMPLOYEES RETIREMENT PLAN  = $99,873,949.24
DENVER HEALTH MEDICAL CENTER = $87,664,306.95

More:

DENVER BOTANIC GARDENS INC = $1,341,882.36
THE DENVER CENTER FOR THE PERFORMING ARTS =  $7,849,046.24

THE DENVER POST LLC = $3,105,208.45
(Newspaper - that was probably advertising buys)

BOMBARDIER TRANSPORTATION HOLDING USA INC = $24,907,025.94
(Bombardier is a maker of private jets)

CORRECTIONAL MANAGEMENT INC = $3,433,443.82
(Private jail. Been outside their work-release place's front door on Dahlia St; 
orked with some guys from the inside before)

CENTURYLINK COMMUNICATIONS LLC = $3,108,654.34
(And you thought your Internet bill was high)

REVISION INC = $1,538,546.09
(IT contracting, but as a sideline Tony the owner rents apartments; one I lived in for five years)

ALABAMA AGRICULTURAL AND MECHANICAL UNIV = $3.00
(The city's smallest total payment, but the data contains refunds and dummy payments of one cent)

CARING FOR DENVER FOUNDATION = $24,390,712.00
(The largest one-time payment the city has made, but combined payments to others ends up higher)

Across all departments, petty cash came to $27,136.72; the Police about $2,800 and Fire about $2,000.

permalinkSeptember 17, 2019

Denver data for Elway car dealerships

Another stupid database operation.

Denver makes their payments for expenses open. Let's go see how much the city has paid auto dealership John Elway Chevrolet so far in 2019, and break it down by department area. Overall, Mr. Elway's Chevy dealership has gotten paid $2,547,936.69 this year. The other dealership with Elway's name on it (Jeep) did $372,309.67 in business with the city, and someone working for the city spent a total of $60 on three visits to Elway's Steak House at the airport (I'll bet on only drinks).

PayeeProgramAreaTotalAmount
JOHN ELWAY CHEVROLETPublic Works$1,729,453.79
JOHN ELWAY CHEVROLETHuman Services$338,714.81
JOHN ELWAY CHEVROLETAirport$253,498.09
JOHN ELWAY CHEVROLETGeneral Government$226,270.00

permalinkSeptember 17, 2019

More Nonsense

Because I'm an idiot:

Let's look at liquor licenses. Again, the city's DB has messed-up addresses and no ZIP code, So yet another encoding and another JOIN. But this time, we can only compare the first five digits rather than the full ZIP+4. So we have 588 licensed stores and 1,969 liquor licenses. In my old apartment on Ogden Street in ZIP code 80218; after some data correction, there's 60 places with liquor licenses, broken down by category:

store_typest_count
HOTEL AND RESTAURANT18
BEER & WINE6
FERMENTED MALT BEVERAGE6
TAVERN6
TAVERN AND CABARET6
HOTEL AND RESTAURANT AND CABARET5
RETAIL3
CLUB2
STORE2
SPECIAL EVENTS1
TASTINGS1

Next, it's kinda pointless to do a JOIN on adult and child obesity tables when the numbers are zero. I could add a WHERE clause, but I think it may be faster to just delete the records from those tables with zero values before I even do the SELECT. In the lifespan table alone there's five records with zero values.

Then there's neighborhoods that do not exist - city data sometimes had a GIS coordinate in that field. I blanked those out.

Final output here

permalinkSeptember 13, 2019

Denver Police

Email follow-up I sent to the city of Denver:

I just filed a compliment for your Denver Police. Two officers came out to Safeway to deal with a woman with mental/medical issues, and I just happened to be sitting nearby. The two officers acted awesomely. One gave me his card. John *******, badge #*****. He was kind and compassionate and extremely professional to the woman in distress and having a bad day.

If you could give him a bonus like a paid day off, that would be swell. But if that's not in your policy, when performance reviews come up, I want you to keep this email and the website thing I filed.

permalinkSeptember 9, 2019

Food Licensing

Here's what I'm good at:

Denver's Open Database has some 240 tables. Let's look at food service licensees. Their data is incomplete, but you gotta work with what you have. There's 588 records of licensees.

First, make a database and table on my server in Freemont, CA, download Denver's food license table, and import it into the MariaDB SQL server. The addresses are inconsistent, many don't have a ZIP code, and the neighborhood code is largely in the wrong place. Let's document that and make it into a publicly-visible web page. Gotta add a unique store code to make sure I match everything up.

Food Before

Next, we run all the addresses to fix the missing ZIP codes. USPS has a handy API for that. Bingo! We got 100% ZIP codes fixed and addresses standardized.

Next is the neighborhood codes. Looking at the data, the problems work right-to-left. A one-pass script might work, but that's too much trouble for me. I'll do multiple passes since it's only 588 records. I got it 100% fixed with some data massaging.

Minor cleanup - some neighborhood codes are 'CBD' but I prefer 'Central Business District' because it seems easier to understand for a casual reader. Then delete some fields that nobody might care about. Then produce an output result HTML file. I could have used PHP and dynamic pages, but for a weekly, the fastest load time is static.

Food After

It's all in one script. It takes perhaps 360 seconds to run, but it should probably run only weekly to not tax Denver's or the USPS's websites too much. I timed the final web page, and it loads in under .28 seconds at 1.44mbps T1 speed.

Video of ZIP encoding and entire script running:

ZIP4 Encoding Video

I started writing the whole script at about 8am today when I didn't get day labor, and I finished about noon. With a fractured shin that got infected a week later, probably two more fractures in my left foot, and maybe two more in my left hand (from a fist-fight that lasted 2 seconds); typing is hard. and a pulled left calf muscle.

permalinkAugust 31, 2019

Scripting

Well, a good practice workout.

I back up every database on my server every hour. What would be better if I saved each backup daily, compressed it into a ZIP, named it after the date, and saved each for four weeks, then stored each one on my laptop, USB stick, and my cloud storage, then clean it up every month. That way I can recover even three weeks after a DB crash if I have to. I can't do it via local laptop script because the place I'm living at (Comcast) blocks SQL port 3306, so I need to run a script on my server in Freemont, CA, then another laptop script a few minutes later to fetch the data, pull it down, put on laptop, copy to USB, then upload the ZIP files back to Freemont, CA.

Should take me about four hours to write the code, and I should be in bed asleep by 8pm.

permalinkAugust 11, 2019

Denver Body Art

Another SQL. Download licensed Body Art companies in Denver, ZIP+4 encode the addresses (100% success!), format the business name/address/city in proper case, and sort it alphabetically by business name.

http://www.vardaman.org/body.php

So many improvements one can do. Script the entire process, automate the upload to a cloud, add clickable links to Google Maps, add links to nearby convenience stores, Starbucks, and nearby crime data for the past six months.

permalinkAugust 10, 2019

Restrooms

Denver's Open Database lists restrooms in the public parks. There are 57 listed, but a few only show they exist at all. Let's look for the ones that actually have info, which are 53 records:

SELECT *
  FROM prop.park_restrooms
  WHERE (year_built > 0 OR year_rehab > 0 OR notes <>  '')

+--------------------------+--------+------------+------------+-------------------------------------+
| location                 | heated | year_built | year_rehab | notes                               |
+--------------------------+--------+------------+------------+-------------------------------------+
| Barnum East              | No     |       2015 |          0 |                                     |
| Bear Creek Park          | No     |          0 |       2008 |                                     |
| Berkeley Lake Park       | No     |          0 |       2009 | East                                |
| Berkeley Lake Park       | No     |       2011 |          0 | West                                |
| Bible Park               | No     |       2011 |          0 | South                               |
| Bible Park               | Yes    |          0 |       2010 | North                               |
| Centennial Park          | Yes    |          0 |          0 | Permitted use only                  |
| Central Park             | Yes    |          0 |          0 | West                                |
| Central Park             | Yes    |          0 |          0 | East                                |
| Chaffee                  | No     |          0 |       2009 |                                     |
| City of Axum             | No     |          0 |       2002 |                                     |
| City Park                | Yes    |          0 |          0 | City Park Pavilion                  |
| City Park                | No     |       2010 |          0 | Museum                              |
| City Park                | No     |          0 |       2009 | Tennis                              |
| Commons Park             | No     |       2000 |          0 |                                     |
| Congress Park            | No     |          0 |       2011 |                                     |
| Cook Park                | No     |          0 |       2010 |                                     |
| Crestmoor Park           | No     |          0 |       2010 |                                     |
| Eisenhower Park          | No     |          0 |       2008 |                                     |
| Garfield Lake Park       | No     |       2010 |          0 |                                     |
| Garland Park             | No     |          0 |       2009 | West                                |
| Garland Park             | No     |       2011 |          0 | East                                |
| Great Lawn               | Yes    |       2008 |          0 |                                     |
| Greenway Park            | Yes    |       2003 |          0 |                                     |
| Harvey Park              | No     |          0 |       2008 |                                     |
| Jackie Robinson Fields   | Yes    |          0 |          0 | In press box. Permitted use only.   |
| Jefferson Park           | No     |          0 |       2009 |                                     |
| Kennedy Ballfields       | No     |          0 |       2010 | In press box. Permitted use only.   |
| Lowry Sports Complex     | Yes    |       2008 |          0 | Synthetic Fields                    |
| Lowry Sports Complex     | Yes    |       2008 |          0 | Tennis/Basketball                   |
| McWilliams Park          | No     |          0 |       2010 |                                     |
| Montbello Central        | No     |          0 |       2009 | In press box. Permitted use only.   |
| Observatory Park         | No     |          0 |       2010 |                                     |
| Parkfield                | No     |       2011 |          0 |                                     |
| Pferdesteller            | No     |          0 |       2009 |                                     |
| Pulaski Park             | No     |          0 |       2010 |                                     |
| Robinson Park            | No     |          0 |       2010 |                                     |
| Rocky Mountain Lake Park | No     |          0 |          0 | 2 seperate structures for men/women |
| Rosamond Park            | No     |       2011 |          0 |                                     |
| Ruby Hill Park           | Yes    |       2017 |          0 | Levitt Pavilion                     |
| Ruby Hill Park           | No     |          0 |       2010 | Ballfields                          |
| Ruby Hill Park           | Yes    |       2011 |          0 | Ruby Hill Pavilion                  |
| Rude Park                | No     |          0 |       2009 |                                     |
| Silverman Park           | No     |          0 |       2009 |                                     |
| Sloan's Lake Park        | Yes    |       2003 |          0 | South Playground                    |
| Sloan's Lake Park        | Yes    |          0 |       2011 | Boat House                          |
| Sloan's Lake Park        | No     |       2011 |          0 | North Tennis Courts                 |
| Town Center              | No     |       2008 |          0 |                                     |
| Vanderbilt Park          | No     |       2011 |          0 |                                     |
| Veterans Park            | No     |          0 |       2010 |                                     |
| Washington Park          | Yes    |          0 |          0 | Boat House                          |
| Washington Park          | No     |          0 |       2010 | Central                             |
| Washington Park          | Yes    |          0 |       2010 | South Tennis Courts                 |
+--------------------------+--------+------------+------------+-------------------------------------+
permalinkJune 4, 2019

More SQL

Well, I imported 'Athletic Fields' from Denver's Open Data Catalog, and let's just say I want to see some baseball but for night-time games lighting I think is important (maybe for my kid or my own eyesight). After some database cleanup, I got this:

SELECT *
  FROM prop.ath 
  WHERE feature = 'Baseball'
  ORDER BY lights DESC, location;

+----------+-----------------------------+-----------------+--------+--------+----------------------------+
| feature  | location                    | surface_type    | lights | fenced | notes                      |
+----------+-----------------------------+-----------------+--------+--------+----------------------------+
| Baseball | Argo Park                   | Skinned Infield | Yes    | Yes    |                            |
| Baseball | Barnum East Park            | Skinned Infield | Yes    | Yes    |                            |
| Baseball | Garland Park                | Skinned Infield | Yes    | Yes    | Lacrosse & Rugby in Spring |
| Baseball | Jackie Robinson Fields      | Skinned Infield | Yes    | Yes    | Youth Only under 10        |
| Baseball | La Alma / Lincoln Park      | Skinned Infield | Yes    | Yes    |                            |
| Baseball | Northfield Athletic Complex | Skinned Infield | Yes    | Yes    |                            |
| Baseball | Parkfield                   | Skinned Infield | Yes    | No     | Denver PAL                 |
| Baseball | Ruby Hill Park              | Skinned Infield | Yes    | Yes    | Carberry                   |
| Baseball | 46th & Pecos Park           | Skinned Infield | No     | No     |                            |
| Baseball | Bible (James A) Park        | Skinned Infield | No     | Yes    | Lacrosse in Spring         |
| Baseball | Ciancio Park                | Skinned Infield | No     | No     |                            |
| Baseball | City of Cuernavaca Park     | Skinned Infield | No     | No     |                            |
| Baseball | City Park                   | Skinned Infield | No     | No     |                            |
| Baseball | Congress Park               | Skinned Infield | No     | No     |                            |
| Baseball | Garfield Lake Park          | Skinned Infield | No     | No     |                            |
| Baseball | Martinez Park               | Skinned Infield | No     | No     | Youth Only                 |
| Baseball | Montbello Central Park      | Skinned Infield | No     | Yes    |                            |
| Baseball | Rocky Mountain Lake Park    | Skinned Infield | No     | No     |                            |
| Baseball | Schafer (Martin J) Park     | Skinned Infield | No     | No     |                            |
| Baseball | Town Center                 | Skinned Infield | No     | No     |                            |
+----------+-----------------------------+-----------------+--------+--------+----------------------------+
20 rows in set (0.01 sec)

Let us see what sports Denver lists in their public Parks and Recreation DB:

SELECT feature, COUNT(feature) AS fcount
    -> FROM prop.ath
    -> GROUP BY feature
    -> ORDER BY fcount DESC;

+------------+--------+
| feature    | fcount |
+------------+--------+
| Softball   |     74 |
| Mixed-use  |     71 |
| Baseball   |     20 |
| Football   |      9 |
| Soccer     |      8 |
| Volleyball |      4 |
| Rugby      |      3 |
| Cricket    |      1 |
+------------+--------+
8 rows in set (0.00 sec)

I have a start with 'location' Let me write a script to get actual addresses. Then we can use GPS mapping to do graphs of where every public baseball field in Denver is located.

permalinkJune 2, 2019

Denver Liquor Licenses

Here's another sample problem:

Denver has 2,468 active liquor licenses. They have a FULL_ADDRESS field that can be empty, but also a ADDRESS_LINE1 and ADDRESS_LINE2, and ADDRESS_LINE2 that never seems to be populated. They also have CITY/STATE/ZIP, but the ZIP codes are all missing. And the FULL_ADDRESS for places like 'Bonefish Grill #6602' are missing. We can't do a perfect full cleanup, but what we can do in SQL is to find ones where the FULL_ADDRESS is blank, replace it with ADDRESS_LINE1, then run the USPS API to fix the as best as we can: Sorry, a stupid typo wiped out the queries, but you can probably guess.

382 (blank) records.

Let's see how many we can fix with the LINE1 addresses. By UPDATE where the first address is blank. Run the USPS API and you end up with 36 missing records. But some are at the same address. That cut it down to 17 records.We can hand-fix that about as quickly as we can post a job listing for a college kid to fix. The dupes at only Civic Center are like:

* American Wounded Veterans Foundation
* Colorado Firefighter Calendar, Inc
* Civic Center Conservancy
* The American Alpine Club
* Newsed Comunity Development Corporation
* Bands For Lands
* Casa De Paz (comment: probably a food truck)

Can nearly come to 100% accuracy via USPS standards.

The total is actually smaller, because of dupes

1,780 rows

Next,that table has X/Y GPS info. So we can have some map fun

permalinkMay 31, 2019

Show more posts...

Elsewhere

Cowboy Junkies
Reason Magazine
Scientology
Web Site Optimization
JD Hodges
Cato Institute
Field of Schemes
Oleg Volk
vardaman.net
vardaman.com