Home » Technology » Blogs
Category Archives: Blogs
F-O-R-K? A Few Thoughts on the Sangoma Employee Exodus
Full Disclosure: We’re not exactly big fans of Sangoma® and their stewardship of the Asterisk® and FreePBX® projects. So read our commentary with a grain of salt or two. As we predicted when Sangoma purchased Digium®, the employee exodus has begun. The biggest surprise is that a disturbing number of the departures are from the FreePBX SchmoozeCom operation including two of its founding partners: Tony Lewis, the soon-to-be former Chief Operating Officer (COO) of Sangoma, and Brian Walters who has been with Tony forever. Rob Thomas and Philippe Lindheimer, two of the original developers of FreePBX, also have left. Correction: Philippe has simply moved out of the FreePBX dev team. While we haven’t kept close tabs on the Sangoma operation for the past couple years, a little digging uncovered some rumors of other possible departures which, if true, would cripple FreePBX development for all intents and purposes. Then there’s the Digium side of things. Mark Spencer, who founded Digium and Asterisk, left with the Golden Parachute as a result of the Digium sale. But he was followed out the door by Danny Windham, Digium’s former CEO, and David Duffett, who has been the cheerful, public face of Asterisk for many, many years.
In measuring what the future holds, we’ve got a few folks we think you should be watching for the next few months. On the Digium side, the most obvious are some of the old-timers like Matt Jordan and Malcolm Davenport. On the FreePBX side, our radar is focused on two key developers: Luke Duquaine and Andrew Nagy. While nobody is irreplaceable, the complexity of FreePBX and its incredibly steep learning curve would make more departures crippling. You can’t farm out FreePBX development as you would phone manufacturing.
May 18 UPDATE: Matt Jordan is leaving as Digium’s CTO to take a position with Amazon. Andrew Nagy has resigned as the head of Sangoma’s FreePBX development team. His last day was yesterday.
This exodus coupled with some rumored departures got us thinking about the possibility of a fork of both the Asterisk and FreePBX projects. After all, it’s open source GPL software. And loyalty isn’t what it once was in the corporate world. Surely, Sangoma employment contracts had non-compete provisions, right? Probably so. But wait. What about the GPL license that Sangoma issues with each new release of Asterisk and FreePBX? Since we’re talking hypotheticals and while you shouldn’t treat this as a legal opinion, here’s one wrinkle that jumps out. Take a look at these GPL license agreement extracts to which Sangoma is bound:
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights.Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License.You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.
Without doing the legal research, I’d be surprised if there has ever been a case pitting a non-compete contract against a GPL license agreement when both were issued by the same company. Generally the enforcement scope of non-compete agreements turns upon state law and whether the employer gave up a protectable interest such as confidential information. That’s an easy case with existing FreePBX commercial modules, but it would be a difficult argument to make with open source GPL software which, by definition, is clearly not confidential. We’ll just have to see how this plays out. In the meantime, keep your ears peeled, and let us know if you hear of other Sangoma happenings. We’ll be listening, too.
Originally published: Friday, April 26, 2019 Updated: Saturday, May 18, 2019
Need help with Asterisk? Visit the VoIP-info Forum.
Special Thanks to Our Generous Sponsors
FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.
VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
The Autonomous Car: Navigating Tesla’s Slippery Slope to the Promised Land
We continue our Autonomous Car series today with a report card on our first quarter results with the new Tesla Vision autopilot and a cautionary note to would-be Tesla owners. Since the new Tesla hardware was rolled out to vehicles manufactured in the last couple months of 2016, Tesla has had a bumpy ride and, in no small part, it has been due to self-inflicted wounds. The Tesla executive heading up the autopilot project abruptly quit and allegedly walked out the door with Tesla’s crown jewels. Then it became apparent that Tesla had misled fourth quarter buyers by promising autopilot software that was anything but ready for prime time. In fact, it barely existed. To make matters worse, Elon Musk finally acknowledged a couple weeks ago that their first generation autopilot hardware and software powered by Mobileye was nowhere to be found in the new vehicles. This was a careful way of admitting that Tesla was basically starting over with Tesla Vision. The alarming reports from new Tesla owners (685+ posts) confirmed that fairly quickly. For a glimpse at the complexity of autonomous driving, take a look at this in-depth review.
Tesla Autopilot 2.0: law firm attempts class action lawsuit against Tesla over self-driving claims | Electrek https://t.co/jffRu7l8jv
— Ward Mundy (@NerdUno) March 22, 2017
The Joke’s On You: What You Saw Ain’t What You Get
To make matters worse, Tesla had sold the vehicles by overpromising features which were nowhere near ready. BestRadar, one of the frequent contributors to TMC’s Tesla Motors Forum, recently posted some interesting comparisons of Tesla’s representations to buyers in October, 2016 to demonstrate the morphing which occurred after the first of the year. Using a tool called Copyscape he compared Tesla’s autopilot offering (AP2) from late 2016 to the revised text in early 2017. The actual before and after web pages are available as well. Here’s the Enhanced AutoPilot feature, a pricey $6,000 upgrade, that has caused fourth quarter 2016 buyers the most heartburn:
Here’s the Standard Safety Features offering also promised for delivery in December 2016:
Let’s compare features promised to buyers by December 2016 to what has been delivered:
- Match Speed to Traffic Conditions (90% TACC; 55MPH on Interstate w/ AP2)
- Keep Vehicle Within a Lane (Curve-free with lane markings, minimal car following)
- Automatically Change Lanes w/o Driver Input (NO)
- Transition from One Freeway to Another (NO)
- Exit Freeway When Destination is Near (NO)
- Self-Park When Near a Parking Spot (20%)
- Summon Vehicle To/From Garage (NO)
- Collision Avoidance (NO)
- Automatic Emergency Breaking (NO)
- Side Collision Alerts (Worthless)
- Front Collision Warning (YES)
- Auto High Beams (NO)
- Auto Windshield Wipers (NO)
Keep in mind that those who purchased Tesla AP2 vehicles in the fourth quarter of 2016 had never seen an actual AP2 Tesla because they were not yet available. So the entire purchasing decision was based upon Tesla’s and Musk’s representations that the new Teslas were far superior to earlier vehicles both in terms of hardware and software. This was reinforced in the video contemporaneously released by Tesla (below) demonstrating Tesla Vision (AP2) as a fully autonomous driving experience. Only months later when California released its disengagement report for 2016 did we learn that the making of that video apparently resulted in traveling about 500 miles and logging 177 disengagement reports with the state over the 3-day filming period. A "disengagement" is defined as an autonomous driving event that forces a driver to take control of the vehicle. And never mind the video’s opening assertion that the entire trip was hands-free with the driver doing nothing. It further appears that, following production of the Tesla video, further self-driving experimentation with Tesla Vision was completely halted. Details here.
Beware the Ides of March
We haven’t mentioned SAFETY yet but you’ll want to read this if you’re considering a new Tesla. If you’ve ever driven a car with a toddler sitting in your lap holding the steering wheel with you, then you’ll appreciate the amount of care and attention you need to focus on a Tesla while AP2 is activated. It’s that dangerous. Forum reports of vehicles veering toward guard rails and ditches are common as are reports of Tesla vehicles swerving out of their lane in search of a lane divider while 18-wheelers are within six feet of your car. As one forum member observed, autopilot in a car differs dramatically from autopilot on a plane where a pilot who is alerted to take control has 5 minutes or more to react before a plane can descend from 30,000 feet. With a car, you’re talking about a fraction of a second when autopilot does something stupid and veers into another lane of traffic. This also isn’t a case of your Tesla relying upon Mobileye with a decade of self-driving experience under its belt. We’re talking about brand new, half-baked software. Labeling it as "beta" suggests you really must be a Tesla shareholder.
I chose the image at the top of this article because it literally sent shivers down my spine thinking some poor fool might actually try using AP2 on this road. Look at the margin of error available with your $100,000+ autonomous vehicle.
Shares of Mobileye surged more than 30% in pre-market trading after agreeing to be bought by Intel for about $15 billion. $MBLY $INTC
— USA TODAY Tech (@usatodaytech) March 13, 2017
Dangerous software is only part of the problem. The other half is Tesla’s complete failure to document for its drivers what works and what doesn’t. It’s one thing to do something stupid after you’ve been warned not to do it. It’s quite another to have to discover all of the mines in the minefield for yourself. It’s worth recalling that, in selling the $6,000 Enhanced Autopilot feature, Tesla represented that the software was "expected to complete validation" by the end of December, 2016. In the English language, that certainly suggests that the software is all but ready and just needs a bit more testing to validate that all of the promised features are safe before uploading it to Tesla vehicles. Remember that Tesla was still saying the same thing at the end of December and even into the middle of January. Truth be told, we’re not sure large chunks of the deliverable software have even been written yet. We’re not talking about "puffing." Take a look at the list above and where we stand today. Then compare that to what Tesla was promising in sales contracts and actually showcasing in videos four to five months ago:
Deep Neural Networks and Machine Learning
For the technically curious, it’s worth mentioning the complexity of the Tesla autopilot approach and how primitive it remains today. Keep in mind that Tesla’s AP1 vehicles had the luxury of Mobileye technology with 10 years of machine learning to identify dangerous and safe objects using cameras. To fully appreciate the enormity of the AP2 problem, take a look at Tesla’s explanation of its new radar-centric approach. Then enjoy a fascinating introduction to Machine Learning 101. In a nutshell, Tesla has got to create a "map" whitelisting every stationary object in the world and determining with 99.99% accuracy whether it is unlikely to pose a collision risk to a Tesla vehicle. The reason is because radar can have a difficult time distinguishing an overhead sign 25 feet in the air and an overhead sign that has fallen onto the highway. You obviously want the car to slam on the brakes for the latter one but not for every overhead sign you encounter while traveling down an interstate highway. We haven’t yet considered electronic highway signs where the messaging on the sign constantly changes. To your Tesla, every change in the sign message looks like a new sign. Here’s another example at the neighborhood level. We have two 90 degree turns in the street near our home. To date, our Tesla vehicle with AP2 proceeds at full speed into both locations. Without manual intervention, the AP2 result would either land your Tesla in the water or it would plow into a wall. Now let’s multiply those situations by a hundred million, and you’ll appreciate the complexity of the task at hand and better understand how deceptive the Tesla video really was.
Dear Elon: We Still Love You, Warts and All
Don’t take our observations the wrong way. We love our Tesla vehicle and appreciate everything Elon Musk is trying to do both in terms of electric vehicles and autonomous driving. But, as we have observed previously, Elon can morph from Steve Jobs visionary into used car salesman with a single tweet. And he often does, particularly when Tesla earnings reports are at stake. We’ve been in the technology business for more than 30 years and we’ve owned 25 different automobiles. When it comes to software development or car purchases, there’s not much we haven’t witnessed first hand. But Tesla’s approach of overselling and underdelivering functionality is novel. And we believe it is precarious if not downright dangerous from both a legal and safety standpoint. That’s unfortunate because a class action lawsuit or serious accident involving a Tesla with AP2 which, unlike the earlier vehicles, has no track record of safety could set back not only Tesla but all autonomous driving projects by years. It also would prompt federal and state regulators to take a very hard look at the types of vehicles which are being unleashed on public highways.
Our plea to Elon is please clean up your act before releasing Model 3 vehicles to 400,000 unsuspecting owners. People are accustomed to purchasing vehicles with the expectation that the features they’ve purchased will actually work and will do so in a SAFE manner. They also expect to be able to get their cars repaired. Read this nightmare scenario from a fender bender. Stop overpromising and overhyping what new Tesla vehicles can actually do and level with buyers on the very real limitations of the current vehicles. Drivers need to understand what works and what doesn’t before they set foot in a new Tesla. A simple disclaimer that the software is experimental really doesn’t cut it. As it stands today, autopilot using AP2 is little more than a wish and a prayer much like our license plate. Here’s hoping we all make it through this Magic Carpet Ride alive.
Finally, a word about the Tesla Model 3. We’ve commented before that customers will be hard-pressed to purchase a Tesla Model 3 for $35,000. Guess what? Here’s a price list formulated by one industrious user based upon estimates of feature costs derived from current Tesla vehicles. While it is not an official Tesla document, it provides a fairly accurate estimate of the pricing that Tesla Model 3 buyers can expect to see:
Tesla Model 3 pricing and options have not leaked, here's what happened https://t.co/1vJ46TdBMb pic.twitter.com/RWTp7tkxv1
— Electrek.co (@ElectrekCo) March 5, 2017
Move Over Tesla: Competition Coming on April 1
Tesla will no longer be the only option starting April 1. @Lloyd shared a sneak peek at Google’s surprise. Production looks eerily similar to Tesla’s self-driving video. 😉
Published: Monday, March 13, 2017
Special Thanks to Our Generous Sponsors
FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.
VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
Some Recent Nerd Vittles Articles of Interest…
Twofer Tuesday: 2 Cloud Servers for the Price of a RasPi
It’s been more than a year since we last chatted about Cloud At Cost. Because they’re in the midst of yet another 50% off Fire Sale and to close out February with a bang, it seemed like a good time to take a fresh look at a terrific way to get started with Linux. For today’s $35 cloud project, we’re going to build a free WordPress server and a free commercial PBX compliments of 3CX. For what it’s worth, we’ve been running a PIAF5 server at CloudAtCost for more than four months without a single hiccup. It provides flawless Google Voice calling from either a connected SIP phone or from the 3CX Client running on a SIM-free Android phone or iPhone. See our recent article for tips on setting up a SIM-free mobile phone.
For those coming from the Windows World, Linux can be a little intimidating. Learning with a Cloud-based server presents its own challenges because of the security issues when your server sits on the public Internet. And then there’s the cost factor. Not everyone has several hundred dollars to buy hardware and, frankly, learning about Linux on a $35 Raspberry Pi can drive most folks to drink. So today we’ll show you another way. It’s not necessarily a better way. But it’s different, and it’s loads of fun for not much money. Today’s project takes about an hour, and you’ll have two terrific Linux applications to play with for life when we’re finished.
There’s lots to hate at Cloud At Cost, a Canadian provider that offers virtual machines in the cloud for a one-time fee with no recurring charges. For $35, you currently get two virtual machine platforms, and each has 512MB of RAM, 10GB of storage, and a gigabit Internet connection FOR LIFE. We haven’t seen a week go by when Cloud at Cost didn’t offer some sort of discount. Today it’s 50% off which brings the per server cost down to $17.50 each. That’s less than most lunches these days. If you don’t like half off and would prefer to wait for a better discount, check their Twitter feed every few days. So that’s the good news. But, if 99.999% reliability, performance, and excellent customer support are your must-haves, then look elsewhere. So why would anyone in their right mind sign up for a cloud solution that didn’t offer those things? Did we mention it’s $17.50 for a lifetime cloud server!
If you take our recommendation, you’ll need to go into this with the right attitude. It’s not going to be flawless perfection computing. It’s a sandbox on which to experiment with Linux, and VoIP, and Cloud Computing. Will your virtual machine disintegrate at some juncture? Maybe so. We’ve had about a third of ours fail at some point. But you can rebuild them easily, especially if you keep a backup. Our experience is that the first couple days are critical. If you start seeing sluggish performance which degenerates to zero, don’t waste your time. Take good notes as you go along, delete the virtual machine, and rebuild a new one. It won’t cost you a dime, and it’ll save you hours of frustration. We suspect that bad folks get onto some of the servers and delight in bringing the machines to their knees. So the quicker you cut your losses, the better off you will be. Is CloudAtCost a good solution for production use? Don’t risk it unless waterboarding is your favorite sport. It’s probably not gonna work, and you WILL be disappointed. Repeat after me: IT’S A SANDBOX!
Building a LAMP Server in the Cloud
Our first objective today is to show you how to build a rock-solid, secure Linux server in the Cloud with all the bells and whistles that make Linux the server platform of choice for almost every organization in the world. We’ll continue by showing you how to embellish the platform with WordPress to do something that’s special for you whether it’s your own blog like Nerd Vittles, or a school newspaper, or an on-line shopping site to sell comic books. The basic foundation for most Linux platforms is called a LAMP server which stands for Linux, Apache, MySQL, and PHP. Linux is an open source operating system that includes contributions from thousands of developers around the world. Apache is the web server platform on which most commercial businesses stake their reputation. MySQL is the open source database management system now owned by Oracle. If it’s good enough for Facebook, it’s good enough for you. And PHP is THE web-based programming language that will let you build almost any application using Linux, Apache, and MySQL.
So what’s the big deal? There are thousands of online tutorials that will show you how to build a LAMP server. For long time readers of Nerd Vittles, you already know that the component we continually stress is security. Without that, the rest really doesn’t matter. You’ll be building a platform for someone else to hijack and use for nefarious purposes. When we’re finished with today’s Project #1, you’ll have a cloud-based LAMP server that is totally invisible to the rest of the world with the exception of its web interface. And we’ll show you a simple way to reduce the exposure of that web interface to some of its most likely attackers. Will it be 100% secure? Nope. If you have a web server on the public Internet, it’s never going to be 100% secure because there’s always the chance of a software bug that nobody has yet discovered and corrected. THAT’S WHAT BACKUPS ARE FOR!
Creating a CentOS Machine in the Cloud
To get started, you’ve got to plunk down your $35 at Cloud at Cost. This buys you two server platforms while they’re cheap! Once you’ve paid the piper, they will send you credentials to log into the Cloud at Cost Management Portal. Change your password IMMEDIATELY after logging in. Just go to SETTINGS and follow your nose.
To create your first virtual machine, click on the CLOUDPRO button and click Add New Server. If you’ve only purchased the $17.50 CloudPRO 1 platform, then you’ll need all of the available resources shown in the pick list. Otherwise, choose 1 CPU, 512MB RAM, and 10GB storage for your first server. Leave CentOS 6.7 64bit selected as the OS Type and click Complete. Depending upon the type of special pricing that Cloud at Cost is offering when you sign up, the time to build your virtual machine can take anywhere from a minute to the better part of a day. We’ve learned to build new virtual machines at night, and they’re usually available for use by the next morning. Luckily, this slow performance does not impact existing virtual machines that already are running in their hosting facility.
Initial Configuration of Your CentOS 6 VM
With a little luck, your virtual machine soon will appear in your Cloud at Cost Management Portal and look something like what’s shown above. The red arrow points to the i button you’ll need to click to decipher the password for your new virtual machine. You’ll need both the IP address and the password for your new virtual machine in order to log into the server which is now up and running with a barebones CentOS 6.7 operating system. Note the yellow caution flag. That’s telling you that Cloud at Cost will automatically shut down your server in a week to save (them) computing resources. You can change the setting to keep your server running 24/7. Click Modify, Change Run Mode, and select Normal – Leave Powered On. Click Continue and OK to save your new settings.
Finally, you’ll want to change the Host Name for your server to something more descriptive than c7…cloudpro.92… Click the Modify button again and click Rename Server to make the change. Your management portal then will show the new server name as shown above.
Logging into Your CentOS 6 VM
In order to configure and manage your new CentOS 6 virtual machine, you’ll need to log into the new server using either SSH or, for Windows users, Putty. After installing Putty, run it and log in to the IP address of your VM with username root and the password you deciphered above. On a Mac, open a Terminal session and issue a command like this using the actual IP address of your new virtual machine:
ssh root@12.34.56.78
Before you do anything else, reset your root password to something very secure: passwd
Installing the LAMP Server Basics
Now we’re ready to build your LAMP server platform. We’ve chopped this up into lots of little steps so we can explain what’s happening as we go along. There’s nothing hard about this, but we want to document the process so you can repeat it at any time. As we go along, just cut-and-paste each clump of code into your SSH or Putty session and review the results to make sure nothing comes unglued. If something does, the beauty of virtual machines is you can delete them instantly within your management portal and just start over whenever you like. So here we go…
We’ll begin by permanently turning off SELINUX which causes more problems than it solves. The first command turns it off instantly. The second line assures that it’ll stay off whenever you reboot your virtual machine.
setenforce 0 sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
First, let’s address a couple of CloudAtCost quirks that may cause problems down the road. CloudAtCost has a nasty habit of not cleaning up after itself with fresh installs. The net result is your root password gets reset every time you reboot.
killall plymouthd echo killall plymouthd >> /etc/rc.local rm -f /etc/rc3.d/S97*
Now let’s bring CentOS 6.7 up to current CentOS 6.8 specs and add a few important applications:
yum -y update yum -y install nano wget expect net-tools dialog git xz yum -y install kernel-headers yum -y install kernel-devel reboot
After reboot, log back in as root. Now we’ll set up your Apache web server and configure it to start whenever you reboot your server:
yum -y install httpd service httpd start chkconfig httpd on
Next, let’s set up your MySQL server, bring it on line, and make sure it restarts after server reboots. Unless you plan to add Asterisk® and FreePBX® to your server down the road, you’ll want to uncomment the two commands that begin with # by removing the # symbol and replacing new-password with a very secure password for your root user account in MySQL. Be sure to run the last command to secure your server. After logging in, the correct answers are n,Y,Y,Y,Y.
yum -y install mysql mysql-server service mysqld start chkconfig mysqld on #/usr/bin/mysqladmin -u root password 'new-password' #/usr/bin/mysqladmin -u root -p -h localhost.localdomain password 'new-password' mysql_secure_installation
Next, we’ll set up PHP and configure it to work with MySQL:
yum -y install php yum -y install php-mysql service httpd restart
Finally let’s get SendMail installed and configured. Insert your actual email address in the last line and send yourself a test message to be sure it’s working. Be sure to check your spam folder since the message will show a sender address of localhost which many email systems including Gmail automatically identify as spam.
yum -y install sendmail rpm -e postfix service sendmail restart yum -y install mailx echo "test" | mail -s testmessage youracctname@yourmailserver.com
Installing Supplemental Repositories
One of the beauties of Linux is not being totally dependent upon CentOS for all of your packaged applications. Let’s add a few other repositories that can be used when you need to add a special package that is not in the CentOS repository. Let’s start with EPEL. We’ll disable it by default and only use it when we need it.
yum -y install http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm sed -i 's|enabled=1|enabled=0|' /etc/yum.repos.d/epel.repo
We actually need the EPEL repo to install Fail2Ban for monitoring of attacks on certain Linux services such as SSH:
yum --enablerepo=epel install fail2ban -y cd /etc wget http://incrediblepbx.com/fail2ban-lamp.tar.gz tar zxvf fail2ban-lamp.tar.gz
Another important repository is REMI. It is especially helpful if you decide to upgrade PHP from the default version 5.3 to one of the newer releases: 5.5 or 5.6. In this case, you’ll want to activate the specific repository to support the release you choose in /etc/yum.repos.d/remi-safe.repo.
yum -y install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm sed -i 's|enabled=1|enabled=0|' /etc/yum.repos.d/remi-safe.repo
One final repository to have on hand is RPMForge, now renamed RepoForge. We’ll use it in a bit to install a dynamic DNS update utility which you actually won’t need at CloudAtCost since your server is assigned a static IP address. But it’s handy to have in the event you wish to assign a free FQDN to your server anyway.
yum -y install http://incrediblepbx.com/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm sed -i 's|enabled = 1|enabled = 0|' /etc/yum.repos.d/rpmforge.repo
Country Blocking with IPSET
We’ll use the EPEL repo to install ipset, a terrific addition to the IPtables Linux firewall that lets you quickly block entire countries from accessing your server:
yum --enablerepo=epel install ipset -y
Next, we’ll add a sample script that documents how the country blocking mechanism works with ipset. For a complete list of countries that can be blocked, go here. If you need a decoder badge to match abbreviations against country names, you’ll find it here. To add other countries, simply edit the shell script and clone lines 4-7 using the names of the countries and country zone files that you wish to add. Be sure to insert the new lines before the commands to restart iptables and fail2ban. This script will need to be run each time your server reboots and before IPtables is brought on line. We’ll handle that a little later.
echo "#\\!/bin/bash" > /etc/block-china.sh echo " " >> /etc/block-china.sh echo "cd /etc" >> /etc/block-china.sh echo "ipset -N china hash:net" >> /etc/block-china.sh echo "rm cn.zone" >> /etc/block-china.sh echo "wget -P . http://www.ipdeny.com/ipblocks/data/countries/cn.zone" >> /etc/block-china.sh echo "for i in $(cat /etc/cn.zone ); do ipset -A china $i; done" >> /etc/block-china.sh echo "service iptables restart" >> /etc/block-china.sh echo "service fail2ban restart" >> /etc/block-china.sh sed -i 's|\\\\||' /etc/block-china.sh chmod +x /etc/block-china.sh
Adding a Few Handy Utilities
If you’re like us, you’ll want to test the speed of your Internet connection from time to time. Let’s install a free script that you can run at any time by logging into your server as root and issuing the command: /root/speedtest.py. Here were our results from last year. Running speedtest on a new server we built today showed a vast improvement in performance. Downloads were over ten times as fast, and upload speeds more than tripled. In fact, we now are using two CloudAtCost servers to host the old PIAF3 repositories.
cd /root wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py chmod +x speedtest.py
Next, let’s put in place a simple status display which will quickly tell you what’s running and what’s not. We’ve borrowed some GPL code from Incredible PBX to help you out. Run status-lamp at any time for a snapshot of your server.
cd /usr/local/sbin wget http://incrediblepbx.com/status-lamp.tar.gz tar zxvf status-lamp.tar.gz rm -f status-lamp.tar.gz sed -i 's|myip.pbxinaflash.com|myip.incrediblepbx.com|' /usr/local/sbin/status-lamp
Now we’ll put the Linux Swiss Army Knife in place. It’s called WebMin, and it provides a GUI to configure almost everything in Linux. Pick up a good WebMin book from your public library to get started. Once installed, you access WebMin from your browser at the IP address of your server on the default port of 10000: https://serverIPaddress:10000. It’s probably a good idea to change this port number and the commented out line shows how to do it with the new port being 9001 in the example. The way in which we typically configure the Linux firewall will block all access to WebMin except from an IP address which you have whitelisted, e.g. your home computer’s public IP address.
cd /root yum -y install perl perl-Net-SSLeay openssl perl-IO-Tty yum -y install http://prdownloads.sourceforge.net/webadmin/webmin-1.831-1.noarch.rpm #sed -i 's|10000|9001|g' /etc/webmin/miniserv.conf service webmin restart chkconfig webmin on
Configuring the Linux IPtables Firewall
RULE #1: DON’T BUILD SERVERS EXPOSED TO THE INTERNET WITHOUT SECURITY!
As installed by CloudAtCost, your server provides ping and SSH access from a remote computer and nothing else. The good news: it’s pretty safe. The bad news: it can’t do anything useful for anybody because all web access to the server is blocked. We want to fix that, tighten up SSH access to restrict it to your IP address, and deploy country blocking to show you how.
As we implement the firewall changes, you need to be extremely careful in your typing so that you don’t accidentally lock yourself out of your own server. A typo in an IP address is all it takes. The good news is that, if you do lock yourself out, you still can gain access via the CloudAtCost Management Portal by clicking the Console button of your virtual machine. Because the console is on the physical machine and the lo interface is whitelisted, you can log in and disable the firewall temporarily: service iptables stop
. Then fix the typo and restart the firewall: service iptables start
.
First, let’s download the new IPtables config file into your root folder and take a look at it.
cd /root wget http://incrediblepbx.com/iptables-lamp.tar.gz tar zxvf iptables-lamp.tar.gz
Now edit the /root/iptables-lamp file by issuing the command: nano -w /root/iptables-lamp
You can scroll up and down through the file with Ctl-V and Ctl-Y. Cursor keys work as well. Once you make changes, save your work: Ctl-X, Y, ENTER
. You’re now an expert with the nano text editor, an absolutely essential Linux tool.
Here’s what that file actually looks like:
*filter :INPUT DROP [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j DROP -A INPUT -i lo -j ACCEPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP -A INPUT -m state --state INVALID -j DROP -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP -A INPUT -p tcp -m tcp --tcp-flags SYN,FIN SYN,FIN -j DROP -A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP -A INPUT -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP -A INPUT -p tcp -m tcp --tcp-flags ACK,FIN FIN -j DROP -A INPUT -p tcp -m tcp --tcp-flags ACK,URG URG -j DROP -A INPUT -p tcp -m set --match-set china src -j DROP -A INPUT -p udp -m udp --dport 53 -j ACCEPT -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT -A INPUT -p tcp -m tcp --dport 113 -j ACCEPT -A INPUT -p udp -m udp --dport 123 -j ACCEPT -A INPUT -p tcp -m tcp --dport 123 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT #-A INPUT -s 12.34.56.78 -j ACCEPT #-A INPUT -s yourFQDN.dyndns.org -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
Reminder: If you add another country to your block-china script, don’t forget to add a corresponding new country entry to your iptables file. See line 17 above that includes the word "china" for the syntax. There’s nothing much else to tweak except the two commented out (brown) lines that begin with #. First, remove the # symbol by moving the cursor to the right of the first one and hitting the backspace/delete key on your keyboard. Replace 12.34.56.78
with the public IP address of the computer from which you will be accessing your virtual machine. If you need multiple entries for multiple computers at different addresses, clone the line by pressing Ctrl-K and then Ctrl-U twice. Yes, we know. Some folks IP addresses change from time to time. In the next section, we’ll show you how to set up a Dynamic DNS entry with a utility that will keep track of your current IP address. In this case, uncomment the second commented line and replace yourFQDN.dyndns.org
with your dynamic DNS address. Be very careful to assure that your FQDN is always on line. If the firewall cannot verify your DNS entry when it starts, the IPtables firewall will not start which means your server will be left unprotected. HINT: IP addresses are much safer because they are never verified.
Once you have your whitelisted addresses configured, comment out the port 22 line to keep the bad guys from trying to break into your server with SSH. Then save the file: Ctl-X, Y, ENTER
. Next, issue the following commands to copy everything into place and restart the firewall.
mv /etc/sysconfig/iptables /etc/sysconfig/iptables.orig cp -p /root/iptables-lamp /etc/sysconfig/iptables echo "/etc/block-china.sh" >> /etc/rc.local /etc/block-china.sh
Always, always, always check to be sure your firewall is functioning: iptables -nL
. If you don’t see your desktop computer’s public IP address near the end of the listing, then the firewall is dead. status-lamp should also show IPtables down. Check for an error message which will tell you the problematic line so you can correct it.
Implementing Dynamic DNS Service
There are a number of free and paid Dynamic DNS providers. The way this works is you choose a fully-qualified domain name (FQDN) to identify your computer. Then you run a dynamic DNS update utility periodically from that computer. It reports back the current public IP address of your computer and your provider updates the IP address assigned to your FQDN if it has changed. In addition to supporting sites with ever changing IP addresses, it also allows you to permanently assign an FQDN to your computer or server so that it can be accessed without using a cryptic IP address.
If that computer happens to be an Incredible PBX server or a LAMP server that you’ve set up using this tutorial, then the following will get the DNS client update utility loaded using the RPM Forge repository that we previously installed:
yum --enablerepo=rpmforge install ddclient -y
Similar DNS update clients are available for Windows, Mac OS X, and many residential routers. Then it’s just a matter of plugging in the credentials for your dynamic DNS provider and your FQDN. In the case of the CentOS client, the config file is /etc/ddclient/ddclient.conf
. Now reboot your server and pick up a good book on Linux to begin your adventure.
Now For Some Fun…
First, let’s check things out and make sure everything is working as it should. With your favorite web browser, visit the IP address of your new server. You should see the default Apache page:
Next, let’s be sure that PHP is working as it should. While still logged into your server as root using SSH or Putty, issue the following commands and make up some file name to replace test4567 in both lines. Be sure to keep the .php file name extension. Note to gurus: Yes, we know the second line below is unnecessary if you remove the space after the less than symbol in the first line. Unfortunately, WordPress forces the space into the display which left us no alternative.
echo "< ?php phpinfo(); ?>" > /var/www/html/test4567.php sed -i 's|< |<|' /var/www/html/test4567.php
Now jump back to your web browser and access the new page you just created using the IP address of your server and the file name you made up: http://12.34.56.78/test4567.php
The PHPinfo listing will tell you everything you ever wanted to know about your web server setup including all of the PHP functions that have been enabled. That's why you want an obscure file name for the page. You obviously don't want to share that information with every bad guy on the planet. Remember. This is a public-facing web site that anyone on the Internet can access if they know or guess your IP address.
When you're ready to set up your own web site, just name it index.php and store the file in the /var/www/html directory of your server. In the meantime, issuing the following command will assure that anyone accessing your site gets a blank page until you're ready to begin your adventure:
echo " " > /var/www/html/index.php
Ready to learn PHP programming? There's no shortage of books to get you started.
Adding WordPress to Your LAMP Server
Where to begin with WordPress? What used to be a simple platform for bloggers has morphed into an all-purpose tool that makes building virtually any type of web site child's play. If you want to see what's possible, take a look at the templates and sample sites shown on WPZOOM. Unless you're an art major and savvy web designer, this will be the best $70 you ever spent. One of these templates will have your site up and running in minutes once we put the WordPress pieces in place. For the big spenders, $149 will give you access to over 50 gorgeous templates which you can download and use to your heart's content on multiple sites. And, no, your sites don't blow up after a year. You just can't download any additional templates or updates unless you renew your subscription. The other alternative is choose from thousands of templates that are provided across the Internet as well as in the WordPress application itself.
WordPress templates run the gamut from blogs to newsletters to photographer sites to e-commerce to business portfolios to video to travel to magazines to newspapers to education to food to recipes to restaurants and more. Whew! There literally is nothing you can't put together in minutes using a WordPress template. But, before you can begin, we need to get WordPress installed on your server. This is optional, of course. And, if you follow along and add WordPress, we've set it up in such a way that WordPress becomes the primary application for your site. Stated differently, when people use a browser to access your site, your WordPress template will immediately display. When we finish the basic WordPress setup and once you upload an image or two, you'll have a site that looks something like this:
Before you begin, we strongly recommend that you acquire a domain for your site if you plan to use it for anything but experimentation. The reason is because it can be complicated to migrate a WordPress site from one location to another.1 Once you've acquired your domain, point the domain to the IP address of your new server. With a dirt cheap registrar such as Omnis.com, it's easy:
Now let's get started. To begin, we need to load the WordPress application onto your server:
cd /root mkdir wordpress cd wordpress wget http://wordpress.org/latest.tar.gz tar -xvzf latest.tar.gz -C /var/www/html
Next, we'll configure MySQL to support WordPress. We're assuming that you have NOT already created root passwords for MySQL. If you have, you'll need to add -pYourPassword to the various commands below immediately after root. There is no space between -p and your root password. Also edit the first line and make up a new password (replacing XYZ below) for the wordpress user account that will manage WordPress on your server before you cut and paste the code:
mysql -u root -e 'CREATE USER wordpress@localhost IDENTIFIED BY "XYZ";' mysql -u root -e 'CREATE DATABASE wordpress;' mysql -u root -e 'GRANT ALL ON wordpress.* TO wordpress@localhost;' mysql -u root -e 'FLUSH PRIVILEGES;'
Next, we need to configure WordPress with your new MySQL credentials. Before you cut and paste, replace XYZ in the fourth line with the password you assigned in the preceding MySQL step:
cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php sed -i 's|database_name_here|wordpress|' /var/www/html/wordpress/wp-config.php sed -i 's|username_here|wordpress|' /var/www/html/wordpress/wp-config.php sed -i 's|password_here|XYZ|' /var/www/html/wordpress/wp-config.php chown -R apache:apache /var/www/html/wordpress
Before you forget, take a moment and create a very secure password for your MySQL root user accounts. Here are the commands. Just replace new-password with your new password before you cut and paste. Note that you also will be prompted for this password when you execute the second command because you will now have a root user password in place from executing the first command.
/usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -p -h localhost.localdomain password 'new-password'
Finally, we need to modify your Apache web server to support WordPress as the primary application. Be sure to enter your actual email address in the third line before you cut and paste the code below:
echo " " >> /etc/httpd/conf/httpd.conf echo "" >> /etc/httpd/conf/httpd.conf echo 'ServerAdmin somebody@somedomain.com' >> /etc/httpd/conf/httpd.conf echo "DocumentRoot /var/www/html/wordpress" >> /etc/httpd/conf/httpd.conf echo "ServerName wordpress" >> /etc/httpd/conf/httpd.conf echo "ErrorLog /var/log/httpd/wordpress-error-log" >> /etc/httpd/conf/httpd.conf echo "CustomLog /var/log/httpd/wordpress-acces-log common" >> /etc/httpd/conf/httpd.conf echo " " >> /etc/httpd/conf/httpd.conf echo " " >> /etc/httpd/conf/httpd.conf service httpd restart
That should do it. Open a browser and navigate to the IP address of your server. You should be greeted with the following form. Fill in the blanks as desired. The account you're setting up will be the credentials you use to add and modify content on your WordPress site when you click Log In (as shown above). Make the username obscure and the password even more so. Remember, it's a public web site accessible worldwide! When you click Install WordPress, you'll be off to the races.
After your server whirs away for a minute or two, you will be greeted with the WordPress login prompt. With the username and password you entered above, you'll be ready to start configuring your WordPress site.
Once you're logged in, navigate to Appearance -> Themes and click Add New Theme. There's you will find literally hundreds of free WordPress templates that can be installed in a matter of seconds if WPZOOM is too rich for your blood. For a terrific all-purpose (free) theme, try Atahualpa. We'll leave our actual demo site running for a bit in case you want to explore and check out its performance. Installing and configuring the new theme took less than a minute:
A Final Word to the Wise. WordPress is relatively secure but new vulnerabilities are discovered regularly. Keep your templates, plug-ins, AND the WordPress application up to date at all times! The WordFence plug-in is a must-have. And we strongly recommend adding the following lines to your WordPress config file which then will let WordPress update everything automatically. Microsoft has given automatic updates a bad name, but in the case of WordPress, they work well.
echo "define('WP_AUTO_UPDATE_CORE', true);" >> /var/www/html/wordpress/wp-config.php echo "add_filter( 'auto_update_plugin', '__return_true' );" >> /var/www/html/wordpress/wp-config.php echo "add_filter( 'auto_update_theme', '__return_true' );" >> /var/www/html/wordpress/wp-config.php
Building a 3CX Server in the Cloud
Now we're ready for our second cloud project. In less than 10 minutes, we're going to build a free 3CX commercial PBX using the remaining Cloud resources from our $35 purchase. To create your second virtual machine, click on the CLOUDPRO button in the CloudAtCost control panel and then click Add New Server. Choose 1 CPU, 512MB RAM, and 10GB storage for your second server. Choose Debian 8 64bit as the OS Type and click Complete.
Obtain a free license key for 3CX. Next, log in to your new Debian server as root using SSH or Putty and issue these commands. We'll begin by changing your root password.
NOTE: What appears as the fourth line below needs to be added to line #3!
passwd wget -O- http://downloads.3cx.com/downloads/3cxpbx/public.key | apt-key add - echo "deb http://downloads.3cx.com/downloads/3cxpbx/ /" | tee /etc/apt/sources.list.d/3cxpbx.list apt-get update rm -f /zang-debian.sh apt-get -y install 3cxpbx apt-get -y install sendmail sendmail-bin
When the initial setup finishes, choose the Web Interface Wizard and complete the install using your favorite web browser. Enter your 3CX license key when prompted. Make up a very secure Username and Password to access your 3CX portal. Specify that your IP address is Dynamic when prompted (even though it isn't). This tells 3CX to generate an FQDN for your server. Accept the default ports for HTTP (5000) and HTTPS (5001) access to your server. We recommend choosing 4-digit extensions numbers so you'll be ready for next week's project interconnecting your 3CX server to a Raspberry Pi for the best of both worlds. While logged into the 3CX management portal, adjust Settings → Email to Mail Server → 127.0.0.1 and Reply to → noreply@YourActual3CX-FQDN. Leave the other settings blank and click TEST then OK. Set up a SIP trunk with inbound and outbound call routes. Now download your favorite 3CX smartphone client, send yourself the Welcome Email for your default extension, and start calling. It really doesn't get much easier in the VoIP World. Come join the PIAF Forum if you need a helping hand!
Free Calling in the U.S. and Canada with PIAF5. We know our more frugal U.S. residents are wondering if there's a way to make free calls even with 3CX. You didn't really think there would be a release of PBX in a Flash without Google Voice support, did you? It's easy using the Simonics SIP to Google Voice gateway service. Setup time is about a minute, and the one-time cost is $4.99 using this Nerd Vittles link. Setup instructions for the 3CX side are straight-forward as well, and we've documented the procedure on the PIAF Forum.
Free Calling Worldwide with SIP URIs. There's another free calling option as well. PIAF5 and 3CX support worldwide SIP URI calling at no cost. As part of the PIAF5 install procedure, 3CX registers an FQDN for you with one of the 3CX domains if you indicate that your server has a dynamic IP address. Unless you really know what you're doing with DNS, it's a good idea to tell 3CX you have a dynamic IP address whether you do or not. Here's why. Once you have an assigned FQDN in the 3CX universe, one very slick feature is the ease with which you can publish a SIP URI address for any or all of your 3CX extensions thereby allowing PIAF5 users to receive calls from any SIP client worldwide at no cost. Setup takes less than a minute. It's as easy as 1-2-3. Here's how:
1. Login to the 3CX GUI and go to Settings → Network → FQDN. Tick "Allow calls from/to external SIP URIs" and make note of your FQDN, e.g. mypiaf5server.3cx.us. Click OK.
2. For an extension to enable (e.g. 001), go to Extensions → Edit 001 → Options → SIP ID and create any desired SIP URI alias for this extension, e.g. billybob. Click OK.
3. Anyone with a SIP client anywhere worldwide can now call extension 001 using SIP URI: billybob@mypiaf5server.3cx.us.
Special Thanks: Our special tip of the hat goes to a few web sites that we found helpful in putting this article together especially Unixmen and Matt Wilcox & friends and Programming-Review.
Originally published: Tuesday, February 28, 2017
9 Countries Have Never Visited Nerd Vittles. Got a Friend in Any of Them https://t.co/wMfmlhiQ9y #asterisk #freepbx pic.twitter.com/TPFGZbqWB6
— Ward Mundy (@NerdUno) April 22, 2016
Need help with Asterisk? Visit the PBX in a Flash Forum.
Special Thanks to Our Generous Sponsors
FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.
VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
Some Recent Nerd Vittles Articles of Interest...
- Should you ever have to migrate your WordPress site from one domain to another, here are two helpful tools to consider: the Automatic Domain Name Changer Plugin and our favorite: WordPress-Domain-Changer. [↩]
Adventures in Twitterland: You Can’t Make This Stuff Up
Today is Twitter’s Coming Out Party with what could be 2013’s Biggest IPO. By the closing bell today, the U.S. probably will have a couple new billionaires. As one commenter on USA Today’s site noted, "I can’t get into the IPO. I’m too busy tweeting." Unfortunately, we’re not.
Having just returned from a quick visit to New York earlier this week, we were greeted by the following message when we logged into our Twitter account:
Why is my account suspended? Well, it could be that you’ve violated "The Twitter Rules" or maybe Twitter suspects that your account was hacked or compromised. I’m reminded of the old playground adage: It’s For Me To Know and You to Find Out. Urban Dictionary has an interesting take on what that really means.
Imagine if you will that you’re walking down the street in your favorite town minding your own business when a cop grabs you by the collar and says, "You’re under arrest." The natural inclination would be to ask why. Rather than tell you, the police officer hands you a copy of the municipal code with the admonition that you can always appeal.
Welcome to The World According to Twitter. Here you are assumed to know what you did wrong. And, if you don’t like the consequences, you can file "an appeal" after reading "The Rules". All of that, of course, is perfectly fine if you actually broke "The Rules" and know what you did. Joseph Heller couldn’t have made this up. If you’ve read Catch 22, you’ll recall that "the term was introduced by Doc Daneeka, an army psychiatrist who invokes ‘Catch 22’ to explain why any pilot requesting mental evaluation for insanity — hoping to be found not sane enough to fly and thereby escape dangerous missions [during World War II] — demonstrates his own sanity in making the request and thus cannot be declared insane."
We, of course, use Twitter for fun and to support our open source projects so there’s no financial hardship from Twitter’s antics while we endure "the appellate process." But, put yourself in the position of a business person with thousands of followers and suppose you actually used Twitter to announce new products and merchandise sales. Don’t!
As you can see from the screenshot above, all of a sudden you have 0 Followers. So your entire business model is basically down the toilet at the sole discretion of Twitter. In case you’re curious, no, we haven’t violated any of Twitter’s rules. We still used to send a couple of tweets a day as we have since opening our account years ago. Has our account been hacked? Obviously not. We still can get into it, and there are no tweets from us offering you a million bucks for managing some African prince’s business affairs.
In becoming a public company today, one would hope this situation will be addressed. But then I’m reminded of our Comcast adventures and some of the horror stories you hear about Facebook, and it’s probably safe to conclude that the Borg was probably right: "Resistance is futile." We’ve been patiently waiting 2 days for "our appeal" to be processed. We’ll let you know if we ever hear anything further. In the meantime, I’d hold off on that Twitter stock purchase.
If you happen to have a (working) Twitter account, do us and your friends a favor. Send a tweet to your followers about this article by clicking on the link below. Happy Tweeting!
1 p.m. Update. Surprise! Well, we’re back… kinda, sorta. Twitter let us out of jail but kept our pants and car keys. Following = 0, Followers = 0. No call. No email. Not even a tweet. Love means never having to say you’re sorry. Nice!
2:30 p.m. Update. Pants and car keys returned. Thanks a billion, Twitter. You’re the best.
Originally published: Thursday, November 7, 2013
11/11/11: To Celebrate Nerd New Year’s, Please Welcome…
Just click on the image above to visit the site. Content is updated at least twice daily. As always, we welcome your content suggestions. Enjoy!
Originally published: Friday, November 11, 2011
Great News! Google Plus is available to everyone. Sign up here and circle us. Click these links to view the Asterisk feed or PBX in a Flash feed on Google+.
Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.
whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for us and for you.
Special Thanks to Our Generous Sponsors
FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.
VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
Some Recent Nerd Vittles Articles of Interest…
The Googlifier: WordPress Widget Alternative for Google+
Nerd Vittles has been not only a fan but also a user of WordPress for the better part of this century. So it only made sense to contribute a little something back once the opportunity presented itself. Now that Google Plus has released the first iteration of an API, it became fairly easy to extract all of your Google+ content and import it into any current WordPress blog. Rather than offering a plugin or widget that requires constant maintenance, today we’re providing an open source toolkit that lets you automatically and regularly grab your public Google+ content and add it to your new or existing WordPress 3.2.1 blog. Here’s a screenshot of our sample blog using the WordPress twentyten template. We set this up in less than an hour on a hosted platform using cPanel with Fantastico, an application installer which is available on thousands of hosted platforms around the world. Our favorite for new bloggers is Lunarpages for as little as $4.95 a month.
The hidden beauty of this project is that others can take our open source code and transform the same Google+ content into other templates as well. For example, it would be pretty simple to turn your Google Plus feed into something that looked more like the new Facebook Timeline Layout:
Or you might prefer something more like Flipboard or Google’s new secret project that transforms Twitter content into a customized social news magazine:
But, for today, we want to concentrate on WordPress and show you how easy it is to assimilate your Google+ content into a new or existing blog. Down the road, it would be pretty easy to use The Googlifier to grab the public feeds of your Favorite Google+ Circle and assimilate all of that content into a Best of Google+ Blog. But let’s save that project for another day.
Prerequisites. There are some basic components of both Google+ and WordPress that you’ll need to have in place before using The Googlifier. On the Google front, for openers you’ll obviously need a Google+ account. You no longer need an invitation. Just sign up here. You’ll also need your Google+ account ID which is the long string of numbers displayed in the web link when you access your Google+ Profile:
Last, but not least, you’ll need a free Google+ API key. This lets you grab a JSON feed of your Google+ public posts up to 1,000 times per day. You do NOT need an OAuth Token to download your public Google+ content!
On the WordPress side, The Googlifier is expecting to find a working WordPress 3.2.1 blog. You also need command-line access to run The Googlifier scripts. This can also be done using cPanel. Be advised that we have not tested this application with prior releases of WordPress! We would caution you to be very careful doing so if you have a working live blog. As frequent readers of Nerd Vittles already know, we provide the same advice on introducing new software as we do for those contemplating a new marine aquarium. Always have two platforms: one for display and one to test whether your new fish have cooties. If you choose the all-in-one approach, sooner or later you’ll probably end up with a bunch of dead fish. You’ve been warned. 😉
The good news is that, once you have obtained your Google+ credentials and have the proper WordPress platform in place, using The Googlifier requires zero technical skills. Set a few defaults once, run a couple scripts at regular intervals, and you’re done. If you’d like to add Categories to each of your blog posts, that is easily accomplished after you import your Google+ content by simply editing your posts while logged into WordPress with your admin credentials.
Getting Started. Now we’re ready to download the software. If you have SSH access to your WordPress blog, log in and change directories to the default directory for your blog. Then issue the following commands:
wget http://mundy.org/googleplus/googlifier.zip
unzip googlifier.zip
rm googlifier.zip
Next, you need to insert your Google+ credentials in wm-getfeed.sh. Edit the file using the command: nano -w wm-getfeed.sh. Near the top of the script, you’ll see the following two lines:
acctid="12345″
apikey="67890″
Replace 12345 with your Google+ Account ID. Replace 67890 with your Google+ API Key. Be careful to preserve the quotes on each side of the two entries. Once you’re finished, save the file: Ctrl-X, Y, and Enter.
Now make sure your credentials work by running the app and agreeing to the license: ./wm-getfeed.sh. If you see ERROR 400: Bad Request, then there’s an error in your credentials.
Next, you need to edit wm-readfeed.php using the same extended nano syntax shown above. On line #15, insert your blog URL in place of ours. Be sure to preserve the trailing /. Save the file and then run the script to populate your blog with your latest Google+ public postings: ./wm-readfeed.php.
Finally, access your blog using a web browser and make certain the content looks right. If the images are too large, you can adjust them in the settings section at the top of wm-readfeed.php. Make certain to preserve the correct proportions between the width and height entries. As installed, your Google+ posts will only be imported once into WordPress. If you’d prefer to overwrite your entries each time you run the PHP script, then set the variable $overwriteposts to true. Be aware that this may cause issues with search engines because the links to your posts will change each time you rerun the PHP script and delete the previously imported posts.
We also recommend you install the free (for non-business use) FancyZoom app for WordPress. This lets users click on images in your blog to enlarge them automatically. You can try it out here or in our Demo Google+ Blog. If you decide not to use FancyZoom, then you may wish to set $click2photoalbum to true. This will allow users to access the Google+ photo album associated with certain posts by clicking on the displayed image.
Automating The Googlifier Imports. Once you’re satisfied that the imports are working correctly, it’s simple to automate the process so that it runs regularly to gobble up your Google+ content. For those using cPanel, you’ll find a Cron Jobs option on the main screen. What we want to do is schedule the wm-getfeed.sh script to run every hour at one minute after the hour. And then schedule the wm-readfeed.php script to run every hour at three minutes after the hour. That way you’ll always have the latest content on your blog. Here’s the way a sample cron entry should look. Just substitute your account name on your cPanel host for ward, and you’re all set. Unless you want to be bombarded hourly with email confirmations, add > /dev/null to the end of the commands (not shown in the sample below).
And One More Thing… We saved the best for last. One of the drawbacks of Google+ has been the lack of support for in-line images such as you see in this blog posting. With The Googlifier, it’s now a thing of the past. You can embed as many images as you like in any posting at any place you like except in the first line of the posting. Just enclose image links in {curly braces} within your Google+ posting, and The Googlifier will handle the rest. Here’s a quick sample:
A Word About Open Source Development. The real beauty of open source code is that you have an opportunity to improve what’s been provided. We hope you not only will do so but also will share your improvements with the rest of us. Just post a comment below using your real email address which won’t be published. We will contact you to obtain your code which we’ll be happy to host on Nerd Vittles for everyone to enjoy.
A Word About Versions. This is version 1.0 software so don’t assume it’s finished or error-free. Check this post regularly to download new updates as they are finished. The comments below or update notices appearing just below here will attempt to explain what has been added, changed, or improved. Enjoy!
Originally published: Monday, October 24, 2011
Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.
whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for us and for you.
Special Thanks to Our Generous Sponsors
FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.
VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
Some Recent Nerd Vittles Articles of Interest…
Donate Now To Claim Your $299 Web Appointment System
It's back-to-school time in the United States, and we want to lessen the pain of the transition with a deal you simply cannot refuse. Here's how it works. Every fall we solicit contributions to Nerd Vittles so that we can keep the lights on for another year. We try to reward our readers with great deals whenever we find them but especially during donation season. So this one is especially for you, our loyal readers! You'll find a PayPal Donate button just to the right. It works with every major credit card whether you have a PayPal account or not. For everyone that makes a contribution to Nerd Vittles this month, we'll forward a portion of your contribution to Ward Mundy & Associates, an organization we know and love, to purchase on your behalf a fully licensed copy of hitAppoint to run on a server of your choice. Ward Mundy & Associates already has purchased an unlimited distribution license to hitAppoint. We hope you'll consider running hitAppoint with PBX in a Flash or the Incredible PBX because, over the next few months, we'll be writing a new module for hitAppoint that lets you add Telephone Reminders and Client/Patient Confirmations when the software is run on PBX in a Flash systems. Who knows? We may even get energetic and write a module to let folks schedule appointments using their Plain Old Telephone.
What's the Catch? Sorry. There isn't one other than our assumption that you're a loyal Nerd Vittles reader. We obviously have no way to check. Just make a donation to Nerd Vittles this month and patiently await an email from us telling you how to download your software. If you're a long time reader of Nerd Vittles, you already know about our previous contributions to the open source and shareware communities. And today is no different even though this is commercial software. Yes, the Little Mrs. is not going to be happy. So there goes the new house... again.
Can I Pass the Software On? No. Your copy of hitAppoint will be licensed just to you or the entity making a donation to Nerd Vittles. And it's for use on a single server. This is the identical commercial software product that can be purchased from the hitAppoint web site for $299.
What Are Typical Uses for hitAppoint? The hitAppoint web site lists a number of real-world examples of how hitAppoint is being used. These include scheduling of medical appointments, fitness and wellness appointment scheduling, piano or guitar lessons, tutoring appointments, photographic services scheduling, workout class appointments, hair salon scheduling, carpet cleaning services, and almost any other trade or profession that involves scheduling of people's time or facilities.
Is it Full-Featured? You bet. It's one of the best in the business. That's why we chose it! Here's an overview of hitAppoint functionality in the latest release:
Appointments
- Appointment packs
- Multiple seats at a time if needed
- Customer can request/cancel appointment
- Provider can create/accept/reject appointment
- Manage past appointments
- View appointments during any time period
- Color for appointment status
- Customizable automatic confirmation emails
- Export to Outlook, iCal apps, Google Calendar
- Export to Excel or any CSV-capable software
- View apptmt by customer, provider, location
- Day appointments visual view
- One screen print view
- Review appointments before scheduling
- Configure service, location, provider, time
- Move appointment to another location
- Reassign appointment to another provider
- Reschedule appointment to different time
- Custom additional fields for appointments
- Recurring Appointments
Payments
- Paypal integration
- Authorize.Net integration
- SagePage integration
- Accept offline payments at your office
Customers
- Configure to allow registered users only
- Require customer email validation
- Require admin approval for new customer
- Additional information fields for customer data
- Search for customers by any field
- View customer appointment history
- Use of customer database from other apps
- Temporarily suspend users
Providers
- Assign provider to any service and location
- Flexible availability schedule for providers
- Specify individual time off
Services
- Variable duration and pricing for sessions
- Lead-in and lead-out times
- Flexible availability for every service
- Configure providers and locations for service
- Define when advance booking is possible
- Define when appointment cancellation is possible
Locations
- Flexible availability scheduling by location
- Configure services and providers by location
System
- Tailor look and feel with themes
- Integrate with WordPress
- Integrate with Joomla
- Multi-language support
Prerequisites. Here's what you'll need on your host machine which could be either Windows, Linux, or Mac OS X:
* Apache web server
* PHP (version 4.1 or greater or PHP 5)
* MySQL 3.23 or greater
* phpMyAdmin (strongly recommended)
In the Windows world, the easiest way to get everything you need is to install WampServer 2. With Mac OS X, we'd recommend XAMPP. For Linux, all you need is PBX in a Flash. If you plan to run hitAppoint in a hosted environment (e.g. WestNIC, LunarPages, BlueHost), we'd recommend you choose a provider that includes cPanel. This makes it easy to set up your MySQL database and credentials. The three providers we've listed all provide the necessary software to run hitAppoint, and we've used all three of them with good results. The three are ranked in our order of preference.
Downloading & Installing hitAppoint. If you're installing this on a PBX in a Flash server, it's incredibly simple and takes less than a minute. Log into your server as root and issue the following commands. Then skip down to the Running Setup section below:
cd /root
wget http://pbxinaflash.com/hitappoint.tgz
tar zxvf hitappoint.tgz
./hitappoint.sh
For those not installing hitAppoint on a PBX in a Flash server, download the hitAppoint software from the link that was provided in the email from us. The link changes regularly so download it as soon as you receive your email confirmation. Unzip the file in the root directory of your web server so that hitAppoint can be accessed using a web browser pointed to:
Step #2 is to create a MySQL database and user with permissions to manage hitAppoint.
On cPanel hosted systems, there will be a MySQL Databases option. Choose it and create a new database called hitappoint. This will actually create a database called nerd_hitappoint where nerd is your cPanel account name. Now add a new username and call it hitappoint as well. Then choose a very secure password for this username. Then click the Create User button. Finally, move to the Add User to Database option and specify nerd_hitappoint as the database and nerd_hitappoint as the user (using your own cPanel account name obviously). Then click the Add button.
On systems with phpMyAdmin, use a browser to open the application. Click on the Privileges option in the center column. Then click Add a New User. For Username, choose Use Text Field and enter hitappoint. For Host, choose Local and it will default to Localhost. For Password, choose Use Text Field and enter a very secure password twice. In the Database for User section of the form, choose the radio button marked "Create database with same name and grant all privileges." Now move to the bottom of the form and click the Go button.
Now you're ready to configure hitAppoint to use your newly created MySQL database. Use your favorite editor to open db.rename_it.php in the new hitappoint directory on your web server. Change the default entries so that they look like the following but use your actual password instead of yourpassword for the MySQL user account you created:
define( 'NTS_DB_HOST', 'localhost');
define( 'NTS_DB_USER', 'hitappoint');
define( 'NTS_DB_PASS', 'yourpassword');
define( 'NTS_DB_NAME', 'hitappoint');
If you're on a hosted platform, don't forget to add your prefix (e.g. nerd_) to both the DB_USER and DB_NAME entries. Then save your changes and rename db.rename_it.php to db.php.
Running Setup. You're almost finished with the installation. Using your favorite browser, call up the following page and follow the prompts:
When you finish running the setup procedure, delete setup.php in the /hitappoint directory.
Language Support. hitAppoint has been designed to support multiple languages. Unfortunately, it has not yet been translated into German, French, and Spanish. The entire translation process takes only an hour or so. If you are fluent in both Spanish and English, please drop us a note, and we'll walk you through the translation procedure. In addition, we'll share your handiwork with the rest of the hitAppoint community.
Getting Started. After you've downloaded and installed the software, review the hitAppoint Getting Started Guide for instructions on configuring the software to meet your needs. Here's an example of what you can create in less than 10 minutes. And, as you can see, integrating the live application into existing web sites, forums, or blogs takes only a couple minutes. Feel free to make some sample entries. We won't bill you. 😉 Enjoy!
Need help with Asterisk?® Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.
whos.amung.us If you're wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what's happening. It's a terrific resource both for us and for you.
Special Thanks to Our Generous Sponsors
FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.
VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
Some Recent Nerd Vittles Articles of Interest...
Is It Time to Get Your Buzz On?
If you’ve been on vacation for the past week without your computer and cellphone, welcome back. Here’s what you missed: Everything! Yes, in seven little days, we’ve watched in amazement as Google the Giant Internet Gorilla with unlimited financial resources jumped off the 1,000 foot cliff without a parachute and then set about discovering how to land safely. Google jumped head first into social networking with a new product, Google Buzz, and decided to kick start the project using the age-old business trick of tying the new product to an old one, in this case their 175 million existing Gmail customers.
In the process of introducing Google Buzz, Google got almost everything wrong. Ironically, it’s the only new Google product that’s ever been introduced without the beta label. We’ll let you be the judge of whether Buzz is ready for prime time. Consider the following. There was the exposure of people’s most cherished Little Black Books to complete strangers. And cross-scripting security issues have been reported with the potential of exposing users’ Google credentials which in turn provides the key to the Google Checkout castle not to mention all of your most confidential emails. Then there were complaints that customer’s geolocation data was being compromised without user authorization. If that wasn’t enough on your plate for one week, Google now has to contend with a class action lawsuit and several government investigations into its Buzz business practices. Aside from that, did we mention Google Buzz is a huge hit!
If social networking is your thing, then you’re going to love Google Buzz. Think of it as FriendFeed on Steroids. Rich multimedia and location-based services on top of everything you always loved about IRC. And, if you have an Android 2.0+ phone, it gets even better with complete integration into Google Maps 2.0.
Unfortunately, everyone has been so busy with damage control and Google bashing that there’s been precious little time to actually explore the potential for Google Buzz in the social networking community. Our brief look at the product and its potential suggests that Google has another winner on its hands. It’s just too bad it wasn’t introduced in a manner similar to Google Wave so that users (and Google) could walk before attempting to fly. Here’s our first crack at how Google Buzz could actually be integrated into the blogging community, in our case making Google Buzz an integral part of a WordPress blog. And there’s also the widget approach from MoreTechTips.net which we’ve tweaked in the right margin below our Google maps. We’ll have more to say about these methodologies in coming weeks. In the meantime, come join the fun and Get Your Buzz On.
Some Recent Nerd Vittles Articles of Interest…