Entries : Category [ Computers and Technology ]
[Miscellaneous]  [Computers and Technology]  [Travel]  [Education]  [Hacks]  [Robotics]  [Science]  [Programming and Software]  [iPhone]  [Digital TV and Video]  [Intellectual Property & Copyright]  [Personal] 

03 July
2012

Last week was the International Symposium on Experimental Robotics in Quebec City, for which I was one of the organizers. I am happy to report that the conference went off very well. Now there is a painful process of making sure all the accounts balance, and maybe chasing down a few truant registrants, but all in all it was quite smooth.

There were a lot of cool talks ranging from haptics to language-based navigation, and no bloopers at all. What a joy.


By Gregory Dudek at | Leave a comment |    
23 December
2012

Try gregs-gsm-test.py for testing cell phone modules

You can readily purchase stand-alone GSM/GPRS modules that provide cellular network access for computer applications without the involvement of any traditional cell phone. This post briefly discussed these modules and puts forward by little tool for debugging or evaluating them.

I was looking at using such a module to let one of our robot vehicles literally phone home if it becomes lost. Several such modules are available, either as stand-alone cellular modems, or with additional computing integrated in the unit. One of the most full features is the Telit GM682-GPS that combines a cellular modem with GPRS (Internet access including a TCP stack), a GPS receiver, a microprocessor, and an embedded Python interpreter (this device also has many variants like the GM682-QUAD). Unfortunately, the GM682-GPS seems to have become hard to find.


Command protocol



These modules seem to almost universally use a protocol derived from the very simple one developed by the Hayes Microcomputer Products company for analog telephone modems, back in the 1980's. This "Hayes protocol" uses a set of short commands that each start with AT to control the modem. In fact, even in iPhone uses a variant this protocol to talk to its internal modem.




GSM modules for sending SMS or making cell phone calls. Telit 682, ADH9066 and SM5100B modules shown



GSM modules for sending SMS or making cell phone calls. Telit 682, ADH9066 and SM5100B modules shown (click to enlarge)






Unfortunately, although the generic command set for various modem devices follows a common template, each manufacturer is free to add extra commands or implement only a subset of the common core. As a result, each GSP modem I looked at really needed a distinct set of commands to work best.

Another annoying issue is that many of these models are GSM/GPRS only. Phone services and modems about that claim to be GPRS/3G/UMTS/HSDPA, as well as 3G, 4G, LTE and more alphabet soup, but these terms are often used imprecisely and inaccurately and, in fact, it's very hard to be sure if a company that supports HSDPA actually supports the simpler older 2G GSM protocol as well (e.g. Canada's Telus supports HSDPA but not GSM).

Alternatives and issues



The three I think are the best contenders for use in our systems as the Telit GM682-QUAD, the AHD ADH8066 and the LinkSprite SM5100B. These all do GSM 850/EGSM 900/DCS 1800/PCS 1900 and can send SMS messages, do GSM/GPRS, TCP/IP and voice.

For use in embedded systems, it should be noted that the power use by these modules can shoot up to a heft 2 Watts when data is being transmitted. The SM5100B, for example, can run just off powered only off a USB cable until to attach a good quality multi-band antenna, and the it will probably just shut down as it attempt to actually register on the network.

Importantly, the baud rate might need to be specified correctly; common values are 9600 and 115200. Also, the radio band to be used is critical and on at least one unit can only be set using a command that is not properly documented! Testing and adjusting these features was a bit tedious.

My program for evaluating a module: gregs-gsm-test.py



In attempting to evaluate these units, I also found many users on the net have trouble configuring them initially. The first time I touched one, it took a while before I figured out which sequences of commands was useful, and how to evaluate the unit. As a result, I created a small Python program (gregs-gsm-test.py) that uses the somewhat standard command vocabulary to determine the baud rate for a module, check out that it is working, and examine a few features.

In it's current state this program is overkill for just testing my modules, but it also
should be useful to others. New versions can be found here named
gregs-gsm-test.py and (maybe) updated occasionally.

The version number of the most recently released version can be found via this link.


Typical program output




python gregs-gsm-test.py -
2.2 Copyright Gregory Dudek (c) 2012.
gregs-gsm-test.py using /dev/tty.usbserial-A10137IB

Seek device ID (being thorough, so it will take a few seconds)
Spreadtrum Communication CO.,Ltd SM5100B-D

SIM card status READY

Signal strength (RSSI): 14
Setting message format for text style.
['OK']

