Entries Tagged as 'Communications'

Email Addresses

Ever go to a web site to enter your email address and find that it wouldn’t fit in the field they provided?

It’s amazing in a world of standards that companies (and individuals) continually ignore them and decide for themselves what’s acceptable.

HELLO!

User names (or local part of the address) can be 64 characters long, and domain names can be 255 characters long.

Here is an example of a reasonable well written validation for email addresses — if you want to see poorly done ones in action it doesn’t take too much effort to find ones that limit the entire email address to less than 30 characters!

<?php function isValidAddress( $email, $check = false )
{
##############################
# PHP Email Address Validator
# (C) Derrick Pallas
#
# Authors: Derrick Pallas
# Website: http://derrick.pallas.us/email-validator/
# License: Academic Free License 2.1
# Version: 2006-12-01a
if (!ereg(”
. ‘^’
. ‘[-!#$%&\’*+/0-9=?A-Z^_a-z{|}~]‘
. ‘(\\.?[-!#$%&\’*+/0-9=?A-Z^_a-z{|}~])*’
. ‘@’
. ‘[a-zA-Z](-?[a-zA-Z0-9])*’
. ‘(\\.[a-zA-Z](-?[a-zA-Z0-9])*)+’
. ‘$’
, $email
) ) return false;
list( $local, $domain ) = split( “@”, $email, 2 );
if ( strlen($local) > 64 || strlen($domain) > 255 ) return false;
if ( $check && !gethostbynamel( $domain ) ) return false;
return true;
# END
######
}

RFC822 superseded by RFC2822.

User names (for email) may contain:

  • A to Z letters, upper and lower case.
  • 0 through 9 digits
  • . (fullstop, period) but not as the first or last character
  • ! # $ % & ‘ * + – / = ? ^ _ ` { | } ~ – all are permitted.

The maximum length of the user is 64 characters; the domain is 255 characters; so with the @ a valid address could be up to 320 characters.

Further, did you know that user names are case sensitive (but domain names are not).  Of course many email systems treat user names as case insensitive.

For information on domain name limitation you should see IANA.

Now you know more than most developers who write code that accepts or uses email addresses!

Originally posted 2008-08-25 22:12:27.

4% of the Market; 50% of the Profit

Apple’s iPhone accounts for only 4% of the cellular handset market for “feature” phones, yet account for 50% of the profits…



asymco.com

Originally posted 2010-11-29 02:00:46.

SyncMate – Expert Edition

Several weeks ago I took a look at the free edition of SyncMate, and I had some fairly good things to say about it.  In fact, I was so impressed with it that I started using the free edition to synchronize my Windows Mobile device.

Eltima Software contacted me and offered me a license for the expert edition to enable to me more fully explore the capabilities of it (and to write a more in depth post about it).

I agreed, and here’s what I found…

I decided that this would be a fairly comprehensive test; it would involve a number of different operating systems, and synchronization environments.

The operating systems I tested were:

OS-X 10.6.1 (32 & 64 bit)

Windows 7 (32 & 64 bit)

Windows Vista (32 & 64 bit)

Windows 2003

Windows XP

Windows Mobile 6.5 (HTC Touch Pro 2 – XV6875)

Windows Mobile 5.1 (MotoQ)

Outlook Look 2003, 2007, 2010 on the PC

Entourage 2008 on the Mac

Windows Contact / Windows Calendar (on Vista and Windows 7)

Live Contacts / Live Calendar (on Windows XP, Windows 2003, Windows Vista, and Windows 7)

FireFox (Windows)

Safari (Windows and OS-X)

Additionally I took a quick look at iTunes and iPhoto (even though I don’t use either of those normally); and I took a quick look at Google synchronization (including synchronizing to an Android handset).

It’s a long list, and I assure you that the coverage of the tests were not exhaustive — but rather concentrated on suites of versions that would be most commonly found together (though I have a reasonably good feeling that unless there were some real flukes, the sample of tests I performed are probably indicative of all combinations).

My first test was to synchronize my Mac Book Pro with my Mac Pro… I’ve never really put any effort into making sure that the contacts and such agreed between the two, so I install unlocked the free version of SyncMate I’d installed on both and proceeded to enable all the plug-ins.  After fighting with both iPhoto and iTune (you wouldn’t need to worry about that if you actually used them they would have already been setup and ready to sync). the little spinners started and in just a few minutes I had everything on both machines (which also included all the calendar and contact information I’d gotten from my smart phone to start with) in sync.

I went ahead and disabled iPhoto and iTune for the rest of my tests — I’d seen it work, and certainly synchronizing those would easily be covered with the folder synchronization (which was a more generic test — but of course it was nice that the iTunes/iPhoto sync could be enabled with a simple click).

I decided next to see what the various versions of Windows and Office Suites would do… so I brought up virtual machines using various OS images and installed versions of Office in them.  I setup the Windows component of SyncMate and then decide to just do everything at once — so I added all the machines to SyncMate on the Mac Pro and hit the sync button.

It took a few minutes, but then on every machine in either (or both) the Windows Contacts and the Outlook Contacts there was a full copy of my contacts; as well as files I’d put in a test folder.

Things were going very well, so now I turned to a couple Windows Mobile devices.

Both were easy to setup via USB, and both synchronized perfectly (frankly I was a little surprised when the MotoQ running Mobile 5.1 worked as well as it did).  So then I tried WiFi sync on the XV6875 — worked just fine (there’s a nice feature of the SyncMate driver on the WinMo device that will tell you the IP and name of the device if you need).  Next was Bluetooth synchronization… and unfortunately I wasn’t able to do that on either device — during setting up the connection I kept getting “Uncompatible Device” (a newer version of SyncMate has corrected the awkward english construction; but unfortunately I still cannot use Bluetooth synchronization with either my XV6875 or Q), so I’m not exactly sure what the problem is, but I would consider Bluetooth synchronization more convenient than WIFi — though I generally use USB since I can charge the device as well.

Then I decided to try a few more scenarios from the SyncMate feature list.

Folder synchronization with a USB flash drive worked perfectly.  And from that I’d be fairly confident that iTunes/iPhoto/folders could be synchronized to any USB (disk) device.

Google synchronization worked just as documented; and synchronizing an Android handset with Google just happens (all you have to do is enter you account information into the handset and enable synchronization).

Here a few comments on individual features…

Call history and the SMS manager are both very nice features of the expert edition… I’m not sure it’s sufficient motivation to pay for an upgrade, but it certainly is a sweet feature.

Mounting a Window mobile phone as a USB disk is a feature that didn’t make much sense to me; my XV6875 has the ability to select whether or not it makes an ActiveSync style or USB drive connection when you connect it; though on an older device like my MotoQ it does let you see the file system on the Mac much as you would on a Windows desktop.

Time synchronization is another feature that just doesn’t make sense; all devices get synchronized to the network (and thus to atomic clocks) so I see little value (and a number of reasons not to) synchronize them to each other and defeat the mechanisms already in place (if this were a camera, not a cellular phone I’d consider this a plus — but I’m going to say this feature should be removed; and certainly not used).

As noted before, synchronization to Windows Live isn’t support (and since this is a Mac centric product I don’t think that should come as a surprise — but, of course, some people who have Windows Mobile phones may use some of the Live services).

One thing I haven’t really covered to this point is how you setup a sync partner in SyncMate; and I guess I haven’t focused on it because it’s fairly easy, and definitely straight forward.  It isn’t “automatic” (and I actually consider that a plus — I absolutely hate ActiveSync trying take ownership of a device I just want to attach once).  A nice touch to the way you add a partner is that you can both name it, and include an image for it (though it might be a little nicer if Eltima included more stock images with SyncMate, or created a web interface to find images of handsets — but I just downloaded one of each of my phones and then used that).

The number one quality of SyncMate is that it works — and by far and large it works as advertised.  In this round of tests I didn’t have any instability in the version of the Windows sync driver I installed (unlike in the previous tests where I did have some issues with the Windows sync driver crashing).

One feature I felt might be interesting for Eltima to add would be a “mesh” type synchronization — really all they’d need to do is have an ability to synchronize the partnerships between Mac hosts (ie — all the synchronization partnerships I entered on my Mac Pro could instantly appear on my Mac Book Pro the next time the two machines sync’d — and then conflicts would just be handled throughout the mesh on a peer-by-peer basis just as they are now).

As I’ve stated previously I find the price a little steep — but you and your wallet will have to decide for yourself…  If you like the free version, and have needs for some of the additional plug-ins; I suspect you’ll be favorably impressed by what you get once you purchase a license.

Eltima Software
SyncMate

Originally posted 2010-07-26 18:04:01.

HTC Touch Pro

I’ve admired HTC cellular (PDA) phones for a very long time… their cost, though, has always made me choose an alternate.

With the release of the very popular Touch Diamond and Touch Pro (Windows Mobile 6.1) phones has come the opportunity to buy one at an aggressive price ($200 with no contract if you shop wisely on Craigslist).

Most all of the HTC phones are hackable, and there’s a large community preparing custom ROM sets for them.

You’ve never seen a HTC phone?  Well, you may not have seen HTC’s phones, but you’ve probably seen a derivative of their Touch Flow 3D interface… whether they’d like to admit it on not a company in Cupertino popularized that type of interface on a phone they sell in the US through AT&T.

You can check out HTC’s site (URL below) for a list of all the various handsets they make (and not all of them are Windows Mobile — you might notice they also make the Android based G1).

I purchased the Touch Pro because it has both a touch screen and a keyboard… it’s a little thicker than the Diamond Touch, but I’m just not willing to give up on the keyboard yet — but I wanted a touch screen to make browsing the web a little less tedious.  And with Windows Mobile 6.1 you can internet connection sharing built in (so you can tether you notebook very easily without paying any additional fees).

One of the first things you’ll want to do (even if you’re not changing phone carries on the handset you get) is unlock your phone… primarily so that you can flash a custom ROM in that matches your own tastes (you can even customize many of the ROMs yourself).

Touch Flow 3D is wizzy and cool… and will amaze your friends, but let’s face it — isn’t battery life and functionality more important?  And simplicity goes a long way in making the phone more practical for everyday use (after all, you’re probably going to use it as a phone most of the time… or not).

At the moment I’ve got Mighty ROM loaded in my handset; it’s fairly clean, fairly light-weight; and works… I’ll consider upgrading to a Mobile 6.5 versions once those are more stable, and I might consider customizing my own ROM to remove a lot of the apps I don’t every intend to use.

By-the-way, one of the things you may find you no longer need if you go to this phone is a GPS… you can run Google Maps on it, but that requires you have an active internet connection (and that doesn’t always happen in many places), I also loaded Garmin XT on my handset, so I basically have a Garmin GPS with access to Garmin Live (weather and gas prices, I think you can pay a monthly fee for traffic, but there’s no traffic in my area).

All I can say is it’s a GREAT phone, and a wonderful PDA… and my feeling is HTC has gone a long way towards providing us with a convergent device.  Microsoft is rumored to be working on their own handset; let’s hope they’ve studies HTC and will leverage off their design.

The only negatives are battery life (always an issue with a PDA phone, but far less of an issue when you can Touchflow 3D), and radio quality (I suspect that has to do with the way they designed the radio — it’s certainly adequate when cell coverage is reasonable, but you might not get good reception in fringe areas).

http://www.htc.com/us/

Originally posted 2009-06-10 11:00:22.

SSH Login Without Password Prompt

Often you have a set of machines you trust implicitly and you’d like to make ssh logins and scp copies less tedious by not having the system prompt you for the password.  It used to be incredibly confusing to manually setup and install the keys on remote machines, now, though with OpenSSH it’s gotten a lot easier.

The first thing you need to do is create public and private keys; to do that you use ssh-key-gen on your machine (you’ll either need to be on the console or have previously made a ssh connection).

For this example, the “local” workstation will be superman, and the remote server will be aries.

roger@superman$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/roger/.ssh/id_rsa):
[Press Enter Key]
Enter passphrase (empty for no passphrase):
[Press Enter Key]
Enter same passphrase again:
[Press Enter Key]
Your identification has been saved in /home/roger/.ssh/id_rsa.
Your public key has been saved in /home/roger/.ssh/id_rsa.pub.
The key fingerprint is:
de:ad:be:ef:01:02:03:04:05:06:07:07:09:0a:0b:0c roger@superman

Then we need to copy the public key to the remote host using ssh-copy-id

roger@superman$ ssh-copy-id -i ~/.ssh/id_rsa.pub aries
roger@aries's password:

Finally, we can log onto the remote machine without a password

roger@superman$ ssh aries
Last login: Sun Jan 2 12:12:12 2011 from superman
roger@aries$

You can take a look at the key files that were generated; you can use ssh-copy-id to copy the keys to as many machines as you want; and you can use the same private key file on each of your machines to allow for more seamless access; but you should be aware that you should only place your public key on machines you trust.

NOTE:  If you use ssh-agent (and ssh-add) to manage keys, ssh-copy-id will attempt to access the key from ssh-agent.

Originally posted 2011-01-04 02:00:12.

Domain Registrars

In going through looking for a new domain hosting company I also looked to see about costs for domain registration.

I can certainly tell you that all my domains will remain registered at 1and1.  I will be switching from a hosting package to their “instant domain” package (it’s free; but it does in fact have more than just basic registrar services).

Why?

Well, 1and1 isn’t quite the cheapest domain registrar (you can save a little with a few of the others), but 1and1 offers private domain registration at no additional cost.

A private domain registration does not publish your personal and confidential information in the ICANN database, so marketers cannot get your phone number or address.  It does publish an email address that will forward mail to you; but you can easily filter mail coming from that address (it’s likely SPAM) or change it occasionally (make the domain public then immediately private and it’ll generate a new email address — it would be nice if they just let you enter an email address).

Also, I’m not sure it isn’t a good idea to keep your domain hosting and domain registration separate — that way it’s much harder to fall into a trap (though we have to hope that the companies we use for either of those services are reputable).

Originally posted 2010-02-08 01:00:21.

iMessage

OK — what the hell is all the excitement about iMessage?

I’ve read several “technology” articles on iMessage proclaiming it’s something new and special…

Last time I checked, Google Voice provided free SMS services that you could send messages to other users of Google Voice or any cell phone user for free… iMessage seems to be a rather poor entry into the market, and is better compared to existing instant messaging (IM) services (like AIM, Yahoo IM, Live IM, GTalk, etc) than a text (SMS) messaging service.

I fee too many of the “technology” reviewers have simply drank the Apple Kool-Aid and fair to provide the public at large with reasonable accurate information that’s unbiased.

Oh what – I’m talking about the media; what was I thinking — of course the information is biased, that seems to be the only type of information the media is capable of providing.  If you thought the government was run by big business and Wall Street, that’s nothing compared to the news media.

While Google Talk numbers have been limited in the past, you should be able to request an invitation and sign up for the service — and if you have a browser, you can use it (if you have Android — there’s an App for that).

Google Talk

Originally posted 2011-10-14 03:00:14.

Is The Wall Street Journal a SPAMmer?

Well, at the moment that appears to be the case.

I got an email on Thanksgiving with the subject:

The Wall Street Journal. $1.99/wk. Get the REAL Bailout news…

From what appear to be a professional SPAMmer (chargecarde.com) — and I say professional SPAMmer since the return address in the email was set to my own email address, not theirs.  My SPAM filters caught the email, but I go through the SPAM on occasion just to see what unethical businesses would resort to such tactics during hard economic times.  After all, big business never really cares about the consumer or the law — they only care about what makes them money and what they can get away with.

The laws of the State of California make sending unsolicited commercial email (aka SPAM) illegal — and of course theft of service (you pay for your internet service) is illegal in every state.

As I said almost twenty years ago when the SPAM epidemic was on the rise; we must fight back, we cannot support SPAMmers or those who support SPAMmers.

Take a minute out of your day, and from a “throw away email address” write The Wall Street Journal and let them know how you feel about SPAMming and SPAMmers — here’s some email addresses for you (normally I wouldn’t include mailto links, but I have no issue with SPAMmers getting their email addresses harvested by SPAMbots).

And make sure you avoid doing business with:

wsj.com
The Wall Street Journal
4300 Route 1 North
South Brunswick, NJ 08852

or

ChargeCarde.com
SPUR Media Group
PO Box 99
Fortson, GA  31808

I will share any and all responses I get from The Wall Street Journal, SPUR Media Group, or any agent representing either; and will continue to consider legal action to recover damages under California Business and Professions Code Section 17538.45 and potentially Chapter 19 of the Revised Code of WA, RCW 19.190 (since I also have a legal presence there).

 

NOTE:  It’s been over a week since I contacted The Wall Street Journal about the email I received on their behalf; I’ve yet to get a reply, so it would appear that The Wall Street Journal intended that the email be sent and understand that they violated the law.  So in fact the Wall Street Journal is a SPAMmer.

Originally posted 2008-11-28 12:00:16.

How To Bid On eBay

Let me start by saying this isn’t eBay for dummies — you should familiarize yourself with the basic operation of the eBay web site through another resource.  What I hope to provide you with is a rational for how to bid successfully on eBay to enable you to purchase items at a fair price.

Let me start by prefixing all of this with the statement that what eBay has tried to do is create the feel of the type of auction commonly refereed to as an “Open Ascending-bid Auction”, also known as an “English Auction” — though they have modified it slightly to have a time limit rather than just go until their are no more bidders.  You can read many resources on auction types if you’re interested; there’s actually a body of game-theory that covers auctions for those so inclined.

Before we digress too far off topic…

First you need a little background on how eBay’s proxy bidding works, and an understanding that if everyone were to just enter in the actual price they were willing to pay when they first bid that would be all you’d need.

What happens on eBay when you enter a bid is fairly simple — eBay records the maximum amount you’re willing to pay for the item, and then will automatically bid as much as needed to satisfy the bid rules.

So if there are no bids, eBay will place a bid for you equal to the minimum bid set when the auction was created.  If there is already a bid, eBay will place a bid for you equal to the lesser of the maximum you set for your bid or the current amount plus the bid increment (which varies based on the current bid — it increases as the amount of the current bid increases).

If two people were to set the same maximum bid, the person who placed the bid first would be the one to have his bid recorded.

Like I said, if everyone just entered in what they were really willing to pay then that would be it, and when the auction closed the person who was willing to pay the most would win the auction.

But, that’s not how it really works out.

You see, people aren’t always honest (even with themselves), and people like to play games (even with themselves), and people always like to get a steal (or read that as great deal if you like)… and of course, people are emotional (so they get caught up on the splendor of the train ride — even when it’s clearly going to wreck).

So, what many people do is record a bid for the amount that they’d really like to get the item for — even though they are willing to pay (significantly) more.  That means that lots of people are continually upping their bid as they get outbid, and because they see other people “wanting” the item, they get caught up in a frenzy that they often loose control of… and end up paying more than they actually are comfortable with.

Remember, no one forces you to keep bidding — and no one forces you to watch the train you’re on slam head on into another (in fact, you’re free to jump off).

If you’re head is spinning — or you’re saying that I would never do that (many call that doing the back-stroke in that famous river in Egypt — d-Nile, or denial if you like) then you’re just an average Joe trying to win an auction on eBay.

I’m not here to slap anyone on their wrist; if you want entertainment, excitement, need to fill your copious amounts of free time, and don’t mind spending more than you’re comfortable with — by all means, keep getting caught up in the emotions of “winning” a bidding war; but if you’re just looking to get things you want/need at a reasonable price — read on.

How to bid on eBay…

You could use eBay exactly as it’s designed.  Just place an initial bid for exactly what you’re willing to pay for the item and be done with it.  Don’t watch the auction, don’t enter in any more bids… be content with your honesty (and do something more useful with your time).  But you’re not going to win very many auctions — in fact you’re probably just going to fuel the fire because of the interactions of eBay’s proxy bidding and people who have got caught up in the frenzy of bidding.

So how to bid on eBay successfully…

The answer is easy, you snipe.  Basically sniping the auction turns the English Auction into something more resembling a First-Price Sealed-Bid auction (at least from your view point).

Wait, what is a snipe?

Well, a snipe is a bid placed at the last moment.  Sniping basically allows you to place the bid you would have right away at the very end of the auction, giving other bidders no time to respond to your bid — and forcing the eBay proxy system to do it’s job without creating a frenzy of bid-and-re-bid.

There’s nothing wrong with sniping; in fact all you’re doing by sniping helping prevent other bidders from getting carried away with bidding.  It doesn’t make it any more likely that you’re going to get an item (if there are wild bidders — they may have driven the item up well beyond what you’re willing to pay long before the last few seconds of the auction).  And the number one thing it will do for you is prevent you from getting caught up in the bidding war and paying more for an item that you’re interested in.

You can bid by hand; just open up the auction; actually open up two copies of the auction, one to watch the count down clock, and in the other enter the maximum amount you’re willing to pay and click to the confirm dialog.  When the count down timer reaches under 10 seconds, submit your bid (you may need to submit earlier if you have a slow connection — and you may be able to time it to less than 10 seconds if you have a very fast connect — but remember as long as the amount of time left is less than the reaction time of a human being you’re not going to be fueling the frenzy).

Obviously sniping by hand is tedious and time consuming… so there’s automation to help you out.

JBidwatcher is a Java based tool that you can run on Windows, OS-X, or Linux desktop (or server) that will attempt to snipe auctions for you from your local machine.  Which means you need a stable internet connection and you computer has to be on and JBidwatcher has to be running.  It’s totally free, and works fairly well.

GIXEN.COM is a web based system.  It’s totally free, and works fairly well.  There is no limit to the number of auctions you can snipe; but there is a $6 per year upgrade that will give you redundant servers to place your bids (decreasing the chance of not getting you snipe in).

There are also a number of other systems that charge — perhaps they’re better, perhaps they’re not… but these two certainly work well enough for you to use to develop an understanding of how to effectively bid on eBay.

While I’m giving you the 4-1-1 on sniping, I should mention that there are two basic types of snipes — individual item snipes and group (also called multi) snipes.

In an individual item snipe it’s easy to understand — you enter a bid for the item in question and your bid is placed a specified number of seconds before the auction closes.  If you have the highest bid at the end you win, if you don’t you don’t — and it’s over and done.

In a group snipe you actually bid on a series of items (generally related — but I guess you might also use it for budget constraints).  You enter a separate bid for each item of interest in the group.  The sniping system will place your bid on the first item — if you win, it cancels all the remaining snipes in the group; if you don’t win, it goes on to the next item in the group.

With group snipes you have to be careful that there is sufficient time between the ending time of two auctions for items of interest for the sniping system to handle it (most systems will flag auctions that may be a problem and allow you to decide if you want to take the potential risk of winning both… obviously that’s a bigger deal than missing the second).

Also, most sniping systems let you have as many individual snipes or group snipes as you want (you have to be careful not to have the same item in an individual snipe and a group; or in multiple groups).

Also, most sniping systems will handle auctions that have multiple items available (in other words, it will place a bid for the amount and quantity — eBay’s proxy bid does most of the work).

Sniping might seem like it’s a lot of work; but actually it makes bidding easier in the long run, and more effective.

Remember, if you don’t win an auction sniping it’s not (generally) because the sniping system didn’t do it’s job — it’s simply because you weren’t willing to pay as much as someone else… in fact by sniping you’re increasing your chances of winning an auction at the price you’re willing to pay.


Let me remind everyone that I am not a fan of eBay / PayPal — I consider them companies of questionable ethics at best.



eBay Sniper

http://www.gixen.com/

eBay Sniper
http://www.jbidwatcher.com/

Originally posted 2010-10-08 02:00:32.

Color Nook

Barnes and Nobel showed it’s color Nook Tuesday in San Francisco – the press seems to like it; 15.8 oz, 7” screen, 8GB storage (plus uSD slot), WiFi, uUSB power, Android based…  available for pre-order on 19 Nov.

Not clear that you have access to Android marketplace, but it sounds like it (since there were references to installing games and such on it)… this could be real competition for the iPad (and the Kindle).

Barnes & Noble Nook

Originally posted 2010-10-26 20:00:42.