Sunday, November 5, 2017

XfinityWiFi -- Is it the right thing to do?

If you live or work in an area serviced by Comcast, odds are you see the "xfinitywifi" in your list of WiFi Access Points on your phones, tablets and laptops. For me they are everywhere! But what or who are they for?

What's that all about?

Well, Xfinity (Comcast) wants their clients to be able to connect to WiFi anywhere there is a Xfinity Modem nearby and they can!

I'm an Xfinity client! That's great for me!

Yes, it is great for you. But, it's not just for Comcast clients! That's right. The first time you connect to an "xfinitywifi" Access Point, you get a splash page. If you look closely, you'll see that Comcast is happy to sell service by the day.

Service by the day doesn't sound so bad. But, WAIT! That modem is using someone's power. Maybe even your power. Also, that modem is being rented.

So, let's say that I am a Comcast Xfinity client and I am renting the modem from Comcast. ($10/month as of this post.) I am paying Comcast for the modem and providing the power for that modem, so that Comcast can sell bandwidth on that modem!

This sounds silly! But, that doesn't make it any less true.

But, wait there's more?!?

There is more! Comcast is now in the Mobile business. This means that Comcast mobile phones can route traffic over the modem that I am renting and for which I provide power. 

So, my money is being leveraged by Comcast?

It sure is! What's more, if Comcast isn't already routing calls over those WiFi connections, it's a safe bet they will do just that in the future! And, why shouldn't they? It costs them NOTHING!

I don't like this, what can I do?

Well, if you're a Comcast client and rent a modem, you can buy your own. Amazon, Staples, Officedepot, BestBuy, Walmart and Target all have them. You can get a separate modem and WiFi router. Or, you can get an all-in-one. 

I want my own modem. But, I'm not a techie!

Pay someone to do it! Don't even purchase the equipment, yet. Let them help you find what you need. If they sell parts, great! Buy them! Otherwise, let them provide you with a list of what you need and then have them install the equipment once it has arrived.

Don't buy the oldest/cheapest equipment!

Odds are that you don't need the biggest, baddest, fastest and most expensive modem and router. But, don't go with the oldest/cheapest available either. You don't want to have to replace it that often. So, get equipment that will do more than you need. This way, when Comcast increases the speed of your connection, you'll likely be ready for it. Just don't break the bank!

I like to look at the cost of the suggested modem (be it modem only or with WiFi router) and divide by the amount I pay for modem rental. This tells me how long it takes to pay for itself. An $80 modem, for instance, takes 8 months to pay for itself. Not bad, given modems can operate for 1-5 years, sometimes longer. The savings can add up!

If you decide to go with a separate WiFi router, I don't recommend including that cost with the cost of the modem. Why? Well, in my experience separate routers are replaced far less often than the modems to which they are connected. I have 10 year old routers that are just now getting to the point that they can't keep up with my internet connection speed.

CONCLUSION

I don't have a problem with Xfinity/Comcast expanding their WiFi network through Comcast provided equipment. However, I don't think I should be footing the bill! And, I don't. And, I don't think you should either.

Thursday, August 10, 2017

Jamie and the Argus-nauts...

So, I was cleaning out my Inbox a few months ago and ran across an email from Reolink. This email caught me a little off guard. It seems that Reolink had designed a new digital security camera, not surprising as this is kinda what they do. They called it the Reolink Argus and this camera was different. This camera was WiFi, ok no big deal. It was rated for outdoor use, still not exciting... Ah, but it was also battery operated. OK! Now they had my attention! So, I went to Indigogo and got in on the Early Bird special.

Then, I waited. I waited some more. And, more.... Then, it finally came.

Now that I've used it for a few weeks, let's talk about it!

Batteries... Wait, did you say batteries?... Really?!?

Yes, batteries. Now, let's go ahead and ask the question: 

How can the batteries possibly last long enough for the camera NOT to be a nuisance? 

