RSS FeedYay, power line networking!!
People, I know this technology has been around for 20 years, but I finally bought into it, and just got the Netgear XEB1004. This is such a simple device, and I am really happy that I took the step!
The idea is of course very simple, power line networking is a mechanism to connect computers (or other communicating devices) in your home by using the electrical power network in the home. I have a cable modem and an attached router in the basement. So, rather than bringing a wire to the main floor, I simply plug in the cable into one unit of the Netgear XEB1004, and plug in that unit into the power network. It superimposes the communication signal on top of the power 110V signal. Then wherever I need the signal (say on the main floor or on the top floor), I connect the other unit of the Netgear XEB1004, and that that gives me a copy of the signal back, which I can connect back into the other communication device (say the Roku or the printer). Here is a small schematic of what I did. As you can probably imagine, it is so much better than running wires through the house, or said differently, we already have the power cables running through the house, so if it is possible, why not use it!
This may very well be the best thing that has happened to my home since WiFi or sliced bread!
Don’t let me stop you from reading more about power line networking on Wikipedia.
Sorry, I don’t git Linus Torvalds
After my previous post on SVN and CVS, I was pointed in two directions (independently) to Git, and Perforce. The suggest to Git came in form of the Tech talk by Linus Torvalds at Google on source code management. In this talk, Linus blasts CVS, SVN, Perforce, Google and the rest of the software industry.
So, then I got about researching Git. Firstly, its premise is quite faulty – about commit access, etc. Linus spent about 10 minutes solving a problem I don’t have (Reminds me of CueCat!). He says the basic problem is that you don’t want to give commit access to everyone, but then politics comes in, so
you end up giving commit access anyway. (And hence distributed source code management, and hence Git.) Hmm, that is really weird – I have never heard of this “commit access politics” problem. I don’t have this problem in my current job at NTELX where I am responsible for managing all software products. Further, I have never had that problem in any of the other software jobs that I have had. Checked with a couple of friends at Microsoft and Facebook (combined the questions with happy holidays phone calls) and those friends do not know of this problem either. So, I am forced to assume that this specific “problem” is a problem only for open source software projects. I don’t think it makes any sense for commercial software companies. We have enough carrots and sticks in place, that perhaps open source software projects don’t. I am personally notified of every single commit that happens to the head, and then, if I have the time and inclination, I may do a source code review. Most of the times though, the commit seems to be in line with what product and module the specific team is working on, and you just let it g
o.
So, what carrots and sticks does a commercial company have in place? An obvious stick is the employment itself. If you do make a wrong hiring choice and end up giving “commit access” to someone who should never have had it, as soon as you realize that, you take away the commit access and make the right recommendation to HR, take the stuff happens route, and go back to step 0 (recruitment). Carrot is obviously in form of developer appraisals and bonuses. People are usually happen when they get it. (It is nothing like this Dilbert.) There are many other levels between carrots and sticks, which roughly amount to better training and communication. Most usual error that developers make is of trying to develop without forcing
that all gaps in the spec be filled, and that can be fixed by telling them exactly that.
All in all, I gave up discounting Git, because I gave up discounting Linus. Half the times I could not be sure whether he was being serious, in which case it would be tremendously arrogant, or if he was being funny, in which case the joke was being pulled on way too long. One way or another, Linus, I don’t know anything about you, but you are no Turing or Tarjan, at least, not yet.
One other point, though played a role in discounting Git. It says that in centralized versioning systems, the central repository is an obvious point of failure. Doesn’t take a genius to figure that out, but it is worth pointing out that since 2000, I have not once had this problem of my central repository going down. Not once. And somehow I am supposed to worry about that? Even if happens right this very day, so what? Our sysadmin will replace the lost disk with the off site backup from 4 hrs ago, developers will recommit the files (that they have on their hard disks anyway), and we will move on. If that is the biggest thing that Git is going to solve for me, then really, it is not that big.
Next, I researched Perforce. I used Perforce a while back at a project, and liked it decently enough. I am still open for using it, and am researching its pricing and cost benefits statement.
Worst Website Award goes to…. T-Mobile! (No Kanye West to its rescue!)
Before giving the top 5 reasons why this is an amazingly bad website, perhaps it makes sense to mention that there are 3 criteria that websites should meet before they can even be considered in this category:
- Website has to be getting more than a 100,000 visitors a day. If not, it is simply too small to given this honor. (t-mobile gets about 1.5M).
- It gotta be selling something (that is, valuable to the owner). If not, say it is just some forums etc, then we should cut them some slack.
- It has to be an official and legal website. If someone creates a defamation website for say the president or Tiger Woods, or someone, and gets lots of attention and sells t-shirts, that can’t be a candidate. Similarly if it is not a G rated legal website, then all bets are off about what is good and what is bad.
Now that we have that clear, here is a list of 5 things that t-mobile.com utterly fails on. I, as a neophyte web usability expert, with Steve Krug’s Don’t Make Me Think as my only relevant reading, hereby claim to know more than t-mobile’s web UI team.
T-Mobile.com’s 5 biggest UI mistakes:
- Doesn’t work on Firefox or Chrome! I must be unfair or biased, but I think it is OK for my dad’s medical drug analysis company (which gets about 20 visitors/month and doesn’t sell anything on the web) to not work in Firefox/Chrome, and yet I think it is not OK for T-mobile to not work on Firefox and Chrome.
- Bad tabbing style: The My T-Mobile pages contain two levels of drop down, but the tab style is not clear. So, you cannot see whether the second layer is a sub layer of the
first, or if it is just the description of the first in smaller font, or if it is independent tabs? Especially consider that none of the second tabs is highlighted.
- Bad Navigation (Aka “you want to spend the money, but can’t”): I spent 35 minutes on the t-mobile website trying to add a messaging bundle, but couldn’t find it where to add. Finally figured it out after ordering the bundle via a customer service rep on the phone and she helped to find.
- Connect and Share -> Configure Email tells you “You don’t have email access”. This was the most bizarre. Thank God it appears they have fixed it now. Earlier it used to shows some BlackBerry internet email BS, and you were left scratching your head that you have had email on your BlackBerry for the last 3 years, why you wouldn’t have it today.
- Dysfunctional Search: Searching for something very basic as “Messaging” on the t-mobile search brings you to a generic Motorola CLIQ page. That may be featured product of the day or the only cellphone in the world that has messaging option, you would never know.
Based on their website, I suggest a new logo for T-Mobile: Get More, and Get Even More (frustrated with the T-Mobile website).
Is it the Technology or the Tools? SVN or CVS? Java or Visual Basic?
One more time, the question emerges: is it the technology or the tools that make something popular? On this December day, I am certainly very much biased towards tools. My immediate comparison point is version control systems – CVS and SVN. Subversion is touted to be much superior to CVS, and whether or not that is the case, today, I have decided to move back to CVS, on at least one of the projects. The decision was not based on the technological underpinnings of CVS and SVN, rather only on the simple fact that a simple, free GUI client is not available for SVN, so
mething that is analogous to WinCVS. Of course, there are tools like SmartSVN (excellent tool, I do have a registered copy of it, but not everyone does or is interested in buying one), and Subclipse. Subclipse works reasonably well (nothing like SmartSVN), but I have never been a fan for Eclipse being the center of my life – I do development less than 20% of time, and don’t want a development tool to take place of my file explorer. There is also TortoiseSVN, which as its name suggests, is stupendously slow, and RapidSVN, which as its name suggests, can be very rapidly discarded as a candidate.
This is not the first or the last time a discussion on technology and tools has arisen. Much more commonly, this has been discussed well in the context of Visual C++, C#, Java, Visual Basic and others. Java, since being introduced in 1995-1996, did become popular, but it was certainly in spite of a lack of tools, certainly not due to the tools available with it. Microsoft (am I raising your heart beat frequency yet
?) is definitely the master of bundling tools with technology, to the extent that the students at Bowie State University where I taught CTEC 125 for 4 semesters can absolutely not distinguish between Visual Basic and Microsoft Visual Basic Studio. Giving the credit where it is due, for business majors (who are the main audience for that class) the difference is neither important nor interesting, but what is definitely very important and very interesting is that Visual Basic is one of the easiest languages to learn, and that is due to a combination of the language as well as the IDE. Today, Java has a very good tools/IDEs market, and Eclipse, IDEA, NetBeans and Oracle JDeveloper are all good choices (to be clear, I have not used the last 2 in more than 3 year, but I continue to hear good things about them). And yet, when making a complex GUI application using a WYSIWYG editor, even Eclipse does not come close to the free Microsoft Visual Basic Express Edition. You have to get into Eclipse, and paid plugins like 70$ jigloo (or better yet the $1000 JGo, if your application requires it) to match what MVBEE comes out of the box with. All that said, I have been a user, leader and proponent of all Java based technologies in the last 10+ years, and to repeat it one last time – that part is due to the Java technology, and in spite of the lack of good tools that go with it.
Ok, back to SVN, CVS and tools and technologies. Listen to Sebastien’s rant on why SVN sucks. While I don’t make such a tall claim, the conclusion I am drawing is no different from what Sebastien draws, even if the rationale might be different. In one of the “defends” on that post, Nicholas makes an eloquent, but irrelevant point that Subversion is
only the server, and the GUI apps are from 3rd party providers. The lack of that distinction (between tools and technology) in itself is the point of this entire post. Who cares who makes what, as long as the technology and the tools together are a sufficient mixture. And when they are not, the nerds will rant, the tweets will flow, all hell will break lose and the (SVN) world itself may come to an end.
One catch block = wrong diagnosis + bad error messages + bad reports
As I signed out of my KPN@NL account at Amsterdam Schiphol, after a couple of minutes, Yahoo gave this friendly warning.
Thats it!! Yahoo!! Your servers may really be busy, but I should say that I switched off my wireless connection about 6 minutes back!!
Now, it could be either (a) Yahoo is being extremely modest, taking on blame even when it knows the user doesn’t know a hoot about networking, or (b) Yahoo is just trying to show off that its servers are really busy, implying that it is really popular! But I suspect that the answer is (c) Yahoo has a network application developer who likes a single catch clause. try { a bunch of things } catch (Exception e) { server_busy();}
The problems that this kind of code creates fall basically in 3 groups:
(i) Wrong Diagnosis – this could imply wrong attempts at fixing it
(ii) Wrong error messages – as in this case, although in some cases, it could be really bad for the user
(iii) Wrong reports. When Yahoo checks its reports at the end of the month/year, it will observe that a staggering 27% of time Yahoo’s servers were really busy. That day, the procurement office at Yahoo will be scrambling to place orders with its hardware vendors. Dells and Sunacles of the world will have a field day.
Apps