Baud Labs 2013-2014 traffic count, visitor statistics, and latest trends

Alexa Internet, a provider of commercial web traffic data, assigns Baud Labs a global rank score of 684,951 and in the U.S. my blog currently ranks at 286,508. Alexa Traffic Rank is a rough estimate of this site’s popularity. The rank is calculated using a combination of average daily visitors to this site and page views on this site over the past 3 months. The site with the highest combination of visitors and page views is ranked #1.

How_popular_is_baudlabs

StatCounter legendI think the last time I blogged about visitor stats was back in August of 2013. Back then this blog had about 100 uniques (unique visits) per day. These days traffic is about ten times that. Hard to believe that this is only a year since. As I promised before to always give away the secret recipe for the sauce, I will make public some of the latest trends and visitor stats.

StatCounter_graph_monthly_bar_lastyear_2014

The StatCounter bar chart above depicts last year’s month by month page views, unique and returning visits. A more clear picture is provided by an area graph below depicting the same values.

StatCounter_graph_monthly_area_lastyear_2014

As mentioned previously in my post “How to get better Google ranking and improve SEO by configuring WordPress permalink settings“, back in May of 2013 is when I made changes my blog’s permalink structure, which then prompted Google to re-index the site. Visitor traffic has grown exponentially since then. This year’s numbers show more organic growth.

StatCounter_graph_monthly_bar_currentyear_2014

Just to clarify — that is not a drop off in visitor count in December. It’s only the beginning of the month and the December 2014 numbers are not in yet. I will try to publish these next year.

StatCounter_Recent_Visitor_Map

As you can see from the map above, Baud Labs currently enjoys a worldwide audience, but the majority of visitors are still from the United States. Also, there are no surprises that Google is winning the Search Engine Wars. Here is a sample of some random hourly traffic.

StatCounter_Search_Engine_Wars

It is a very good idea to develop and test websites that will work well for all screen resolutions. But of course there is always that perfect resolution where your website will always look its best and you could consider optimizing to suit the majority of your visitors. Screen resolution stats can help with that decision. Below are stats from recent visitors.

StatCounter_Screen_Resolution_Stats

You can get a ‘good feel’ for the technical and organization background of your users based on the versions and types of operating systems they are using. Below are stats from recent visitors.

StatCounter_Operating_System_Stats

Does your website make heavy use of JavaScript? Are you alienating some visitors by not having your website completely accessible without using JavaScript? Based on the stats for my blog — it does not seem so.

StatCounter_barchart_JavaScript

Posted in Social Networking, Web x.0 | Tagged , , , , | Leave a comment

Random thoughts on web design, social media, startups and Internet technologies in 2014

While not quite my year in review post, I did want to share some of the experiences and thoughts accumulated over 2014 in regards to the Internet state of things. I was prompted to post this after a coworker forwarded me Christopher Mims’ article “The Web Is Dying; Apps Are Killing It” which appeared in the Wall Street Journal (WSJ) on November 12, 2014.

In the article Christopher states that: “On phones, 86% of our time is spent in apps, and just 14% is spent on the Web, according to mobile-analytics company Flurry.” I will assume that these numbers are true, but will suggest that this has to do with the fact that the screen size and resolution of the previous generation of smartphones were not that great at rendering web pages. Until now that is. [I will admit my bias here, in that I have never bought a mobile app. Lately I even removed most apps from my devices with the exception of the apps I use everyday (GasBuddy as an example) and Apple/Google native functionality and features apps.]

For a while tablets with their larger screens were all the rage, so numerous companies went ahead and spent their resources on developing tablet apps. Oh how a misguided an effort this was. Now that iPhone 6 and 6 Plus are here, along with the latest generation of Samsung Galaxy and Google Nexus Android smartphones, the tablets have been left by the wayside. Well not quite. How funny it is that the hottest selling tablet today is Microsoft Surface 3 Pro, which runs Windows 8.1 and thus able to run any legacy Windows application.

iPhone_6vs5_large

In any case, the latest generation of smartphones offer monitor level resolutions and much larger screens, so the web browsing experience has definitely improved. Which brings me to another happy matter – the World Wide Web Consortium (W3C) HTML5 standard has been finally ratified in October [2014]. It promises to bring the web browsing experience into the current century, keeping in mind that HTML 4 was standardized back in 1997.