Network registration status
['+CREG:', '0,1']
Registration status: registered, home network


Currently selected operator:
REPLY: ['+COPS: 0,2,302720', '', 'OK']

Phone number stored on SIM:
REPLY: ['OK']

IMEI number:
REPLY: ['35...deleted...5', '', 'OK']

International Mobile Subscriber Identity (IMSI) of SIM card:
REPLY: ['+CIMI: "30...deleted...9"', '', 'OK']
302 720
Canada Rogers
Mobile Subscription Identification Number: 50...deleted

SIM number:
REPLY: ['+CCID: "89...deleted ...49"', '', 'OK']

By Gregory Dudek at | Read (2) or Leave a comment |    
26 October
2013

Canadians have generally been quite unhappy with cellular data and broadband performance and/or ( wired internet) rates, typically in comparison to people they know elsewhere. Traditionally, they made comparisons to the US regarding how much better Internet or cellular services could be. Well, both that is no longer the right yardstick for comparison. Both Canada and the USA are not only well behind the countries with the best broadband services, but they are falling further behind as time passes!

You might think that this was a source of some concern among those in power and especially the telecommunications industry. This is because good internet services is often associated the not only the use of modern internet services, but the development of the internet-based ideas, technologies and services of the future. Kind of like libraries with good access, lighting and selection.

As an indication of how things work, here is an response from Michael Powell, the former chairman of the US FCC (Federal Communications Commission) who is also the CEO of the National Cable & Telecommunications Association (NCTA).


Question: Can you respond to studies that have found the United States trailing many countries in terms of the speeds of Internet services offered to consumers?


Powell’s answer: "I live in the United States of America. It doesn’t matter to me what they’re doing in Lithuania."


Lithuanian is 15th in terms of broadband download speeds while the United States is ranked 32nd Canada is ranked 39th (the data is obtained from Speedtest.net).

A report from Akamai, based on different data , put the USA in 9th position and declining. Not as bad a sheer number, but the same dismal message. Why? In part it is probably to due land mass, and population size, but government neglect cannot be ignored as a factor.

The average download speed in Lithuania is of 36.22Mbps while in Hong Kong it's a whopping 64.48 Mbps.
The average download speed in the Canada is 18.8Mbps (i.e. about 30 per cent of the speed in Hong Kong), a bit worse than the USA average of 20.17Mbps.

Ahead of Canada and the US, we also have Latvia, Czech Republic, South Korea, Sweden, the Netherlands, Japan, ....

Oh, and here's what the CRTC (Canadian Radio-television and Telecommunications Commission) says:

"Recognizing that Internet service is increasingly important for communication, the Commission has established universal Internet performance target speeds of 5 megabits per second (Mbps) downstream and 1 Mbps upstream. These speeds should be available to all Canadians by the end of 2015."


Wow!


By Gregory Dudek at | Leave a comment |    
04 March
2014

Cynthia Than reports: There is no gender gap in tech salaries based on a study from the American Association of University Women.

The study itself is quite complex and does find a difference in pay associated with gender when averaged across all disciplines, but not necessarily a cause-and-effect relationship. The study discusses differences in the hours worked, but also other factors such as the fact that student loan debt, choice of discipline, and other factors also vary by gender. The most important factor associated with salary outcome was the choice of major selected by university students, with computer science being a high paying area that (until recently) was preferred by men.

For women who do pick computer science, as well as math, engineering, physical science, health care, the life sciences and social services, the study found no pay equity imbalance one year after graduation (page 17).


By Gregory Dudek at | Read (1) or Leave a comment |    
18 April
2014

I've been wearing my Google Glass for about a month, on and off. Our lab has been looking more and more at issues of human-robot interaction, and generally making automated systems easier for people to control., and Glass fits into this quite nicely. Today I am posting some assorted thoughts about Glass.

Google has done an excellent job of bringing a very "out there" technology to life in a usable form. Getting such things to market in a usable form is really hard, and this is an amazing feat of design and engineering combined. That said, it's hard to be sure that this technology hits the sweet spot of usability, convenience, comfort and value (not even considering the financial cost of ownership). Google Glass takes some getting used to. This is not an issue of making them comfortable, but rather of finding the right use cases and operating modalities. Even after a month I am still figuring out when and how they make sense.

