Sunday, December 25, 2011
Smart software makes the difference
How smart should software be? I think it should be smart enough to fix our mistakes, but not smart enough to be intrusive. Let's compare Gmail and Hotmail. Let me start by saying I don't use Hotmail anymore. The reason is that it wouldn't let me send emails because it "detected" that the emails I was sending contained spam (I promise they didn't). This was a really frustrating experience, and very quickly Hotmail became useless to me.
With Gmail it's a completely different experience (excluding the UI changes to the interface... I'll leave that rant for another time). First of all, at least it let's me send emails. Now, when I was getting ready to send an email in which I wrote "I'm attaching", I got this message:
This is a good example of software that is smart, yet not smart enough to be intrusive. Kudos to Google.
Wednesday, December 21, 2011
Sharing files between 2 Amazon AWS instances
This is not intuitive at all, and moreover, I found only 1 post that indicated how to do this. The idea is to open the following ports between the instances:
After this, you should be good to go. I got this information from this post, or you can go to this KB article from Microsoft as well.
- Microsoft file sharing SMB: User Datagram Protocol (UDP) ports from 135 through 139 and Transmission Control Protocol (TCP) ports from 135 through 139.
- Direct-hosted SMB traffic without a network basic input/output system (NetBIOS): port 445 (TCP and UPD).
After this, you should be good to go. I got this information from this post, or you can go to this KB article from Microsoft as well.
Wednesday, November 30, 2011
I came across this great article on the future of Silverlight. I'm guessing the same thing can be said about Flash. It's interesting to see how technologies that are widely adopted slowly end their life cycle when disruptive technologies appear. Those disruptive technologies (i.e. HTML 5 and JavaScript) usually don't appear overnight, and it takes a while before they are fully adopted. In the end, it's all about reliability, security and performance.
Tuesday, November 29, 2011
Thoughts on JQuery Mobile
I recently had the opportunity to use JQuery Mobile. I've got to say it's a great product, and even though the first release just came out, it's stable and robust. However, if you're going to use it you need to consider that it has some quirks, and you'll need to resolve those manually until they get fixed in the next release (which come out really often, maybe once a month lately). Still, the advantages outweight the disadvantages.
The most important thing you get is a cross-platform framework that leverages development over customization. Yes, you might need to spend more time in UI development than functionality, but at the same time it allows you to deliver functionality quickly and get feedback from your clients. The analogy that comes to my mind is building blocks: JQuery Mobile provides you with pieces of code that you just need to put together!
The most important thing you get is a cross-platform framework that leverages development over customization. Yes, you might need to spend more time in UI development than functionality, but at the same time it allows you to deliver functionality quickly and get feedback from your clients. The analogy that comes to my mind is building blocks: JQuery Mobile provides you with pieces of code that you just need to put together!
Sunday, November 20, 2011
Copy and Paste is evil
I consider copy and paste of code one of the most common sources of bugs and bad coding practices. First of all, let's talk about bugs. If you copy and paste code, it's likely you're doing it because you don't know what the code is doing; you only know that it works. You only know that it works, and copying and pasting is easier than re-typing. However, adding code without knowing what it does is a recipe for disaster. A couple of days ago I spent 5 hours troubleshooting code that another developer "copied and pasted". If you're going to copy and paste, at least make sure that you read the code you just copied and pasted.
Moving on bad coding practices. Well, this is an easy one. Duplicate code means that any change needs to happen in 2 different places, and you don't want that. You want classes with clear boundaries, otherwise your code will soon become a big ball of mud.
Monday, October 3, 2011
Setting up a Blackerry simulator: "Could not find or load main class net.rim.application.ipproxyservice.IPPr oxyServiceApplication"
Setting up a BlackBerry simulator should be simple. In fact, it is, but enabling Internet access is not. There are some things to consider. First, you need to install the latest version of JDK. The most important thing to consider here is that you should not install it in Program Files. Use C:\ instead. If you install it in Program Files, you'll get a
"Could not find or load main class net.rim.application. ipproxyservice.IPProxyServiceApplication"
when trying to run MDS. After this, when you fire up the BlackBerry simulator you should be able to open a browser and connect!
Sunday, September 18, 2011
Bing Maps SDK Pushpin options not getting updated
You would expect that by setting the height of a pushpin programmatically -using the pushpin options-, then calling the get height method it would give you the new height. But it doesn't. I did a lot of investigation and setting the height was not modifiying its value. As it turns out, you need to set the width as well. It's just one of those undocumented features from Microsoft...
Subscribe to:
Posts (Atom)