wp-watermarkAnother reason for celebration is the release of WordPress 4.x. I am a great fan of the WordPress publishing platform and use it for this blog and other websites. Kudos to Matt Mullenweg and the folks at Automattic for developing it into the mature content management system (CMS) we see today. On that same note – love the JetPack plugin. Keep up the good work!

While reading the WSJ, I also checked out “New Facebook Rules Will Sting Entrepreneurs” article from a couple of days ago. I am always fascinated with the social media phenomenon, especially in the respect of how much faith and value others have decided to place in it. We all have heard stories about people and companies increasing sales by using social media. But I also heard similar stories about people who used eBay, Craigslist, Google, or simply put up a website for a business that never had one before. To me this is just a trend of the times with diminishing future returns. From what I have seen in general — the quest for Facebook Likes never pays off. And by the way no one should be surprised that Facebook at this point will attempt to monetize its millions of users. After all it’s a business!?

Yahoo! is still struggling. I still use Flickr and Tumblr, which they now own, and they made money on Alibaba. Other than that I am not clear on what their plans for the future are. Looks like they are trying to get back into search, which is by far the most profitable technology on the Internet today. Just look at Google. Other than YouTube, which is also monetized through ads, none of their other ventures have made any significant profit to date.

MS_Surface_Pro3_large

Microsoft is trending up again. Like they have done many times before, they “pivoted” their business and now fully embrace the latest technologies like cloud computing (Azure and Office365). Office is now everywhere including on iOS and Android, which is a move to corner the market, so lookout Evernote. Surface Pro 3 is arguably the best laptop/tablet you can buy this holiday season. Windows Server 2003 is end-of-life (EOL) next year, which means another spending surge by corporate customers trying to beat the deadline and upgrade to a current version of the server OS.

While there many different opinions and arguments on whether we are in another tech bubble – I suspect we are. Over the past year I met many folks in the startup space. While some have no business running a business or being employed in the technology field, about half tend to exhibit actual business savvy and the necessary technical skills, and yet most are striving to build the next Facebook, which begs a question on how wise is it to model a startup on what is clearly an unprofitable business? Unfortunately most startups today do not have a monetization strategy. “If you build it they will come” approach seems to be the trend. No one seems to worry whether “they” will pay after “they” arrive.

Posted in Social Networking, Web x.0 | Tagged , , , , , , , , , , , , , , , , | Leave a comment

Improved embedding options for adding YouTube videos and playlists to a website or blog

YouTube_Embed_improved
Google improved embedding options for adding YouTube videos and playlists to a website or blog. I like the new features so much, that went ahead and edited my previous posts with embedded YouTube videos, and brought these inline with the updated embedding options.

This blog uses a modified Twenty Ten WordPress template, so 640×360 is the recommended video size. To be more exact — the recommended size is 640 pixels wide by whatever the height is, depending on whether the video format is standard or widescreen.

  • Show suggested videos when the video finishes — a great option if you are looking to drive away traffic from your site or let Google dictate the content for you. I definitely do not recommend enabling this especially for videos embedded on business websites. In the past Google has been known to ignore this option and continue to display suggested videos. It’s hard to guess whether they will stay ‘honest’ this time.

  • Show player controls — enables the control bar on the bottom of the video. This feature is a must as it allows the viewer to easily rewind or fast forward through the video. Best of all the menu bar appears on mouse-over event only and remains hidden otherwise.

  • Show video title and player actions — does not buy you much, as if you are embedding a video into a webpage you have already presented this information in your preferred method, so displaying it again inside the video makes is redundant and annoying to the viewer.

  • Enable Privacy-enhanced mode — means that YouTube won’t store information about visitors on your web page unless they play the video. What it also means is that the initial video screenshot loads a number of times faster that it would otherwise.

The embed option switched from object to iframe and it looks like the HTTPS option is now gone. HTTPS (Hypertext Transfer Protocol Secure) adds a layer of protection around information traveling between your computer and a web server. Websites that use HTTPS might generate a “mixed content” warning if a video isn’t embedded with HTTPS since not all parts on the webpage are secure, which is why you might select the “Use HTTPS” option under the embed code. It makes all the sense in the world to stick with all HTTPS content if the site is already HTTPS enabled.

Posted in Social Networking, Web x.0 | Tagged , | Leave a comment

Drive C: running out of disk space due to files in C:\Users\%USERNAME%\AppData\Local\Temp\vmware-%USERNAME%\VMwareDnD directory