Well, the answer comes in three parts. 
  1. They made the electronics as efficient as possible. Yup, it turns out that when you plug most of the wholes, the ship sinks a lot slower. Same with the economy of electricity. When you don't waste stored energy, it's there when you need it and for longer.
  2. It's passive. The passive infrared technology employed allows the camera to "see" motion without the entire camera being on and drawing power. This means that the unit can stay in a super-low power mode until it's actually needed.
  3. It uses 4 CR123a cells each offering a whopping 1.5Ah of juice @ 3v. Now Amp Hours may not mean much to you. But, just know that it is a measure of available power over time and that the average 9v battery offers about .5Ah. This means these little batteries have a lot to offer in the way of power over time.

So, it is efficient...

Great!

But, passive?... Hmmmm... What if I want to see what's going on now?

No problem. Just open the app on your favorite smartphone or tablet and see what's happening. If you have access to the internet, you can see what's happening. But, keep in mind that the more you watch live, the faster you drain the battery.

Alright, passive is efficient... But, just how efficient is efficient?

Well, these cameras will not perform well in high traffic areas and the website advertises up to 180 days in standby mode. But, standby mode? Really? Let's face it! I'm not putting up a security camera to see what's not happening. I'm putting it up to see what is happening! So, what are we to glean from this? Well, now we have to get anecdotal...

I mounted Eve (to me, the Argus looks like Eve from the movie Wall-E) over my back door approximately 3 weeks prior to this post. I would say that the unit is motion triggered 4 to 8 times per day and the battery level still seems to be at full charge. Of course, the level can't be 100%. But, the power used so far seems negligible. So, while I can't tell you how efficient it is, I can say that it seems pretty impressive, so far.

OK. But, it's not a normal battery.

This is true. The CR123a is not your average consumer battery. That said, it's not exactly hard to find either. A quick search on Amazon showed a 6-pack of AmazonBasic CR123a batteries for under $10, if you use Subscribe & Save. That's not bad!

Don't like throwing batteries away? Well, Reolink says you can use rechargeable batteries if you so wish.

Enough with the batteries already! What about recording?

The Argus has you covered! While there is no internal flash for storage, there is a microSD slot that will accept a card up to 64GB. I provided Eve with a 32GB microSD and she's only used 3GB so far. Your mileage may vary.

So, is it hard to setup?

In a word, No. However, if you come from a security or IT background it is different than what you are likely accustomed. The instructions are easy, just follow them and you'll be fine.

Can I access the camera from my desktop?

Well, that's kind of a hard question to answer.... The practical answer is no. While, I've seen mention of accessing the Argus from PCs and Macs, as of this post I have not successfully done so. While this is not a deal breaker for me. I'd certainly prefer to download saved footage to my Mac, rather than my iOS or Android devices.

Will it notify me?

You bet! It can push notifications to the app on your favorite iOS or Android device. It can also email you a notification with the option of an attached image. However, I don't recommend using both at the same time as you could get double notifications on the same device. I found this very annoying.

So, where does it shine?

Well, virtually anywhere you point it! The Argus fills a very interesting and challenging niche. The unit allows for easy mounting just about anywhere and the only other requirement is Internet access via WiFi. In live mode you have 2-way audio capability. That's right! You can talk to the raccoon that is digging through your trash. And, for $100 per unit (includes batteries), that is amazing!

What's it missing?

Automatic LAN uploading

I'd like to see the Argus upload footage over the LAN via SMB, FTP or some other protocol. That said, I also understand that this could be very challenging to implement and retain respectable battery life. It is "Cloud Ready" and Reolink offers cloud storage. While, that's great for the non-techy types,  I'm not really interested in that. I want to store it locally, but still off camera.

Working Mac/PC Client

I understand that it is just too easy to walk away from the desktop while watching an Argus feed, unnecessarily eating up precious battery power. However, I think that the benefit outweighs the battery power potentially lost. I'm not going to blame Reolink if I kill the batteries through my own negligence.

Should I get one?

SURE!... IF:

  1. You have an iOS/Android phone or tablet.
  2. The mounting location is covered by WiFi.
  3. The mounting location has no access to AC power. 
  4. It will NOT be monitored frequently.
  5. It is covering a low traffic area.
  6. You have $100 to spend on it.

Folks, I'm happy!

I'm happy with the purchase. I'll be recommending the Argus to my clients. And, I'll likely buy another Argus for myself in the near future.

Friday, April 7, 2017

PHP to prune a Google calendar feed of unwanted events

Here is a little PHP script that I developed to prune unneeded events from a Google calendar feed.