Glass feels like a prototype for future systems, not an already-optimized solution. Wear Glass is an matter of test-driving the future, not wearing a final solution. This is no surprise: the first cell phones were pretty suboptimal compared to what we have today and Google's incremental rollout was not an accident. The cautionary note here is that people should not set their expectations unrealistically high. The limitations of Glass have been documented widely, and they include limited battery life, a lack of application polish and other factors. This is a brilliant piece of technology, and it's great for research and for getting a taste of the future, but don't expect perfection.

Perhaps the most surprising thing is how quickly they have moved to a very broad rollout to the general public, which entails a lot of risk regarding frustrated users. Google has a great reputation for launching innovative technologies, but has only a borderline image in terms of customer support and follow-through. This is the natural consequence of letting technologies out the door that are still in flux, but it could actually set the effort back if things go pear-shaped with the broad launch not taking place.


By Gregory Dudek at | Leave a comment |    
26 April
2014

Almost every conference, especially academic ones, provides badges for attendees. After many years of conference attendance and organizing, I have developed some rather strong opinions about that otherwise obscure topic. Here are my thoughts on good conference badging approaches.



Example Badge: why is the banner and date on the top taking up 1/3 of the badge? We already know why we are here.
Example Badge: why is the banner and date
on the top taking up 1/3 of the badge?
We already know why we are here.
(Click to expand)




First, let me make a couple of observations on why we have badges. The primary purpose of a conference badge is (1) to allow participants to recognize one another, (2) remember each other’s names to facilitate conversation, and (3) help remember people for subsequent follow-up. At least at academic conference, the function of (4) validating that somebody paid his or her registration fee, although important, is secondary. Lastly, the registration process (and sometimes the badge) also serves to (5) record payment and registration for additional optional events like a side workshop or meal.




Based on the idea that name-recognition is the primary function of the badge, the name needs to be large and prominent. After the name, what people care about is the institutional affiliation (university, company, etc). The rest hardly matters. Thus a badge with 8 lines of text including a restatement of the name of the conference, the the date and other useless crap is really sub-optimal (meaning it stinks).





Sample Badge
Sample Badge

Badges worn too low, basically saying

"I don't care about meeting you"





Let's just consider how little space the important stuff uses, and what could be done. The badge below is from an event we organized, but due to the rush and limitations of the layout process name name is a ridiculously small part of the area.



Sample Badge
Example annoying badge:
why is the name so small, and surrounded
by so much white space?
(Click to expand)


Sample Badge
Preferred badge layout

make the name big and clear.
(Click to expand)




Keep in mind that people need to read these things from a few feet away while standing and chatting. Moreover, you often need to do it while pretending they remember the person's name and as if you don't actually need to read the badge to know who you are talking to! Naturally, the person who wears the badge needs to put is someplace visible for this to work out. There are always these people who think it's cool to wear the badge on their hip or belt, as shown above. This seems like a singularly affected (as in pretentious) and it makes them hard to recognize or remember by name.

While we are on the issue of where to wear the badge, note that there are at least 3 common ways to affix a badge to a person: a clip, a pin or a lanyard. These days lanyards have become very popular for some reason. In fact, many places including my own university sell souvenir lanyards! Really? Are these the last resort for people who can find absolutely nothing useful to buy for $2? People presumably like lanyards because you don't need to make a hole in your fancy clothing, and you can carry an arbitrarily heavy little pouch of paperwork around your neck, which some conferences provide instead of a badge. Well, for most men's clothing the little hole is not much of an issue, and the clip (instead of a pin) solves the problem quite nicely. The big problem with lanyards is that the badge hangs so low that it is inconvenient, or even embarrassing, to look at it to determine the person's name or affiliation. Scroll down to the 2nd image on this page to see an example of the problem, and not how the author had to select clothing specifically to assure a lanyard look good. Of course, the problem becomes still worse if the badge is poorly designed. I prefer a clip since it which won't damage a T-shirt by making a hole, and it can go on almost anything.




Sample Badge
Sample Badge

Badges that are positioned to make it awkward for men to read them
without seeming politically incorrect.
Lanyards almost always assure this.

(Photos by Tendenci.org and from
www.flickr.com/photos/howardlake/6427901531 licensed under Creative Commons Share Alike license).


If this too long an article about a silly minor issue? Maybe, but hundreds, or even thousands, of people can be inconvenienced at a single meeting by the wrong badge design, and their ability to network is degraded.


By Gregory Dudek at | Leave a comment |    
Prev  1   2   3   4   5   6   7   8   9   10   11   [12]   13   14   Next