VMwareDnDEarlier today I noticed that the C: drive on my Windows 7 desktop was running low on disk space. That was surprising to me as I try not store any data on the operating system (OS) drive [other than the Outlook OFT files]. A quick investigation showed that most of the drive space was taken up by the files located in the sub-directories of the C:\Users\%USERNAME%\AppData\Local\Temp\vmware-%USERNAME%\VMwareDnD directory.

Thinking back over my usage of VMware Workstation 9 in the last few days — one operation I performed multiple times is copy and paste large amounts of files (in terms of size and number) between the guest OS and the host. Looks like these temp files were a result of that process. Going through the various sub-directories of VMwareDnD directory I found a copy of most of the files that I have moved between the guest OS and the host.

One explanation I found is that the files are left in the VMwareDnD directory until next reboot since Workstation has no way of actually knowing when the copy is completed to the final chosen location. In this case I rebooted multiple times since I last used VMware Workstation. I performed an additional test by starting the saved virtual machines and actually shutting down the guest operating systems and rebooting the host again. The temp files were still there. Looks like this is simply a bug in the VMware Workstation product, so if you are using the copy and paste feature — lookout for the VMwareDnD temp files.

VMware Guest Isolation

Posted in Operating Systems, Virtualization | Tagged , , , | Leave a comment

10 hottest IT skills for 2015 according to Computerworld’s 2015 Forecast survey

Computerworld LogoA healthy 24 percent of the respondents to Computerworld’s 2015 Forecast survey said that their companies plan to add more IT employees in the year ahead. While down from 32 percent and 33 percent in the previous two years, the fact that a number of employers still anticipate growth indicates that the prospects for expansion in the IT ranks are good. — Mary K. Pratt

Here is the summary list of the 10 hottest IT skills for 2015:

  1. Programming/application development
  2. Project management
  3. Help desk/technical support
  4. Security/compliance governance
  5. Web development
  6. Database administration
  7. Business intelligence/analytics
  8. Mobile applications and device management
  9. Networking
  10. Big data

Read the full Computerworld article — Forecast 2015: IT spending on an upswing

Posted in IT Careers | Tagged | Leave a comment

Minimum and maximum memory (RAM) requirements for current Microsoft Windows operating systems (OS) Hyper-V Dynamic Memory configuration guide

Hyper-V_Dynamic_Memory_01Since the availability of Dynamic Memory Hyper-V feature in Windows Server 2008 R2 Service Pack 1, it became of significant importance to know the specifics of minimum and maximum memory (RAM) requirements for Microsoft Windows operating systems (OS). This is not a major issue for non-virtualized computers, as the amount of memory is fairly static over the lifespan of a physical machine [and is usually provisioned for the maximum amount of memory one can afford]. According to Microsoft’s Hyper-V Dynamic Memory Configuration Guide: “With Dynamic Memory, Hyper-V treats memory as a shared resource that can be reallocated automatically among running virtual machines. Dynamic Memory adjusts the amount of memory available to a virtual machine, based on changes in memory demand and values that you specify.” This article is meant to provide a quick reference guide for the minimum and maximum memory requirements of current Microsoft Windows operating systems.

Microsoft Windows Server 2003 / 2003 R2 Minimum RAM Maximum RAM
Web 256 MB 2 GB
Small Business Server 768 MB 4 GB
Storage Server 256 MB 4 GB
Storage Server Enterprise 256 MB 8 GB
Standard x86 (32-bit) 256 MB 4 GB
Standard x64 (64-bit) 512 MB 4 GB / 32 GB *
Enterprise x86 (32-bit) 256 MB 32 GB / 64 GB
Enterprise x64 (64-bit) 1 GB 64 GB / 1TB *
Datacenter x86 (32-bit) 512 MB 64 GB / 128 GB *
Datacenter x64 (64-bit) 1 GB 512 GB / 1TB *

* The higher value applies to Windows 2003 Service Pack 1 (SP1) and above.

Microsoft Windows Server 2008 / 2008 R2 * Minimum RAM Maximum RAM
Web x86 (32-bit) 512 MB 4 GB
Web x64 (64-bit) * 512 MB 32 GB
Small Business Server x86 (32-bit) 512 MB 4 GB
Small Business Server x64 (64-bit) 512 MB 32 GB
Foundation x64 (64-bit) * 512 MB 8 GB
Standard x86 (32-bit) 512 MB 4 GB
Standard x64 (64-bit) * 512 MB 32 GB
Enterprise x86 (32-bit) 512 MB 64 GB
Enterprise x64 (64-bit) * 512 MB 1 TB
Datacenter x86 (32-bit) 512 MB 64 GB
Datacenter x64 (64-bit) * 512 MB 1 TB