// Set header for calendar and give it a filename
header('Content-type: text/calendar; charset=utf-8');
header('Content-Disposition: attachment; filename=modified_calendar_feed.ics');
 
// Download the calendar feed we need into a variable
$ics = file_get_contents('https://calendar.google.com/calendar/ical/
targetaccountnamehere%40gmail.com/public/basic.ics'); 
// Remove the useless header info (if this is not done, other Google accounts will not be able to add the URL)
preg_match('/PRODID.+?END:VTIMEZONE../s',$ics,$tz);
$ics = str_replace($tz,"",$ics);
 
// Grab the events and dump them into an array
preg_match_all('/BEGIN:VEVENT.+?END:VEVENT../s',$ics,$events);
 
// Step threw the events and remove any that don't contain the keyword/phrase from the feed
foreach ($events[0] as $event) {
if (!stripos($event,"
keyword/phrase the event must have if it is to stay in the feed")) {
$ics = str_replace($event,"",$ics);
}
}
 
// Send the modified calendar feed to the requesting device
echo "$ics";
 
// Destroy the variables before leaving
unset($ics,$events,$event)

Monday, March 6, 2017

HoSafe... You said what now?

In July of 2016, after months of issues with neighbors, I broke down and purchased an IP Camera from Amazon.com (HoSafe Camera Amazon Link). Now, to be totally fair, this was the cheapest IP Camera that met my criteria. Setting aside the absolutely hilarious name, the HoSafe 1MB6P met all of my requirements. My criteria were as follows:

  1. It must have POE capability.
  2. It must be able to live outdoors.
  3. It must have night vision with built in illumination.
  4. It must be at least 720p.
  5. It must be ONVIF compatible.
  6. It must be cheap.

POE

Power over Ethernet is very important. I'd rather run a ethernet cable from my network board the attic to a camera than run AC power. You see, a standard ethernet cable has 4 pairs of wires, only 2 of which are used for communication. The others are left unused in almost all instances. So, how do we use this to our advantage? Well, we run 48v across the other pair, of course. The POE camera steps down that 48v to use for powering the unit. So, one cable for both communication and power!

Outdoor

Well, this is kind of self explanatory. But, I wanted to mount the camera on the front of my house to catch the comings and going of my neighbors walking dogs. (Your dog. Your pooh. Take it with you.)

Night Vision

The chip inside security cameras that sense the light and, in the case of IP cameras digitize it, is sensitive to infrared light. That's right! The very light that we use to control our TV, DVD, etc. So, how do we record in dark or low light without mounting big flood lights? Well, we make sure the IP camera has IR lighting built in, of course. This light isn't good for huge distances, but I rolled the dice and ignored the advertised distance of the HoSafe.

720p

Any more, the "P" is mostly irrelevant. That is, the "P" (progressive) should really be assumed. What it means to us is there the image is divided into 720 lines. The more lines, the more detail. Also, when the number of lines goes up the number of pixels (single dot of the line) goes up too. So, this means more detail. In general, the larger the area you are covering, the more pixels necessary to be able to make things out in the video or images.

ONVIF

This is a tricky business. ONVIF is a lot of things. However, for my purposes the only thing that matters is the cameras ability to respond to ONVIF compliant requests for how to make a streaming video connection. This protocol (language) makes it easier for applications on a PC or recording devices to connect to the camera without a lot of technical knowledge required of the user. Now, I'm not allergic to technical specs and setup. However, cheap cameras (and some expensive ones) are notorious for not providing this type of information. So, ONVIF compatibility can reduce the time it takes to get things up and running.

CHEAP!

This unit was $39.99 on Amazon Prime (Free 2 Day Shipping!!!) at the time of the order. This was an excellent price for a unit that was 3 Stars+ at the time.

The Unit Arrives!

This unit came in DOA. It simply would not power up. This was very disappointing. However, upon close physical examination I found the issue to be a slice in the data/power cable attached to the camera. So, I returned it to Amazon as DOA for a refund and reordered another unit. Same model, same seller, Amazon Prime. I saw no reason, at this point to penalize anyone for the error. It could have been missed by the manufacturer. It could have been damaged by a botched installation and returned to Amazon. However, I decided to try again.

The Second Unit Arrives!

This camera was fine. It powered right up! Now, for the fun part!

The Configuration

Before we delve into the config. A little background. I don't like ladders. I don't like spending time on them. I don't like going up and down them when it can be avoided. So, when it comes to device installation that requires my using a ladder. I do all the configuration possible on the ground, usually at my desk, prior to mounting any equipment.

So, from my desk, I connected the HoSafe camera and it powered up. Cool! Now we can start the fun stuff. Being an IP camera veteran, with many installs of everything from FOSCAM to Panasonic cameras under my belt, I did what I always do. I jumped right in and started looking for the camera on the network so I could login to the web page to configure it. 

Uh... Yeah... and NO! That's a big negative, sir! 

This camera doesn't work like that and I wasted a nontrivial amount of time only to find this out. So, it really does pay to read the instructions sometimes. BLAST!

Anyway, once I reviewed the literature, such that it was, I discovered that the application that records the video also configures the camera. So, I installed the provided CMS application and configured the camera. It went smoothly enough, once I was on the right track.

The Installation

The camera came with everything necessary to mount and connect the camera (except the RJ45 connector, but I didn't expect this and neither should you) including weather proofing for the network connection. This is a big score! Not all manufacturers include this in the design, rather expecting the camera to be mounted to a weather proof electrical box, in which all connectors are contained.

The installation was simple and obvious. No instructions needed here! It went up quick with the provided materials and with no fuss.

The PC Software

The CMS software provided is ok. It's only ok. It's not awesome or astounding or even amazing for the price. It's just OK. It's rather like all cheap DVR/NVR software. It hits and misses, and is almost always lacking in an area that is important to the user. So, after playing with it for a few days, it had to go.

The Apps

The iOS and Android apps available specifically for the HoSafe are another story. They are... well, interesting. Like the CMS software, they didn't really work the way I thought they should. However, they did (and still do) work for what I wanted. I wanted to see my camera view from anywhere I have internet and these apps to exactly that. No muss, no fuss, and very little configuration, and absolutely no router port forwarding!

What?! No port forwarding? But how?!

Well, these units connect to a central server on the internet (probably in China). The apps connect to the same server. So, no need to do port forwarding (that can get incredibly tedious with multiple cameras). 

The down side? Well, you're being watched! Well, not necessarily. However, it is certainly possible. So, I don't know that I would want one of these in my house. But, if someone in China wants to watch what is happening in front of my house? Who am I to judge, or care?

The Pros

  • It met all my requirements: POE, Outdoor, Night Vision, 720p, ONVIF and Cheap. 
  • It goes beyond by providing a free iOS and Android apps and accompanying service to allow you to view the camera from just about anywhere.
  • The night vision works really well.

The Cons

  • The CMS software was a dud. Although not surprising, it is a bummer.
  • There is no config path for Mac Users. Internet Explorer and/or the CMS app are required for configuration and they are Windows only.
  • Config and install of the HoSafe 1MB6P is not for the casual user. Like most (if not all) IP cameras, it does require either experience or stubbornness. If you lack both, get help or get a different IP camera.

The Conclusion

The HoSafe 1MB6P works and it let's you view your camera live on an iOS or Android device from anywhere you have internet. While the CMS software is not ideal, it will record and store your camera footage. The ONVIF compatibility means you can use many third party apps and programs to both view and record if the provided apps don't cut it for you.

I have ditched the CMS software and have been testing both free and pay NVR software for recording and archiving. But, that is another story.

Tuesday, May 13, 2014

From Obi to Vestalink (formerly Obivoice)

So, I have had a Google Voice account for years. I have actually been using it as the "One Number to Control Them All..." for the last 2 years. In fact, I had been so pleased with my setup, that I got my parents an Obi last year and ported their number to Google Voice. A few months later, I did it for a client. Then, Google decides that the XMPP protocol that is used for Google Chat (and those evil free calling deals like Talkatone, GrooveIP and Obi) isn't big enough, doesn't have enough industry support, won't do what they want. In other words, they are taking their toys and going home. In this case, home is the new protocol they created for Hangouts.

This means that I have to come up with a solution that uses the Obi equipment and works seamlessly with Google Voice. I don't know about other users, but I find the idea of leaving Google Voice voicemail about as appealing as replacing sugar with saccharin. Yeah, they are both sweet. But, you know which one is the sugar, don't you.

So, after looking at pricing, reviews and features, I settled on Vestalink. I could go probably give an account of how I decided. But, if it's that important to you. Do the research yourself. It'll be good for you.

Spoof the Caller ID first:
The process of converting my parents' Obi to Vestalink went flawlessly. Except for one item. If I had to do it all over again, I would Spoof the Caller ID before running the Obi setup script. Since I programmed the Obi before spoofing the Google Number, I had to login with a GrooveIP client to prove "ownership" of the Google Voice number. Not such a big deal, but easily avoided by Spoofing the Caller ID prior to running the Obi setup script.

7 Digit Dialing:
The one real complaint I have with Vestalink is they don't show you how to setup local 7 digit dialing. Or, BETTER YET, make it a part of the Obi setup. So, below I have a Digit Map that makes it possible.

Login to the Obi and pull up the User Settings > User Defined Digit Maps

Change Map 1 to:

Label Mipd
DigitMap    (<1aaa>xxx xxxx|1xxxxxxxxxx|<1>[2-9]xxxxxxxxx|011xx.|xx.|(Mipd)|[^*]@@.)

Just copy and paste. Make sure you replace the AAA with your Area Code. That's it!

Now, your mileage may vary. Make sure you keep a copy of the original DigitMap in case this one doesn't work for you. USE AT YOUR OWN RISK!!!!

Monday, August 17, 2009

Word and Spell Checking Redux

In the last installment, I shared an uncommon issue with spell checking in Word documents. I also shared a solution, however unsavory and tedious it may be. To recap, from time to time one may run across documents in which proofing (spell and grammar checking) is disabled in certain pages, sections and/or paragraphs.

This may be overcome by marking the problem area and selecting "Clear All Formatting" under Styles and then reformatting. While I admit that this solution is not ideal, it is certainly better than reformatting the entire document.

My approach with to the problem was the same as my approach to any other. Once the problem is identified, find a solution quickly. This solution is not usually going to be easy to implement. However, it is always workable. Once that workable solution is discovered, pass it on to the users that need to use it. This is usually met with groans, but again, it is a solution.

Then, the real fun begins. Since the users have a workable solution, I can work on a solution that is more elegant, easier to perform and implement. In this case, a macro! That's right, a macro. It turns out that the macro solution for this particular problem is, well, really short. One line of code, in fact. Create a new macro called Enable_Proofing and add the code:

Sub Enable_Proofing()
'
' Enable_Proofing Macro
'

ActiveDocument.Content.NoProofing = False

End Sub
Simply add this macro to your Normal.dot template so that it will always be available. No style clearing or reformatting required. The macro simply removes all NoProofing flags from the active document.

I love it when a plan comes together!

Friday, August 14, 2009

Word and Spell Checking

I am currently working in an office environment that has ALOT of legacy documents. What do I mean by legacy? Well, I mean we have alot of documents that were created in older versions of Word and are still used and updated with new information. All of the legacy documents were created with Word for MAC OS 9. Yeah, you read it correctly... OS 9!

So, we have all these documents and they have been modified, folded, spindled and mutilated with various versions of Word on both OS 9 and Windows. This has led to some very interesting issues. (By interesting, I mean very annoying.)

The biggest problem we have is some parts of some documents are excluded from spell and grammar check. Now, I can do without the grammer check. But, I NEED the spell check! This is a major problem, because it is not the document as a whole that is excluded. Only certain portions of some of the documents. It could be a paragraph, a table, a section or even a page. But never the whole document. This makes things very difficult.

However dim it may be, there is a light at the end of this particular tunnel and you don't have to recreate the entire document. If you are having a similar problem there is a way to get rid of these codes that are in the document, but you do not have direct access to. Believe it or not, you can mark the text in question and choose "Clear Formatting" from the Styles drop-down and this will get rid of those nasty little invisible buggers!

Why not just change it to another Style directly? Well, you can. But, if you don't clear all formatting first, the coding for ignoring the spell and grammer checking will remain! So, clear the formatting and then reformat the text to the needs of the document.

So, armed with this new found knowledge, go forth and fix those legacy documents! Show them that you're the boss!