Sunday, January 18. 2015
So I'd discussed my first month as a T-Mobile customer Here.
The experiment is busy coming to an end, and while previously I'd been kind of annoyed, I am now quite angry. For all their "uncarrier" blatherings, this is a seriously broken company.
First, the pleasant part -- all the customer facing folks I encountered were polite and behaved like they were interested in quality of service.
But this does not extend throughout the organization; some elements of T-Mobile are sheltered from customer service considerations and show little interest. What's more, they seem to have a lack of ability to consider the customer point of view.
The specific issue that caused me to decide to leave is that their coverage map, which shows that I should be roaming onto ATT in the area immediately around my house, is not telling the truth. Even if I turn off automatic carrier selection in my phone and try to manually go onto ATT's network, it doesn't work. I know the phone is ok because on a long trip to NC and back, i frequently saw the phone switch over to ATT - the phone is ok, this is a local problem.
I have opened three tickets on this subject, all of them have been closed by Engineering for various reasons. Engineering is clearly not concerned about this coverage issue; closing tickets seems to be the metric by which they are being judged, rather than actually fixing problems. This does not make for good customer experience.
Moreover, I have complained to them point blank that their coverage map is wrong, the coverage seemingly isn't going to be fixed, and this effectively constitutes false advertising - and i see little evidence that anything will be done about that, either. and it's the bogus coverage map that caused me to take this gamble.
T-Mobile has a wifi calling option, which i've been trying to use. it is erratic, likely because my TWC cable broadband is erratic. I also find that frequently i need to power cycle the phone to make it work, even though my phone always acquires my home wifi quickly.
So earlier today, a T-Mobile rep on their twitter help line offered a "CellSpot" wifi router which they're sure will help with the reliability of the local wifi calling. i don't really see why it will work - TWC broadband has always been flakey where i live, and while T-Mobile's willing to loan it to me rather than charge me the outright $200, they do want a $25 deposit for the bloody thing - and it still won't fix the broader coverage issues. so they have a non-solution to the coverage problem that will only cost me an additional $25 (from all my years in IT, i tend to have a very bad reaction to anyone that responds to their own poor performance by trying to separate me from more money.)
At the ATT store, when i called about the phone lock (more on that in a second), they suddenly offered me a cell phone booster thingy.
Now about the phone lock - back in december, i bought a full priced phone and went on no contract pricing. it turns out that they lock the full price phones and you have to be a customer either 60 or 40 days (60 according to the phone rep, 40 according to the web site, no idea which is actually true.) i haven't been a customer of theirs long enough, but i'm having a lot of trouble convincing myself to suffer this service any longer. financial prudence, though, is likely to require that i go back and suffer. i do wonder if they would continue the unlock clock, or reset it back to 40 (or 60) days in order to stretch out the suffering.
but for the moment, i have a useless iPhone 6, locked to T-Mobile with an ATT sim in it. Cell phone carriers wonder why we hate them. or maybe they know.
Friday, January 9. 2015
I've been working just a little on how to integrate OpenStreetMap and OpenHistoricalMap depictions of historic race tracks; here is a test case of the second Watkins Glen circuit overlaid on the current (fourth) Watkins Glen International. Use the sliders to change the emphasis. Need to do something about the colors; I want better contrast between historic and current.
Thursday, January 1. 2015
so back in December, i switched from Verizon to T-Mobile. i had heard all the stories about how bad T-Mobile's network was, but I have come to despise the subsidized phone pricing model that dominates in the US and I really wanted to give T-Mobile a chance. I purchased a full price iPhone 6 from T-Mobile about 10 days before my Verizon contract expired and activated it using a temporary number in order to get an idea of what was coming. I've been rather disappointed to date but there is still a possibility that T-Mobile might redeem themselves.
I live in a fringy area for T-Mobile's towers. I see weak T-Mobile signals in my driveway (south side of the house) about 1/2 the time; in my office, which is on the other end of the house, T-Mobile signals are rare and not usable when they do show up. However, AT&T is supposed to carry the load for that; they partner with T-Mobile around here and have a usable network here in Averill Park, which i know from my years as an AT&T customer.
when i went to activate my phone, well, nothing doing. the first T-Mobile rep told me that the problem must be the brand new SIM that was preinstalled in the phone, and directed me to take the 1 hour round trip to the nearest T-Mobile retail outlet to swap SIMs. i combined it with another trip to reduce the pain level. the T-Mobile retail store was a trip; the salesmen were all quite sure that T-Mobile service never worked in Averill Park, and didn't want to replace the SIM. i pointed out to them that T-Mobile's published coverage map included Averill Park, and insisted on the SIM replacement (even though i was sure it wasn't going to work) because of the importance of jumping through the hoops properly when dealing with tech support. they seemed to be pretty oblivious to the issue of the marketing materials claiming service worked here and to the issue of proper interactions with tech support. i got the SIM replaced and left. as i expected, it fixed nothing.
the second call to tech support came about the time i actually ported my verizon number over to t-mobile (on the 15th of December). we worked through a bunch of stuff; the tech support guy got my phone working over the local wifi (wifi calling being a new feature to me); this means that usually my phone works within range of my wifi at home, which saves things (i work from home most days), but it's not entirely reliable. he also walked me through manual carrier selection, and we thus figured out that my phone can see the AT&T towers around here, but won't roam onto them, despite the partnering agreement. this is something that could be a provisioning screwup on either T-Mobile or AT&T's part. he opened up an engineering ticket and told me to wait at least 72 hours. i don't know the details of what he put in the ticket; hopefully it was about the failure to roam onto their partner's network.
So the holidays came up, and i decided not to pursue the situation until we returned from visiting family in NC. on the long drive there and back, i observed the phone successfully switching to AT&T in a number of gaps in T-Mobile coverage, which showed that this wasn't system wide and that my phone was not defective; all good information to have. so two days ago, i poked at T-Mobile's twitter help account with a stick, asking them what was up with the ticket. i also drove to the post office - not just to pick up my mail, but also to do the manual carrier selection thing and verify that i still couldn't roam onto AT&T's network - and i can't, so the problem isn't fixed (the idea behind driving to the post office is that there are no T-Mobile towers reachable from there, so there is no chance of a poor T-Mobile signal interfering with roaming.)
the word from the t-mobile twitter people came back - the ticket was closed, apparently because engineering saw my phone show up on t-mobile's network. which of course wasn't the actual problem.
so there's a new ticket open; we'll see what happens this time. but the closure of the ticket has me wondering if the performance metrics for their engineering group have to do with closing tickets and the length of time tickets are open, instead of actual successful solution of problems. because closing a ticket should not be confused with solving a problem; when you make ticket closure alone the criteria, you create a perverse incentive to close tickets regardless of whether solutions are found. anyone who has any experience in running call centers and engineering support is supposed to know this.
Saturday, October 11. 2014
I had stopped working on improving the course, and posting on this subject, as it was unclear if I would be teaching it again in the spring. Now this appears to be cleared up, so I'll resume posting about what I'm doing.
The highest priority is improving the projects. The second and third project descriptions are very sketchy by comparison with the first project; I need to bring them up to the standard of the first project. In addition I want to add a fourth project which involves adding SSL to one of the first three projects. Finally, I want to have them all install Wireshark and learn how to use it to monitor the packet exchanges in their projects.
The next priority is the textbook change. At this point, I think we'll go with Kurose & Ross, Computer Networking: A Top-Down Approach as starting from the application layer may help in many ways; every other textbook I've looked at takes the old fashioned bottom up approach. This will require me to reorder my lectures as they currently track the bottom up approach, but I don't think that this will be a huge problem.
I am temporarily giving up on adding the network simulator, there is simply not enough time to set that up properly.
Monday, September 29. 2014
I have been an active contributor to OpenStreetMap since 2009, and was a member of the founding board of OpenStreetMap US. I have taken two years off from the board, and now feel ready to return.
I am extremely impressed with what the board has accomplished during the time that Martijn has been President, and look forward to supporting those efforts going forward.
I think one of the critical efforts needed is improving the "on ramp" for OpenStreetMap. We've been talking about this for years, but the progress made has been limited. This is still a very intimidating project from an outsider's point of view.
Disclosure: I am currently working as a consultant at Mapzen.
Wednesday, September 17. 2014
This one was about 20 years ago. I was chief of tech for a 1 day racing school at Lime Rock Park (Why am I always chief of tech? Must be too stupid to turn down the job. I really should do something about that.)
So there is a driver in an ITA RX-7 who is fast and aggressive - and she spins her IT car in a fast part of the track. Her car doesn't have clips or straps on the windows, so when she spins it the windshield pops out, lands on the track and develops the expect spiderweb of cracks while staying on "one piece" - sort of.
She returns to the false grid for the next session sans windshield (it's not a spare you normally stick in the back of the pickup.) Grid quite correctly sends her away, the configuration is not permitted. A little bit later I get a radio call, "tech please send someone to grid". I walk on over. Her crew (which i as i recall was her father) has duct taped the cracked windshield back into the car and thinks she should be allowed to go back out that way, despite the fact that there is no way that she can see through it. I support the grid workers who have made the correct decision and direct them to take the car back to the paddock. Her father was an experienced driver who should have known better; I never figured that one out. I guess even crew chiefs can get the red mist.
I need to point out that although the issue was in a car belonging to the Bownes unit, it wasn't actually his bit of "fabrication".
Bob had acquired an old Spitfire production race car that had been sitting in a barn for a Very Long Time. He called me up to come over and inspect it. When I popped open the trunk to check out the fuel cell, I immediately called bob over and pointed out that while the fuel cell was fastened to the trunk floor with sheet metal screws, they weren't necessarily what was going to fail first because the trunk floor was fastened to the rest of the car with sheet metal screws.
Tuesday, September 16. 2014
I have recently posted a number of entries on this subject on Facebook and am now copying them over here for posterity. I may even fix various typos and grammar errors, but no guarantees. Here is a longer one about events at a National race years ago. This is not so much about one person being stupid or doing something stupid, as opposed to a situation where a straightforward but dumb solution was the best way out...
It was a National race at Lime Rock Park some years back. The Honda S2000 was newly classified (in the old SSB class, I think) and there was a mistake in the weights; the rulebook called for the car to weigh about 200 lbs more than it actually did. Ballast was not permissible in the class so coming up with an extra 200 lbs was trickly.
So i suddenly find Ken Payson and a friend of his visiting tech. The name of Ken's friend escapes me, but he was a prominent and fast Solo driver who had switched to Club Racing, where he was also very, very fast. He was certainly going to win his class in the S2000 the next day, which is where the problem came in. The car was underweight per the GCR, and Ken & friend suspected as much.
However, the question that they asked suggested that, for as many many years of experience that Ken has in club racing, he didn't understand one of the finer points of the official scales at the race track. He asked what would happen if they wanted to weigh the S2000 on my scales and turned out to be underweight. They were afraid i would spontaneously DQ the car. The answer (obvious to tech inspectors and stewards if not to anyone else) is that a random weight during the day is a non issue; no impound is in progress and and competition is not at stake. I only take action if a car comes in underweight during an impound session.
So they brought the S2000 over and put it on the scales, and it was indeed 200 lbs light. So they asked me what to do.
I told them that I of course couldn't advise them to do anything that violated the rules. but I also advised them that I had no plan to open trunks during post race impound - I would do so if directed to by the chief steward, but as far as I knew he wasn't going to make that request.
The next day, the car ran, it won, and it made weight. We never discussed how much crap (floor jack, two spare wheels & tires, etc.) was in the trunk.
The alternative path here, the official path, is to let them run underweight, DQ them, and depend on the appeals process to overturn the DQ based on errors and omissions. This would have worked; I know this because I traded email with the club tech office and they admitted the weight in the book was probably wrong. but that would have taken years and cost millions of lives...
Monday, August 18. 2014
Update whining about it loudly on Fed Ex's Facebook page turns out to work. got my laptop late afternoon that day.
Hey FedEx, you've got a process problem of some sort. Your website is telling me that my package is available for pickup in Menands NY, so i took an hour out of my morning to drive over there and be told no not until Wednesday. Your tracking website appears to be lying and it cost me time and money. my opinion of FedEx as a reliable vendor with good customer service just took a pretty major hit.
Monday, June 9. 2014
hmmm, just got an email about a USPS delivery, need to print a label and take it to the post office.
but hey, the mail from domain is buran7.beget.ru, and the payload or link i need to click on is missing from the message.
whew, guess i dodged a bullet there.
Deferring again talking about implications of online content...
There are two different ways to play a Networking course. Is the room full of potential Network engineers, or is it full of potential application developers? It makes a difference.
In the case of UAlbany, the course is offered in the framework of the Computer Science department, and the students tend to be mostly software oriented. This means that I should be trying to make them comfortable with socket programming paradigms, which are a bit different from straight line single threaded development exercises. Socket programming is also what many (most?) of the full time faculty think the course is supposed to be about.
But this doesn't excuse me from teaching a lot of the lower level stuff. I've encountered a few too many software developers, who while competent on the development side, are more than a little vague on how some of the networking stuff actually operates. You can write a socket program without understanding how the client side determines a port number, but you may find yourself at a loss when trying to use tools like nmap, tcpdump and wireshark to poke at your application with a stick, and may be pretty clueless about firewall setup as well. So at the bare minimum we need to talk about IP and friends, and it makes little sense to leave out layers 1 & 2 (ISO model) when talking about everything above them.
So the future evolution of the course will need to improve on the socket programming side while still providing the students with a solid foundation in how the various layers in the reference model work.
And there will always be a need to cover things like clocks and NTP because I can't see them encountering that stuff anywhere else before they graduate and move out into the real world.
Sunday, June 8. 2014
I'm going to defer the promised posting about the implications of the online content of some of the Pearson books for now, in part because I'm going to be getting evaluation copies of some Morgan-Kaufman books and they have online content as well, best to go through both sets of terms and conditions and think about what they mean first. In the meantime, here's the Syllabus from this past spring - one task will be to compare the syllabus with the content of each book to compare coverage.
Saturday, June 7. 2014
So I have a number of textbooks in front of me, with at least one more coming. Four of the six are straight up networking textbooks, the fifth is a classic on Unix socket programming that would be a supplemental text, and the one coming is an O'Reilly book on Java Network Programming that would also serve as a supplement.
Where do these evaluation copies come from? I actually paid cash for my Kindle edition of TCP/IP Illustrated, Volume 1 a year and a half ago as I jumped into the course with very little notice. O'Reilly has an ebook based evaluation program, and I expect to receive a link for a copy of the ebook version of Java Network Programming "any day now". The remaining books all came from Pearson, who provide a choice - either a traditional paper copy, or web access. No ebook option is offered. I would have preferred ebooks, and selected the paper book option as otherwise I would only be able to access the books when I had an internet connection.
The first thing to note is that of the 6 books, 5 are from Pearson, who have acquired Prentice-Hall and Addison-Wesley and thus moved into a dominating position in publishing for the college and university marketplace. So while there is certainly textbook choice, there isn't much publisher choice. Another element to consider is that ebook editions are available for all of these books except for the Unix socket programming text, although the price break for the Kindle editions is around 10%, so that $124 networking text doesn't get a whole lot cheaper in Kindle form.
Of the four networking texts from Pearson, two have "premium content" online. For both books, there is a scratchoff strip inside the front cover with a code that is good for 6 months of access. Presumably Pearson wants the instructors to use the online material in support of their courses. I considered this, and realized that it represents a fairly naked attempt to kill off the used textbook marketplace - the codes are onetime use and if used, the value of the used textbook drops rather sharply. I'm not playing that game. While I might adapt one of these texts, the course will not require that the students access the premium material.
In the case of one of the "premium content" books (Stallings, Data and Computer Communications, 10th edition) the two chapters on computer security are behind the online premium wall. I find this particularly egregious, and so the Stallings book is DQ'd from consideration from the very start.
Now I'm down to 3 straight up networking textbooks. The other book with premium content (Kurose & Ross, Computer Networking: A Top Down Approach) doesn't hide critical material in the same manner, so it remains in the mix for the time being. The premium content is related to class exercises and I can manage that on my own. It will be the student's choice whether they scratch off that strip.
The other two that are in the mix are Fall & Stevens (TCP/IP Illustrated Vol 1, 2nd Edition, the text I've been using), and and the 5th edition of Tannenbaum & Weatherall's classic Computer Networks.
So what are some of the differences and things of note?
Stevens and Tannenbaum both start from the bottom with layer 1 (the physical layer) and work their way up through the network stack. If I use one of these, I have to tinker with supplemental material so that I can get socket programming assignments going early on during the class. Neither of these books really pretends to deal with network programming anyway, but it's good for students to have at least some understanding, however cursory, of UDP and TCP before you tell them to start coding.
Kurose & Ross is structured very differently (It's that "Top Down" part of the title.) In looking it over, I can't help but think that this approach is a really good idea for several reasons. It puts me in a better place to give out assignments early on, and I think it's probably easier to motivate students by starting with applications, which is something they've already seen even if only as black boxes (e.g., web servers and mail servers.) Additionally, they do cover network programming - but they use Python (previous editions used Java). So if I go with this text, I'd want to have the supplemental textbooks available as I'm not inclined to dump a new language on students who are already dealing with lots of other things.
The fifth book is Stevens' Unix Network Programming, Volume 1 which would be a supplemental text for the C developers, and the sixth is the aforementioned O'Reilly book on Java Network programming. I will probably look for one or two other supplemental texts, but this is really the least of my concerns.
So basically, I am leaning towards Kurose & Ross despite the premium content issues because I like the order of presentation better. Now to start really looking at the books hard to see what's what. The next blog posting will discuss some of the challenges I perceive to exist given the online content.
Thursday, June 5. 2014
I've taught the Spring course in Computer Networking at UAlbany for two years now. The first year, it was a bit of a surprise and I was playing catchup from day one. The second time, it was a little less of a surprise, but I still spent a lot of time playing catchup. One of the results of this was that for a textbook, I defaulted to using the 2nd edition of Steven's classic TCP/IP Illustrated, Volume 1, because I was familiar with it and liked it. But I've become concerned that there was a bit of divergence between the course syllabus and the book, so I decided to check out some of the alternatives. I now have copies of 4 other text books to review, and have found a large can with many worms inside. Since it's tolerably certain that I'll be teaching it again, I was going to work steadily on improvements over the next 8 months in any case, but just the quick once over of the textbooks suggested other things I should look at.
But first, I should describe the basic course parameters. It's offered by the Computer Science Department, so the presumption necessarily is that the average student will have experience in writing single threaded programs that run on a single computer, and limited knowledge of the hardware side of things. My observation on the student mix is that, having been given the choice between writing projects in C, and writing projects in Java, the class splits fairly evenly, so I expect to continue to accept projects in either language. I also note that student choice of OS on their laptops varies, which is ok with me, but does mean that if I want them to install any particular software, I need to keep that in mind. I can in theory go with Un*x/Linux only software given that all students have accounts on a University Solaris system, so I can make them ssh into it and work with a text based system, which the Windows types may find annoying, but I assert that it's good for them.
As the syllabus has evolved, I've found myself adding lots of stuff that's not in Stevens (and Stevens isn't really a programming text anyway, so the Socket Programming API has always been supplemental material), and I've been using my own ordering of presentation, which has gradually improving. I have leaned on some lectures written by a prior instructor for subjects like queuing theory. The projects to date have been socket programming exercises. A prior instructor used one of the ns series of network simulators for exercises, but I haven't had a chance to really look at how I might integrate such a thing.
From the perspective of ordering of material, I need to get them doing some socket programming early, so at least a cursory outline of TCP functionality needs to be done very soon after the course starts, to provide a framework for understanding why the Sockets API is what it is. If I add network simulator exercises, I may (depending on the ordering of course material) be able to delay the first socket programming exercise a little.
So these are the sorts of things I have to consider as I go forward. Next posting will be a little bit about the 5 textbooks I have in hand right now.
Saturday, May 31. 2014
by way of introduction, i am both an enthusiastic driver (who had a brief career as a mediocre club racing driver) and an enthusiastic cyclist (who will probably never race, but does enjoy long rides). i tend to ride on bike paths or out in rural areas where i know the roads well. urban cycling scares me, as way too many drivers are not paying attention.
so yesterday i found myself on NY 155 heading north, and then taking the short slip ramp onto Washington Avenue Extension (this is in Albany, NY, for those of you who aren't from around here.) A cyclist was crossing 155 from my left to my right and our paths were about to cross where the slip ramp merged into Washington Avenue Extension.
so what did i do? well, being a cyclist myself, i recognized two things - first of all, that per the rules of the road, he had the right of way and i was obligated to yield it. and second of all, that most drivers don't really get this and he was probably going to be very concerned about my intentions and my attentiveness.
so as i came around the slip ramp, i deliberately hung back and paced him, while looking straight at him. when he looked over at me to see what i was about to do, we made eye contact. this turns out to be enough information for him to decide that we are actually going to follow the correct rules of the road, so he signaled that he wanted to move across to the shoulder. i waited for him to do so and then gave him plenty of room on my right as i accelerated by. and he was apparently very appreciative of the fact that it was all done correctly and waved at me as i moved on.
what can we do to teach every one, drivers and cyclists alike, to do these things properly?
(Page 1 of 10, totaling 136 entries) » next page
Syndicate This Blog
right side networked blogs