* Windows Server 2008 is the last release of Microsoft Windows Server operating system available in both 32-bit and 64-bit versions. Windows Server 2008 R2 is available only in 64-bit editions.

Microsoft Windows Server 2012 / 2012 R2 Minimum RAM * Maximum RAM
Foundation 512 MB 32 GB
Storage Server Workgroup 512 MB 32 GB
Essentials 512 MB 64 GB
Standard 512 MB 4 TB
Hyper-V Server 512 MB 4 TB
Storage Server Standard 512 MB 4 TB
Datacenter 512 MB 4 TB

* If you create a virtual machine with the minimum supported hardware parameters (1 processor core and 512 MB RAM) and then attempt to install this release on the virtual machine, Setup will fail. To avoid this, allocate more than 800 MB RAM to the virtual machine you intend to install this release on. Once Setup has completed, you can change the allocation to as little as 512 MB RAM, depending on the actual server configuration.

Microsoft Windows XP Minimum RAM Maximum RAM
Starter 64 MB 512 MB
Home 64 MB 2 GB
Professional x86 (32-bit) 64 MB 4 GB
Professional x64 (64-bit) 256 MB 128 GB

In this article I am skipping Windows Vista and moving on straight to Windows 7, which is exactly what most corporate users did.

Microsoft Windows 7 Minimum RAM Maximum RAM
Starter 1 GB 2 GB
Home Basic x86 (32-bit) 1 GB 4 GB
Home Basic x64 (64-bit) 2 GB 8 GB
Home Premium x86 (32-bit) 1 GB 4 GB
Home Premium x64 (64-bit) 2 GB 16 GB
Professional x86 (32-bit) 1 GB 4 GB
Professional x64 (64-bit) 2 GB 192 GB
Enterprise x86 (32-bit) 1 GB 4 GB
Enterprise x64 (64-bit) 2 GB 192 GB
Ultimate x86 (32-bit) 1 GB 4 GB
Ultimate x64 (64-bit) 2 GB 192 GB

The benefits of Hyper-V Dynamic Memory: “Dynamic Memory helps you use memory resources more efficiently. Before this feature was introduced, changing the amount of memory available to a virtual machine could be done only when the virtual machine was turned off. With Dynamic Memory, Hyper-V can provide a virtual machine with more or less memory dynamically in response to changes in the amount of memory required by the workloads or applications running in the virtual machine. As a result, Hyper-V can distribute memory more efficiently among the running virtual machines configured with Dynamic Memory. Depending on factors such as workload, this efficiency can make it possible to run more virtual machines at the same time on one physical computer.”

As a final note — the basic rule of thumb here is to never provision less than the minimum required amount of memory for a specific guest OS.

Posted in Operating Systems, Virtualization | Tagged , , , , , , , | Leave a comment

Display current date and time in another timezone using PHP

Detailed information on how to format a local time/date using the PHP date function can be found in the PHP Manual, but as I already mentioned earlier, I am just posting these for quick future reference for myself and others.

Internet Explorer date and time

To display date and time as shown in the image above use the following PHP function format:

<?php echo date('l jS \of F h:i:s A'); ?>

To display the current time and date in other timezones, such as the current date and time in Los Angeles and in Paris use:

<p>
Los Angeles: <?php date_default_timezone_set('America/Los_Angeles');
echo date('l jS \of F h:i:s A'); ?>
</p>
<p>
Paris: <?php date_default_timezone_set('Europe/Paris');
echo date('l jS \of F h:i:s A'); ?>
</p>

Internet Explorer date and time in a different timezone

date_default_timezone_set() function sets the default timezone used by all date/time functions in a script. PHP Manual has a full list of supported timezones.

Posted in How To, Web x.0 | Tagged | 1 Comment

PHP script to pull stock market quotes from Yahoo! Finance CSV interface

This is a useful PHP script [that I found] to pull stock market quotes from Yahoo! Finance CSV quotes interface. As mentioned before, I am just posting it here for future reference. Keep in mind that stock quotes are delayed and for whatever reason Yahoo! Finance does not provide quotes for Dow Jones Industrial Average (^DJI).

The following script pulls the Symbol (s), Name (n), Last Trade (l1), Change (c1), Change in Percent (p2), Last Trade Date (d1), Last Trade Time (t1) for NASDAQ Composite (^IXIC), S&P 500 (^GSPC) and displays it in table format:

