Sunday, March 05, 2017
Anyway, I would love to receive comments on the site. I've been working on this project since 1999 and have actually received any comment on the idea of creating local directories.
The site currently does not have any interactive features. So, I will use this blogspot blog for comments.
I just moved iMoab.com to the new server. The site seems to respond quickly. The last Utah directory to to will be the Salt Lake Directory.
Monday, February 20, 2017
One of my goals in creating the Community Color sites was that sites would justify taking time to explore the colorful history of different regions.
My family moved to Utah some decades ago. The problem I face is that I really do not like the history of Utah.
Utah was settled by Mormons. Mormonism, it turns out, is a culture war religion. The Book of Mormon claims that there was once a great extermination war that took place on this continent between the Nephites (who were white and delightsome) and a variety of other tribes who were dark and loathsome. The Nephites lost the war.
Both Joseph Smith and Brigham Young claim that the proof of the Book of Mormon is the base observation that Europeans have lighter skin that Native Americans.
Mormonism teaches that a group of righteous saints are to be gathered in the "latter days" and that these saints are locked in an unending culture war with everybody who is not a member of their tribe.
Joseph Smith liked the ladies. Smith restored the principle of polygamy and sealed himself to as many women as he could get his hands on. Smith's band of wives included some fourteen year old girls and the wives of his followers.
Polygamy is an interesting device in that it allows powerful men to grab even more wealth and power.
The history of Utah is one in which Brigham Young and the Mormons would form powerful polygamist clans and would then use the clans to grab as much territory as possible.
There were invariably conflicts between the immensely powerful Mormons and everyone else.
The story of Saint Parley Pratt provides the typical settlement story, but with one sensational twist. (Members of the Latter Day Saints consider themselves Saints on earth).
Anyway Parley Pratt was an early convert to Mormonism and was a part of Joseph Smith's twelve Apostles. Pratt saw the potential of polygamy and took to marrying multiple women with a vengeance.
After emigrating with Brigham Young, Pratt helped with the survey of Parley's Canyon and, being an extremely powerful member of the LDS Church, grabbed the choice chunk of land which is now Park City.
While in San Francisco, Parley Pratt seduced a woman named Eleanor who was married and had three children with a man named Mr. Henry McLean. Without gaining a divorce, Eleanor was "sealed" to Parley Pratt in Salt Lake.
I need to point out that Joseph Smith had sealed himself to the wives of several of his followers. So, marrying another person's wife is not considered outlandish among Mormons.
Anyway, Henry McLean was cantankerous. He tried sending his children to their grand parents in New Orleans to keep them from the clutches of Parley Pratt.
Parley and Eleanor went to New Orleans to collect the children. After Pratt took the children, Henry McLean followed and eventually shot Parley Pratt.
So, Parley Pratt, who was an Apostle of Joseph Smith, was pursued, persecuted and martyred by an evil gentile named Henry McClean.
This martyrdom of Apostle Parley Pratt is held by Mormons as one of the great persecutions of their faith.
I guess Mormons hold that a great man like Parley Pratt should be able to marry the wives of non-great mean like Henry McClean without repercussion.
Now, here is the problem I have with Utah history: Mormonism is a culture war religion. The LDS Church teaches that its adherents are the righteous who were gathered in the latter days to engage in an extermination war with the evil gentiles.
Because the area was built by people engaged in culture war, every piece of history in this state gets interpreted as part of the culture war. It is impossible to research the history of the state without getting drug into this mean hateful culture war.
The town of Park City was originally named Parley's Park City after Parley Pratt.
Park City is one of the choicest pieces of real estate in the Mountain West and is now an internationally recognized destination resort.
One cannot talk about the history of Park City without discussing Parley Pratt.
One's opinion of Pratt almost always follows culture war lines.
The righteous hold that Apostle Pratt was a great patriarch of the faith who married 12 women but was persecuted and martyred by an evil gentile. Non Mormons tend to look at Pratt and see a lecherous lout who broke families apart by seducing married women.
The great culture war that dominates live in Utah means that people in general cannot talk about the history of the area without being drawn into a mean hateful culture war launched by Joseph Smith.
BTW, I do not believe that Native Americans are loathsome. My observation is that people in southern climates tend have darker skin than people in northern climates because they spend more time in the sun than people in cold northern climates.
Thursday, February 16, 2017
The new site is much faster than the old site, and I hope it will be able to handle a hundred times the traffic of the old server.
The Community Color project had over 10,000,000 page views last year. The old server would freeze up whenever I exceeded that amount.
Sadly, I made less that $3,000 revenue from the site. Last year I performed three test purchases on the site. I received credit for only one of the three purchases. It makes me livid. I am sending hits to advertisers by the thousands who are not crediting me with the traffic.
I figured my best bet for salvaging the project is to replace the affiliate ads with direct advertising. The problem with direct sells is the collection cost. Spending two hours to collect $10 from an advertiser is a path to insolvency.
So, what I decided to do is to sell the ads in units of 100,000. The price for the unit will be $25.00.
As mentioned, I had 10,000,000 page views last year. I should be able to consume 100 lots of 100,000 ads.
Advertisers can order an ad (I need advertisers in Colorado, Utah, Arizona and Southern Wyoming.).
If I approve the ad; I will place the ad on the site and send a Paypal invoice show the ad placement. If the advertiser is happy; the advertiser can pay the bill. If not; I will delete the ad after a week or so.
Now for the scary part. I am betting the boat on my ability to sell 100 ads for $25 a pop to make $2,500.
The market for local advertising has been so weak for the last few years that I am not sure there's a hundred businesses in the Mountain West that would buy the ads.
Anyway, I have the ad ordering program online. The ad is 738x90 banner that goes above the fold on the page. I have at most one such ad per page. The ad can be text or an image.
I am looking for ads in Arizona, Colorado, Utah and Southern Wyoming. Here is the ad ordering page. You can order an ad. I will put it online and send a Paypal Invoice. If you like the ad, you can pay the invoice; Otherwise I will remove the ad.
Monday, February 06, 2017
I am in the last stages of moving the Community Color sites to the new server. Due to changes in PHP, I've been forced to rewrite the code from ground up and it is going extremely slow.
I decided to start the migration with the UtahColor.com. The new design will feature a subdirectory for each of the 29 counties in the state. Egads, 29, this is a lot of work.
I am laying in a framework starting with Beaver, Carbon County, etc.
I appreciate any feedback on the site.
Quite frankly, the reason that I've taken so long on the rebuild is that I have not received any feedback and the lack of input has zapped my enthusiasm for the project.
Saturday, November 26, 2016
At the dawn of the Internet, I realized that small business was likely to get the shaft while big businesses make big deals between themselves to dominate the web.
I decided that I wanted to do something to help small business; So I started making little directories for local businesses in select towns in the Mountain West.
The original idea was that I would build directories and web services for small communities. The directories would be funded by affilate ads from big business. The big businesses would pay for free services for small businesses and charities. This worked okay for awhile.
This year, I decided to experiment with selling ads directly to small businesses. The ad rate will be $25.00 for 100,000 page views. The Ads are 728x90 banners that gone in the upper fold. Note, I serve the ads in SVG and they scale to screen size. The ads can be a 728x90 banner or just plain text. I present the Text in SVG. The ads scale to screen size.
The sites show at most one ad per per page. The click through rate on my old affiliate ads was a little over one click per thousand page views.
I am only interested in local ads from small business. The directories are in the mountain west. I have select towns in Utah, Colorado, Wyoming and Montana. I have a county by county directory for Arizona.
The work flow for ordering an ad is: You select a directory and a subject within a directory. You then define the ad. The Text ads have two lines. The title line should be under 28 characters and the text line under 75.
If you have a 728x90 image on line, you can enter a link for the image. I will copy the the image to my server.
I also use box ads (336x280). These ads go on calendar events. My ad inventory for these box ads is really small. So I am not pushing the box ads.
When you order an ad I require that you give me your name and an email address.
If I approve the ad; I will place the ad on apropriate areas on my site. After placing the ad, I will send you an invoice via Paypal to your email address for $25. The invoice includes a link showing the placement along with ad stats. You can then review the placement.
If you are unhappy with the placement; don't pay the invoice!
Note, I do not offer a money back guarantee after you pay the invoice. I am giving you a review period in lieue of a money back guarantee.
Some ad campaigns have a fixed duration. If your ad expires in the next 90 days, enter the expiration date. I charge only $12.50. I turn fixed duration ads off when they expire or have 40,000 page view, which ever comes first. I cannot guarantee 40,000 page views and don't offer a prorated refund as calculating a prorated refund for $12.5 is a pain in the tush.
This program is in an experimental phase. I do not mind if people order the ads just to test the program. Write in the note area that the order is a test.
Here is the ad ordering page for Park City. The first line of the program lets you select the site for your ad. Park City is the only site on my new server. This new ad program goes live as I move sites to the new server.
Wednesday, September 07, 2016
The closure of ITT Tech makes me sad. A decade ago the school had a curriculum that was better than most local community colleges. ITT Tech students were actually getting a higher return for the amount of money they invested in education than other schools.
ITT Tech was briefly owned by ITT and was truly focused on giving students the skill sets needed for the technology environment of the day.
Businesses tend to align with their funding source. The primary funding source was the Federal Government and guaranteed student loans.
So, instead of focusing on developing a better curriculum for less. It appears that ITT Tech took the low road and turned into a mill for processing student loans.
Even worse, ITT Tech appears to have devolved into a student loan mill during a weak job market. The poor students would pop out of the company into a soft job market and simply be umemployed and deeply in debt.
I had the misfortune of wasting two years of my life as an instructor for a student loan mill in Utah. The company was very good at getting students to sign the dotted line on the loan application, but was providing a subpar product.
Many public universities appear to be little more than student loan mills. Since the universities don't have private investors, they don't get raise the ire of the public. When public universities go bad, Democrats simply yell for higher taxes.
Anyway, now that the Obama Administration has the formula for closing down private for profit schools, I wonder how many schools he will be able to close before the end of his administration.
Tuesday, September 06, 2016
As part of the upgrade I will replace the Adsense Ads and Affiliate Ads on the site with direct local ads.
I like the basic concept of affiliate advertising. A site with a product to sell offers a commission on sales. Web sites run their ads and get an occasional commission.
There are tens of thousands of merchants with affiliate programs. These merchants offer millions or products.
I believe that affiliate marketing is a good thing. Because there are so many products, web sites can run ads for things they support without compromising their message.
The problem I have with affiliate marketing is that the huge networks that offer affiliate ads aggressively track user activity. These use the information they gather to manipulate user behavior. They often engage in activities that undermine the sites that run their ads.
I believe that my sites are well enough established to break from the clutches of the big marketing firms and that I will be able to replace the ads. Currently, I have over 10,000 page views a day. My 10 year old server freezes up when I have more. I believe the new new server and improved code will be able to handle a hundred times more traffic.
I decided that the best way to handle local advertising is to sell the ads in blocks of 100,000. I am currently getting about $30 for every 100,000 page views. Since I will bill in advance, I decided to charge $25 for every 100,000 page views. This is a super low rate of 25¢ CPM.
The new site will go live in a week or so. I would love to have a few people buy ads before the site goes live so that I can tweak the program.
The ad is a 728x90 banner that is in the upper fold of the page (between the page title and contents). I put text ads in a stylized SVG block. You can pre-order ads on my test server.
Use this form to order text ads.
Use this form to order a banner ad (you need a link to a 728x90 banner).
The ads won't go live until I switch to the new server which I hope to do soon.
I only have 10,000 page views per day (which I've split into targets). I only want ads related to the target. I don't want to show ads for Denver Lawyers on the Moab Real Estate page. The flow of the program is as follows. A person orders an ad. If I have a relevant target, I will approve and place the ad.
Some time after the new site is live, I will send the user a payment request using Paypal (Paypal accepts Visa, Mastercard, etc). The request will show the ad placement. If the person is happy, they can pay the bill. If not I will remove the ad. I am using a delayed payment instead of a money back guarantee.
Monday, September 05, 2016
I hold that the date picker should be provided by the browser because it gives the client a unified experience across sites. Here is a sample form with the new HTML date types. Chrome and the other browsers I tested have date pickers. Firefox does not.
This means I can't depend on the feature. Arrrggggggghhhhhhhh!
Friday, September 02, 2016
I track the activity to see what parts of the site people visit. I use this data to figure out how to expand the site. If people are interested in sports, I add more info about sports. If they are interested in history, I add more pages about history.
As for this new policy:
My advertising product seeks to replace advertisements from large national advertisers that track user activity with small local advertisers that do not.
So, while I think the demand that every site includes a privacy statement to be foolish, I am not adverse to using the page to sell a product. If advertisers bought their ads directly from sites, it would help replace ads from big advertisers that create user profiles with small sites that do not.
Thursday, September 01, 2016
The new design will offer targeted local advertising.
The way this works is I assign each page a target. The Design an Ad page allows advertisers to select a target and create an ad related to the target. The program will allow both text and image ads. I create the text ads with SVG.
The cost for the ads will be $25 for 100,000 ad views. That is an ad rate of 25¢ per thousand ads. This is an extremely low rate.
The catch is that it might take several years for me to display 100,000 ads on some of the smaller targets.
The new design is not yet live, but my test server is up.
The process will work as follows. Advertisers can design ads on my test server. If I approve the ad; I will send a Paypal invoice to the advertiser after the new site goes live. Advertisers can then accept the placement by paying the invoice or reject it by not paying the invoice.
You can order an ad. See what it looks like on the site and then cancel the ad just by ignoring the Paypal invoice.
It would be fun to have a few ad orders before going live. That way I could test the program with live data.
Monday, August 08, 2016
To understand the object you will want to look at both the source code and the demonstration page.
The object I use to produce forms is much more complicated. I am updating it for Forms 4.0.
NOTE: The program uses the sqlRow() function which encapsulates the PHP PDO object. It uses the htag() function which indents the output; so that my HTML is well formatted.
Friday, August 05, 2016
Hillary Clinton's claim that there is no "path to citizenship" is a lie. The fact that the United States continues to have the most generous immigration systems on the planet proves Clinton to be a liar. (Not surprising for a person married to a convicted perjurer).
The problem we face isn't the lack of a "path to citizenship" but the fact that that millions of people are blatantly ignoring immigration laws which makes it much more difficult to define that path to citizenship.
In today's speech, Clinton made the claim that illegal immigrants pay some $13 billion into Social Security.
I need to point out that it is the employers who pay into social security.
The true statement that employers paid some $13 billion into social security.
Quite frankly, this same amount of money, if not more, would have been paid into the system on the behalf of US citizens if the employers hired US citizens instead of illegal immigrants.
I personally do not hire illegal immigrants. Many illegal immigrants appear to be part of a shadow economy and the people in the shadow economy work in cash and do not pay social security.
The claim that Republicans are anti-immigration is a blatant lie. We have a path to citizenship proven by the half million people who make it through that path each year.
The problem is that we don't have an effective path for denying citizenship.
As for deportations, If I were president, I would make enforcing visas a priority. A visa is a contract. People violating the terms of their visa show a contempt for contracts and the rule of law.
Hillary's statement that she would only enforce immigration laws in regards to violent offenders is horrible. We need to enforce visa laws to have an effective visa system. By openly declaring that she would not enforce Visa laws, Hillary has made it more difficult to have a liberal visa system.
Aggressive enforcement of visas is not anti-immigrant because it allows for a greater liberalization of visa laws. The idea that being granted a visa should be seen as a path to citizenship is absurd.
Quite frankly, since violating the terms of a visa shows contempt of law, I would say that people who grossly violate the terms of the visa should be kicked off the path to citizenship. Showing respect for contracts, including a visa contract, should be part of the path to citizenship.
Monday, August 01, 2016
Here is the code for the primary redirect program. A redirect program simply records a hit and sends the user to destination for a link.
Most users don't like web sites recording their links. So, I only use the redirect program on merchant ads and paid links. I only track usage for about 5% of the links in the site.
My stat counters say that the redirect program has been called 1.7 million times; So, I figure that I have sent well over 20,000,000 hits to sites listed in the directory.
There are several robots, eg Googlebot, that read the site. Many of these robots are created by companies that send traffic to web sites. I believe my local directories have had a positive impact on local commerce.
Anyway, I made two huge improvements with this new version of my redirect program.
The first is that the program now produces full blown pages, instead of a cryptic message, when links aren't found.
The really big improvement is that I decided to start recording information about broken redirects.
I did not do this before because my site verify the existence of a link before generating the code for the link.
While coding this site, I realized that, if I began using redirects for more links, then I would be in a better position to discover broken links as they occur.
So, I will probably come back and visit this redirect page after I finish the migration to my new server.
Thursday, July 21, 2016
Anyway, I just created the first official page for the new design. I decided to start with something simple; So, I created the About page . Each site in the project has an about page with a blob of text about the project. I store the blob in a SQL table.
As promises I am open sourcing the code. The code for this page is four lines long. The page simply calls the framework and says: I want to print a page with this data.
Here is the code for the About Page.
Okay, I could have reduced the size of the page to three lines of code.
PS: I am still working on the CSS and overall page layout. I will finish the work on the layout after I put up several pages with more complex content.
PPS: Okay, Okay. I removed the fourth line of code. The whole point of this project is that if one has a decent framework, then thee pages themselves will be short and fast.
Monday, July 18, 2016
The problem I face is that PHP deprecated the mysql_query() function and wants people to use a hideous piece of code called PDO.
I have yet to find a single implementation of PDO that does not turn my stomach. I am to the point of giving up on PHP altogether and just writing everything in C. Let's face it, the only reason I used PHP was because my webhost wouldn't let me write and compile code on the server.
PHP is a programming language that is commonly used to create HTML for display on a browser. Most PHP programmers don't care about the quality of the HTML, but I want the HTML produced by my programs to be well formed and well formatted.
PHP does not allow programmers to override the echo command; So I wrote a function called htag() which keeps track of the indentation level of the HTML code.
As for PDO, I created a function called dbConn() to encapsulate the PDO Object. I make the calls to the database with functions called sqlValue(), sqlRow() and sqlExec().
Being a good netizen, I will open source the PHP for the Community Color project on the site prog.communitycolor.com. The program includes a schema viewer which lets you see the create statements for the tables used by the site and a code viewer which lets you look at the PHP for select files in the program.
The first piece of code I present is the code viewer. This pieced of code was just a brute force program I wrote to show formatted code. It is not well designed.
The cool thing about these viewers is that they pull and display code from the live web site.
Saturday, May 21, 2016
The sites are dropping several thousand of pages each day.
This should not be happening. I bought enough resources that I should be able to handle ten times the current traffic.
The solution is to redesign the site and move to a new server. Back in December, I experimented with PHP7 on Ubuntu 14.04. Several of the features of PHP7 did not work correctly; So, I decided to wait until PHP7 was available on a Linux distribution with long term support.
That finally happened about ten days ago.
The day after I bought the new account, my father passed away. Since that event, I've been unable to get a block of time sufficient to test the server and start the migration.
This morning, I decided there was insufficient time to fully test the new server; So, I started the migration. I turned off the ability to register as a user and started the migration.
Five minutes after taking that action, a family member came to the house with ambitious plans that will consume the next three days. I probably won't get an opportunity to work on the migration until next Wednesday or Thursday.
I apologize for the inconvenience.
Thursday, May 12, 2016
I plan on migrating the Community Color sites to this new service. My site has been on its current server for about eight years. One should upgrade servers about every five years or so; So, this upgrade is long past due.
I will be using the VPS SSD account. The account is actually hosted on an array stack of SSD memory rather than a traditional hard disk.
I already moved my email accounts to the new service and am extremely pleased with the performance of the server.
I don't send a lot of email; So, I purchased a single node account for my mail server. The cost of a single node is $5/month or $60 per year.
Webhosts often put email same server as the email. This means that people who attack your email accounts can attack your website and people who attack your web site can get their fingers into your email.
Putting the email on its own server also frees up resources on the web server for delivery web pages.
Email tends to be disk intensive; so it is an ideal application for an SSD cloud account. I am using VPS.net. To get an account do the following:
- Copy the number 69032. This code gives you a $10 discount on the service and gives me a $10 discount.
- Go to www.vps.net/products/ssd-vps and select a single node for $5 month.
- Select the data center which is closest to you. At this point in time, I would select Ubuntu operating system and the Ubuntu 16.04 template (which was just released.)
- VPS.net will ask for billing information. Paste the number 69032 into the coupon box. This gives you $10, which offsets the cost for the first months.
- I installed the following packages for my web server: Postfix (a mail transfer agent), Dovecot (email server). Setting up an email server is a pain in the tush. The default settings of these programs often work, but it is best to read the online manuals to fine tune the configuration.
- I like to read email online; So, I installed Apache2 (a web server), PHP7 and SquirrelMail. (Most of the tutorials have you install MySQL, but you don't need it.
- As only a few people use my email server. I decided to use a self-signed SSL Certificate. If multiple users use the server, you might one to get one from a certificate authority.
- The hardest part of the installation was setting up the DNS. This is different for different domain registrars.
Saturday, April 16, 2016
But the sites don't generate $50/month in revenue!
I cannot a $50 a month upgrade!
So, what I am going to do is to switch to an SSD Cloud account on VPS.net.
The Westhost account is a managed account. I includes the CPanel management tool.
I will have to do all the management for the VPS.net account. I will have to use an SSH Shell instead of CPanel ... but I will save $20/month.
As I don't want to spend a lot of time configuring Linux. I decided to go with a basic install of the Ubuntu framework. Ubuntu goes through a little bit more testing that Debian or Centos.
I want to use the Xenial Xerus release of Ubuntu which is scheduled for release on April 21, 2016. I don't know how long it will take VPS.net to offer this on their service.
I am excited about this release.
Xenial Xerus uses PHP7 which includes some major performance improvements. I also intend to switch from using MySQL to SQLite which should also result in performance improvements.
The final problem I face is with the structure of my code.
I wrote two different versions of the site. The first version follows best practices and uses the object-oriented syntax of PHP. The second version uses structured functions.
Despite the fact that object-oriented syntax is considered to be the best form of programming. Traditional structured programming seriously outperform the object-oriented style.
The universities, Fortune 500 firms and governments that prefer class-based object oriented programming can overcome the inherent inefficiencies of this programming style by throwing more hardware at the problem.
But, even $5.00 a month is a huge difference for a small company or individual. (My performance tests all tell me that using the class-based object code in PHP will cost me $5.00 a month.)
Since I am struggling to survive, my temptation is to simply scrap all of my class-based code and just stick with functions.
This leads to my final problem: I have the naive notion that I should open source all of my code. I would be publishing a bunch of functions to people who've been taught that class-based objects are superior to functions.
So, I've been spinning my wheels trying to develop a collection of objects that do not take up more resources than traditional procedural programming. And simple can't nail down a design.
Anyway, I want to apologize for the down time people are experiencing on the Community Color sites. It would cost me $50 a month to fix the problem on my current server. So I am stuck waiting for a software release hoping to lower my costs so that I can keep the sites live.
I anticipate that I will be able to move the sites within a few days after Xenial Xerus becomes available on VPS.net. Until then, I am only able to apologize for down time. I anticipate the release being available some time in early May.
Saturday, February 13, 2016
At first I thought the trend was cute. The term "tribe" has friendly echoes of community.
For the most part, when I see groups outside the Native American community using the term "tribe," I see a group that is trying to create a deeper senses of community.
I should point out that there is a long (and mostly positive) history of community organizations like the boy scouts that frequently use terms from the native culture.
But after reading blogs by self-proclaimed tribal leaders, I've started getting the willies when I come across efforts to establish a new tribalism in America. Some of the leaders of this new tribalism seem to be going beyond promoting a sense of community. They seem to want to tell people who to think.
I was perplexed by a reading a blog by a "tribal leader" of the new tribalism a week ago. This morning the sentence popped into my head: "At the center of every tribe their is a chief."
This sentence makes a nice gauge for testing groups declaring themselves a tribe.
So, lets say you have a job interview with a group using the term "tribe" in its literature. You should look closely at the political structure of the group. If you can find a person or small group in the organization trying to set themselves up as chief; you should stay clear of the company.
Self-declared chiefs in self-declared tribes tend to be control freaks and it best to stay clear of such creatures.
Control freaks are not seeking to promote community at large, but are seeking to gain power by dividing people and setting them against each other.
In tribal societies of old, the leaders often fit the model of war lords and tribalism was not an ideal society but an extremely fractured existence with the tribes set against each other in fierce conflict.
While I still associate the term "tribe" with friendly ideals about small local communities, I fear that the New Tribalism taking hold in our communities is source of division and not of unity.
Sunday, January 17, 2016
Yesterday, I had a short break; so I created a referrer report and opened a disqus forum titled Link Development.
Rather than just starting a new web site. I want to draw people into a discussion about the direction of the Internet itself.
The World Wide Web was written in a language called HTML (HyperText Markup Language). The defining trait of HTML is the Hyperlink.
Hyperlinks are an interactive feature. You can click on a link and go to a different internet resource.
The configuration of links is actually a very interesting topic, but I rarely come across people openly talking about the overall configuration of links.
Right now, the Internet is dominated by large repositories of links called "search engines." I question if this domination of link repositories is healthy because it effectively centralized power and concentrates wealth.
If centralized repositories are not the best structure, what alternatives can we develop?
I developed the Community Color web sites are simply human edited directories which list links for select towns in the mountain west. I developed the directories to investigate the natural links between local entities. I live in Salt Lake. It frustrates me to no end that there is so little local internet in the direction the Internet is headed.
But there might be people in the broader world who find a discussion of the linking structure of the Internet interesting.
The referrer report tallies up info from the REFERER variable submitted by web browsers that visit my new site. The Link Development is a stub for a section of articles on the topology of links and internet traffic and steps that individuals can take to help keep the Internet a level playing field.
I have to complete the site redesign before writing the articles. But I think it's fun to discuss web design while knee deep in the process.
Wednesday, January 06, 2016
I am developing the code on yintercept.com.
I added a code viewer so that I can claim the site is open source.
I decided to log statistics for the site in a SQLite Database.
I did this to emphasize that the data collected by small sites like mine is basically harmless.
The reason I track data is to answer questions about the site. For example, I want to know how many people visit a page and the amount of resources consumed by a page.
About seventy percent of the traffic on the web is robots and webcrawlers. I want to know what the robots are doing.
I want to be able to defend the site against DDOS attacks.
I learned the painful lesson that one cannot offer interactive features to the public, like a guestbook, without attracting a great deal of spam.
I require a log in for interactive features. I use a system of User IDs and Sessions to track usage. Interactive sites require an id, otherwise they can't respond to the things that you are doing.
The privacy concerns we face on the Internet are not the result of cookies or web owners monitoring their sites. The problem is with huge corporations (and governments) seeking to dominate the Internet by tracking individual activity in minute details.
Unfortunately, the self declare privacy rights activists use methods that make life very difficult for small sites.
I hope that my showing the details I track on the site to the public, people will learn that independent web sites are not a threat, but it will probably backfire.
Tuesday, December 08, 2015
I am doing a huge redesign of the Community Color sites. I am writing and testing the code on the domain yintercept.com .
I know this sounds pathetic, but I stopped programming a few years back because my coding style is considered an "antipattern" by the technorati. The word "antipattern" is the way that thugs in the programming world put people down.
I finally decided that it is stupid let oneself be cowed by a bunch of thugs.
So, I decided to call my coding style The Resource Model of Web Design. I just opened a Disqus Thread and invite people who enjoy code or have comments on design to drop a line. The site uses PHP7, SQLite3, HTML, CSS and SVG.
Note, I am blocking in the structure for yintercept.com in HTML. I will add the PHP script after I've tested it line by line with PHP7.
Saturday, November 28, 2015
The theme of today's post is simply that ownership matters.
Personally, I believe that the most robust form of society involves a large number of small businesses owned by people who are active in the local community.
Mathematically, one can show that networks with a distributed framework and many independent yet interconnected nodes is more robust and more resilient than societies formed in a hierarchy or dominated by a few control centers.
History provides thousands of examples where communities depending on a single business or product fail when faced with adversity, while diverse communities are able to adjust to changes.
Societies that depend on big government, big business or big capital might thrive for a moment but are subject to systemic risks which can can cause untold hardships.
The driving theme of the different project that I engaged in on the Internet is that ownership matters.
So, rather than shopping at a small business on this small business Saturday; I would like to encourage readers to think about and research the ownership of the companies with which they do business?
Look at your credit card statement. How often do you spend at a big business and how often do you shop at small businesses.
One should look through their household. Where did the stuff come from? How much, if any, of things were made locally?
You can look up your web history? How often do you visit small locally owned web sites?
I believe that ownership matters. I want to frequent locally focused small business whenever possible.
One valuable tool for researching ownership is the whois lookup. whois.ICANN.org lets you look up the current owner of a domain. whois.domaintools.com maintains a database with the domain history, but you have to register to use the service. (more domain related tools)
The whois record shows who owns a domain-name. Some times the the domain name is owned by a different person or group from the business. Even worse, domain registrars push "enhanced privacy services." These services mask the domain ownership.
If you have a business; you should never use domain privacy service. Instead you should maintain a good clean registry entry with your business address. If you are own a business and are using a domain privacy service, you should cancel that service and display accurate information about your business.
The one privacy caveat is that you should not use your primary email address in the domain record because unprincipled marketers harvest publicly displayed email addresses and spam them. Since you can control the email address on your registry record; you don't need to buy privacy services.
I use the email address spam (at) community color. com to inform the user that I treat every message received by that address with suspicion. To date, just about everything I've received on that email address is useless marketing garbage.
The Internet makes it easy to trace down owner the ownership of a domain. It is more difficult to track down ownership of businesses.
Publicly traded firms are required to post quarterly filings with the SEC. I've been maintaining a list of stocks of local concern on this page irivers.com/stock.html .
Unfortunately, only the largest businesses in a community are traded publicly.
Wikiepedia often has good information on huge corporations. But almost no information on local firms.
Anyway, my goal for 2016 is to track down other sources to help people figure out who owns what in their local community. There are many good sources of info on the Internet. States require businesses to file incorporation records and DBA records. Counties often have good databases on land records.
My message for Small Business Saturday is that ownership matters and that responsible consumers should be attentive to who owns what and should consider ownership in purchasing decisions.
Friday, November 27, 2015
The truth of the matter is that I really don't care too much for marketing.
My experience is marketers of the modern-mindset tend to do negative things in their efforts to control markets.
Marketing gimmicks like Black Friday tend to be dominated by big commerce and big media.
I like the idea of Small Business Saturday. This is a gimmick invented by American Express in which people are coaxed to support small local businesses after Black Friday.
The Community Color project fits this format better. This project lists web sites from select local communities in the Mountain West. The main page lists directories for Arizona, Colorado and Utah.
NOTE: I started this project by creating sites for towns in Idaho and Montana. That project was taken over by a different group. I kept the domain Missoula.WS because my partner didn't like the WS TLD.
Originally, I intended to make sites for towns. The ArizonaColor.US has a county focus.
The first design included numerous interactive features. I discovered that the people who make posts on general information sites tend to rude; So, I removed all the interactive features.
I wanted to include maps and other resources. Unfortunately, I ran out of diskspace. I will be switching web hosts with the release of PHP 7 and might start reading interactive features.
Basically, if you live in the Mountain West, you can go to the site and find directories with links to local businesses. I fund the project by listing affiliate programs for national web sites. My plan was to create a structure in which big business funded free listings for small business.
To be truthful, the sites barely make enough money to pay my web hosting fees, but, as I said at the beginning of this post. I am not very good at marketing. I want to find ways that give small business and individuals a voice to counter big media and big business. But this is really not something that people support.
BTW, the site aFountainOfBargains.com is my attempt at affiliate marketing. Anything I make from that effort goes to pay the web hosting fees for the community sites.
Thursday, November 26, 2015
I would never enter a credit card number of buy from a web site that does not use SSL, but I have never been so paranoid as to refuse to visit unencrypted web sites.
SSL does not encrypt the meta data left by your computer browsing. A hacker who finds out that you visited this blog will see exactly what you see when you visited this blog ... just a bunch of opinionated posts by a computer hack.
SSL certificates do not prevent advertisers from tracking your every move. They only prevent people who are sniffing web traffic on a router from seeing the content that you see.
I have not added SSL certificates to all my sites for a very simple reason. The certificates are expensive and require regular maintenance. A certificate for a single subdomain costs about $70 per year. (The sale price of certificate at Godaddy was $62 on 11/26/2015) Wildcard subdomains cost several hundred dollars.
The cost of SSL is prohibitive for charities, small businesses, and information sites.
This particular blog is hosted by Google on blogspot. I decided to turn on the SSL option. You can see the SSL version the site at https://communitycolor.blogspot.com. Google is a huge company at the center of the Internet world; So, I guess they are able to get wildcard SSL certificates at a sufficient discount that allows them to give the things away.
Turning on SSL is a simple matter of going into settings page on blogger.com and clicking SSL.
They only have SSL options for sites ending in blogspot.com. I cannot add SSL to my other blogspot blog blog.yintercept.com.
*It is possible to add a self-signed certificate to a web site. Internet browsers raise a warning when you enter a web site with a self signed certificate. I find the warnings silly because a site with a self signed certificate is more secure than a site with no certificate.
Wednesday, April 15, 2015
For some odd reason, I've found that I am unable to do my taxes before the deadline. I will often finish gathering all of my tax documents in January and February. But when I sit down to finish my taxes, I get so depressed that I am unable to finish the tax.
This is the only task that affects me so deeply. And I really don't know why.
Actually, I do know why. I get depressed because the way the United States goes about taxation is absurd.
In the current system, the government collects taxes from our employers and business relations. We have to clutter our living spaces with petty little documents then refile all of the information to the IRS.
If the IRS decides there is an error in our taxes, the IRS rains down upon us like a ton of bricks.
If Americans had a functional political system, we could very easily streamline the process.
I dislike this antiquated tax system. This year, I decide to take a stand for sanity. Early this month, I launched a KickStarter Campaign to publish a book about tax reform.
The reform I propose is quite simple. I want our government to create a computer program that calculates and collects taxes to eliminate the need to file a tax return.
The reform suggests that Congress start an Open Source Program to create an account based alternative to the current income tax system. I named the reform The Object Tax after Object Oriented Programming. I named the reform after a design methodology because the reform is not about changing the tax code. The goal of the reform is to use computer technology to streamline the process of tax collection.
The reform creates a thing called "A Tax Aware Account" as an alternative to payroll withholdings and an annual return.
The Tax Aware Account would include all the information needed to calculate a progressive tax. Taxpayers would get their whole paycheck deposited into the account. They would pay taxes when they withdraw the money for spending.
Lets say you earned $1000 and your progressives tax rate was 20%. When you withdrew the money, the account would send $200 to the government and you would get $800.
The Tax Aware Account includes all of the information needed to pay your taxes. This way people wouldn't have to file a tax return. (If a person's tax status changes during the year. They would record the change in the Tax Aware Account which would calculate the effect of the change and create a transaction to reflect the change.
I must emphasize. The program creates an alternative to the existing system. The taxes collected in the new system are based on the old system. People would only use the new system if they found it more convenient.
I like the approach of creating alternatives better than the audacious approach used by programs like PPACA and The FairTax which force a reform on the entire nation at once.
I want to publish a book on this reform proposal because it includes some unique insight on taxation that I have not found in other works about tax reform.
For example, this reform changes the flow of money. In the current system, the money flows from employers to the government. With the Tax Aware Accounts, the money flows from taxpayers to the government.
The bureaucracy tends to form around the flow of money. Because our tax dollars flow from employers, the government aligns itself to employers and large corporations. Changing the flow of money so that it comes from individual accounts would make the bureaucracy responsive to the needs of the people.
Let's face it. The fact that Walmart and other big corporations write huge checks to the government each month gives these huge corporations additional clout. If these same tax dollars flowed from Walmart workers to the government, the government would be less attentive to the corporation and more attentive to the worker.
Changing the flow of money also transitions the income tax from a tax on production to a tax on consumption.
My articles on consumption taxes makes one extremely important argument that many economists seem to have missed: In order for a tax to be a true consumption tax, the money has to flow from the consumer.
Supporters of the FairTax want to replace the income tax with a national sales tax. The advocates of the FairTax believe that a sales tax is a consumption tax, but they miss the subtle point that since the money flows from the producer, the FairTax is still a production tax.
From the point of view of the producer, a sale is the moment when one realizes profit from production. A huge sales tax dampens production at the most important moment in the production process ... the point of sale.
The Object Tax is a true consumption tax because the money flows from the consumer when the consumer prepares for consumption. The FairTax is a production tax because the money flows from the producer at the point of sale.
The Object Tax also brings up some fascinating discussions about the role that the Open Source Movement could play in implementing public policy.
In our current way of doing things, Congress bids out contracts to huge service providers. The service providers with the best inside connections usually win the contract. The contractor then builds a huge monolithic program. The contractor is often monolithic nature of their program to accumulate even more wealth and power.
The effect of this approach is that it concentrates wealth and power in a few hands.
The goal of the Object Tax is to create a computer program that collects taxes.
Rather than seeking a single provider, the reform launches an Open Source Project that would invite thousands of service providers to create a base of common code that could be used be used by hundreds of thousands of companies. This reduces the concentration of wealth and power that occurs in the status quo.
There are some other really cool things that would happen if Congress launched an open source program to create an account based alternative to the current income tax. For example, the open source project could be designed so that it is extended by state governments to collect state and local taxes.
If programmed properly, the Tax Aware Accounts could provide a single point from which to collect federal, state and local taxes.
While the Object Tax is really just an thought experiment on my part, the project introduces insights that might be of value in other attempts to reform the tax code.
My Kickstarter Project has been up for several days and has received zero backers. It runs until May 13, so I get to spend a month checking a project that most likely will receive zero support for a month. yippee, hooray.
Anyway, I have to get back to my taxes. If you hear a person jumping off a bridge in despair. That's just me. I get depressed at tax time because I know that there are better ways to go about collecting taxes than this stupid system of payroll withholdings and an annual return.
Monday, January 26, 2015
Every time Firefox updates, I stop what I am doing to see if Firefox has started supporting the new date picker functionality of the HTML 5 specifications.
A few years back, I started upgrading my sites to HTML 5.0. Since several of the sites needed a date picker. I decided to put off the upgrade until the functionality of HTML 5 was in place; So, I am really irritated that this needed function is not yet in place.
Chrome, Opera and Safari support the new date picker. Firefox is pretty the last hold out. I should say it is the last holdout that matters. I have no idea what Internet Explorer is doing.
Anyway, the purpose of this post is to see if the date picker works followed by an essay on why the date picker should be implemented on the client side.
Client Side Date PickerDates and times are extremely important in computer systems. We use the date and time to figure out the sequence of events.
While it is easy to use timestamps to record the date of computer actions, we need an easy way to query users for events that took place outside the computer.
A date picker is not a difficult piece of code to write. For the most part it is sufficient to know that weeks are seven days long and every fourth year is a leap year.
A client side date picker will present users with one consistent date picker that can be used on multiple sites. This greatly simplifies both the life of the web user and the developer who needs only send the parameters for the date.
Anyway, I've been anxiously awaiting the inclusion of a date picker in Firefox. The main purpose of this post was to create a form with a date, week and hour field to see if the picker was implemented yet.
If Firefox does not support this feature soon, I will probably just switch to Opera or Chrome.
Monday, December 01, 2014
The Cyber Monday phenomena occurred early in the evolution of ecommerce when few people had home computers. Workers would window shop on Black Friday, then buy the items they wanted on the Monday following Black Friday. Some ecommerce shops saw more sales on the Monday following Black Friday than on Black Friday.
Home Internet access is now common and the Cyber Monday effect has vanished, but ecommerce shops use the day to launch their holiday shopping season.
While the focus of Cyber Monday is big ecommerce, it is actually quite easy for small blogs and web sites to get in on the action.
Today, I want to look at a company called "Prosperent" of Denver.
Prosperent might best be described as a link aggregator. They have affiliate relations with over 4000 leading merchants. If you join the program you can make commissions on sales from any of these 4000 sites which list several hundred thousand products. (I will write a program to list all the merchants after I finish this post)
With prosperent, you join just one affiliate program and can get commissions from over 4000 of the top ecommerce sites!
Prosperent has a referral program. If you join Prosperent through this link and end up making sales; I will get some sort of reward.
After you join prosperent and are approved, they will give you a public and private API key. My public key is 44b70e82e2cec9e8e105be57e63664ab.
The links have the awkward format:
The link above goes to Zappos.com which sells shoes. I can link to any of the 4000 web sites listed at Prosperent just by replacing www.zappos.com with the merchant's URL.
I can also link to individual products. The sample below links to Burton Snowboards. The program will look up all merchants that sell such boards and send me to a random merchant.
Prosperent has a full API. I could write a program that queries all of the stores carrying Burton Snowboards and list them by price.
The Prosperent site has full documentation for the links and API. If you decide to join, let me know and I will send you some PHP code for accessing the API. Click Here to Join Prosperent.
I am highlighting Prosperent today for two reasons. One is I want to see what happens if someone joins the program through my link. The second reason is that Prosperent highlights one important aspect of affiliate markets.
There are thousands upon thousands of merchants playing the affiliate game. It is easy to join the programs. Because there are so many you can usually find online ad programs to help fund your web site without having to cowtow to the merchants.
Lets say you came across a product that you really liked. You could write a review about the product. Put up an ad next to the product and you might make some money.
Lets say I wanted to sell Lego building blocks from my web page about building a Lego castle. I simply create a prosper ad block using the code.
Prosperent produces an ad for a merchant selling Lego blocks that looks like:
Saturday, November 29, 2014
Small Business Saturday is an advertising gimmick dreamed up by American Express in 2010. The event takes place on the Saturday between Black Friday and Cyber Monday as a way to work small businesses into the holiday sales mix.
There is a little irony in the fact that Small Business Saturday was created by one of the thirty stocks in the DOW Industrial Average. I guess we are also suppose to glance over the fact that a large number of small businesses are closed on Saturday.
Here is an interesting historical note: In the 1980s AMEX wanted to expand in the financial service sector. It acquired Shearson, Lehman Brothers Loeb, EF Hutton and other firms to create a leading brokerage system which it spun off in 1995. So, the multinational that created Small Business Saturday had created one of the investment banks that went belly up in the 2008 financial crisis.
In the last few years, small business has gotten smaller, but it is good to have events that recognize the role that small business plays in the economy.
I realized early on that small business plays a central role in the economy and that small business was getting systematically squeezed out. What I've done through the years is to create and maintain a collection of local directories under the brand Community Color. These directories give free links to small local businesses. I fund the directories through the affiliate programs of big ecommerce shops.
So, the directories will have free links to all of the small shops and an affiliate link to Walmart ... the employees of Walmart are members of the community too.
The directories get 5000 page views a day but the affiliate programs no longer collect enough money to pay the hosting fees.
I have directories for Utah (where I live), Colorado (my home state) and one for Arizona.
I admit, I have a rather quaint idea about community. I believe that everyone in a community should be considered part of the community ... even if they don't belong to the State's religion.
The idea behind local directories is that people could link to the directories and help support independent businesses in their community.
As you see, the whole point of the internet is links. If we want small businesses to succeed in the information age; small business has to be linked in. The best way to link them in is other small businesses.
My directories link to all the businesses, blogs, charities, government agencies and church groups that I can find.
I've been working on the directories since 2000.
Sadly, In 14 years I've yet to have anyone express even passing interest on the Utah directories. (There is some interest in the Colorado and Wyoming Directories. I happen to be a third generation Coloradan. My ancestors moved to Denver in the late 1800s.)
Anyway, Let's say you wanted to do something for small business this small business Saturday and you lived in Grand Junction. You could write a blog post that included a link to gjct.com. This would send a little bit of web traffic in the direction of Grand Junction businesses. A miniscule amount of traffic might go to the affiliate programs that fund the site.
If you aren't in a small business mood. I have tumblr galleries with pictures of Arizona, Colorado and Utah as well.
Monday, November 10, 2014
I needed a quick birthday jingle for a data geek; so I tapped out this to sing after the Happy Birthday Song:
Age plus plus; update; commit;
The years spin round and round.
Age plus plus and so it goes
We're happy you're in town.
I assume programmers prefer age++ to "Happy Birthday" since incrementing the age variable is more efficient than legacy birthday systems.
Anyway, geeks seem to appreciate the age plus plus bit.