<?php
$arr = array('^IXIC','^GSPC');
$url= "http://finance.yahoo.com/d/quotes.csv?s=".implode("+", $arr)."&f="."snl1c1p2d1t1";
echo "<table>";
$handle = fopen($url, "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
echo "<tr>";
foreach($data as $d)
echo "<td>$d</td>";
echo "</tr>";
}
fclose($handle);
echo "</table>";
?>

Internet Explore Yahoo index quotes
The following script pulls the Symbol (s), Name (n), Last Trade (l1), Change (c1), 52-week Low (j), 52-week High (k), Last Trade Date (d1), Last Trade Time (t1) for Apple (AAPL), Yahoo! (YHOO) and displays it in table format:

<?php
$arr = array('AAPL','YHOO');
$url= "http://finance.yahoo.com/d/quotes.csv?s=".implode("+", $arr)."&f="."snl1c1jkd1t1";
echo "<table>";
$handle = fopen($url, "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
echo "<tr>";
foreach($data as $d)
echo "<td>$d</td>";
echo "</tr>";
}
fclose($handle);
echo "</table>";
?>

Internet Explorer Yahoo stock quotes 2

Posted in How To, Web x.0 | Tagged , | 1 Comment

High availability percentage definitions

99.999%High availability is a system design implementation that ensures a high level of operational continuity over a specific time. Availability often is expressed as the percentage of time that a service is available for use:

Availability Target Permitted Annual Downtime
99% 87 hours, 36 minutes
99.9% 8 hours, 46 minutes
99.99% 52 minutes, 34 seconds
99.999% 5 minutes, 15 seconds
Posted in Management | Tagged , | Leave a comment

PHP script to pull weather information from XML based on airport code

A few years ago I created my other personal website — Windsport Addict. One of the things I wanted to display on that site was weather information for the locations where I sail, so I came up with a number of PHP scripts to pull weather information from various government sources. Most of the weather data was sourced from the National Oceanic and Atmospheric Administration (NOAA) National Weather Service (NWS). This is the data easiest source to deal with and requires no API, unlike commercial weather sources such as Weather.com, AccuWeather, and Weather Underground. In any case, I will share in this blog the secret sauce and provide all the weather information related PHP scripts I created.

In this example I am using the XML data source for John F. Kennedy Intl Airport (KJFK) in New York — http://www.weather.gov/xml/current_obs/KJFK.xml, although while posting this I noticed that the server now redirects to http://w1.weather.gov/xml/current_obs/KJFK.xml. Not clear on the specifics of this change, but will try to investigate it in the future. Also, please note that the observation data is updated once an hour, so the latest data can be retrieved 15 minutes after the hour.

<?php
$ch = curl_init("http://w1.weather.gov/xml/current_obs/KJFK.xml");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$xmlData = curl_exec($ch);
curl_close($ch);
$xml = new DOMDocument;
$xml->loadXML($xmlData);
$xpath = new DOMXPath($xml);
$entries = $xpath->query("//current_observation/wind_string");
echo "Wind: " . $entries->item(0)->nodeValue . "<br />";
$entries = $xpath->query("//current_observation/temperature_string");
echo "Temperature: " . $entries->item(0)->nodeValue . "<br />";
$entries = $xpath->query("//current_observation/weather");
echo "Sky Conditions: " . $entries->item(0)->nodeValue . "<br />";
$entries = $xpath->query("//current_observation/visibility_mi");
echo "Visibility: " . $entries->item(0)->nodeValue . " mile(s)<br />";
$entries = $xpath->query("//current_observation/dewpoint_string");
echo "Dew Point: " . $entries->item(0)->nodeValue . "<br />";
$entries = $xpath->query("//current_observation/relative_humidity");
echo "Relative Humidity: " . $entries->item(0)->nodeValue . "%<br />";
$entries = $xpath->query("//current_observation/pressure_in");
echo "Barometer: " . $entries->item(0)->nodeValue . " inHg ";
$entries = $xpath->query("//current_observation/pressure_mb");
echo "(" . $entries->item(0)->nodeValue . " mb)<br />";
$entries = $xpath->query("//current_observation/observation_time");
echo "" . $entries->item(0)->nodeValue . "";
?>

Internet Explorer JFK weather

Posted in How To, Web x.0 | Tagged , , , , | Leave a comment