Apps  Contact  Seminars 

Archive for May, 2011


May 31st, 2011

iPad Wifi Connectivity Issues

by Amrinder

Ok, so my new iPad2 froze today, and I had to do a hard reset.  But oh well, things like that happen, so no worries.

But this, I do worry about – I can almost never figure out whether my iPad is really connected to the Internet or not.  Over the weekend, I had a chance to spend some time at the beach.  The beach had no wifi, but the hotel did.  Only, that the iPad wouldn’t really catch it.  It would say it did, but not really.

Here, iPad says it is connected to the hotel wifi..

iPad Says it is connected - Yay!

But it is not really connected, nay!

But it is not really connected, nay :-(

I tried to disconnect wifi, reconnect, sleep on, sleep off, bla bla, about 3 times, and then gave up.  Perhaps for the best.  :-)

Tags: ,


May 20th, 2011

3 reasons iPad is better than Netbook (and 10 reasons it is worse)

by Amrinder

iPad Versus Netbook

[This is an iPad vs Netbook review, not an iPad vs Xoom review, since I don't have a Xoom yet.  I do have an iPad2 and a Dell netbook.]

Let me begin by stating the obvious.  iPad has 3 significant advantages over a netbook:

  1. Better form factor: iPad has a better form factor compared to the netbook.  It is smaller, you don’t really need to “open” it.  It is very convenient to work on in the plane, and is lighter than most netbooks.
  2. Boots up quickly: iPad boots up instantly. (Someone will correct me that that is an iOS vs Windows 7 distinction, and I will correct them to say that I don’t care.)
  3. Battery: iPad’s batter lasts about 8 hours, compared to Netbook’s 4 hours.  When I am teaching, my lectures are about 3 hours long.  With netbook, this works OK, but if I work an hour or two before the lecture on the netbook, it cuts close.  With iPad, if it is fully charged before the class, I can work on it for 2 hours before, run my lecture, and still have enough to work on the metro back (or the flight back, if needed).

Now, there are a few things in which iPad is worse than a netbook.  Before I describe them, first, a word of caution. All of these things have been written after directly working on iPad. Even this blog post has been written from iPad, so I can take in the full experience. So, this has all of my experiences, not things I heard.  Secondly, for most of these things, there must be work arounds, some settings, some apps. I am interested in knowing about them. But I am comparing an out of the box netbook versus out of box iPad.  The only things I added to the netbook were Microsoft Office and Firefox, and to iPad, I added iWork.

  1. Airplane mode or work offline. Apple has this reputation of being user friendly. So, as i took off on my transatlantic, I launched my iPad and got ready to do some reading, I turned the airplane mode on. As I go through my email and catch up with old emails, it gives me a prompt about every two minutes, “can not connect to server”. Well, duh iPad – you are on airplane mode. This is never a problem in the netbook with the dreaded windows systems, you set it to run in work offline mode, and it never complains.  Now, now, someone will likely show me how to achieve that effect using iPad using a friendly “offline mode helper” app, but I didn’t shell out 500$ to install apps so that my iPad can do things that my 380$ netbook does out of box.  (This point was written while actually on the flight, and my next seat passenger Sarah said that the little popups about connection in airport mode were “retarded”.)
  2. No Alt tab. It is not that hard apple, you can do it. We desperately need it. Clicking on the “home” button and going to menu, and clicking on mail, and copying something, clicking on the button again, clicking on “notes” and then doing the paste is not my idea of efficiency, even though yes, it is a very slick apple experience. I am more into getting things done, even if they come with that ugh kloogy windows experience. 7 clicks to do a thing at can be done with 2 is not good.
  3. Image editing. Snapshots and editing are a pain. My work involves a lot of application review – seeing how “it” looks. When the app does not look perfect, i take a snapshot and mark it up. It is this “image” editing aspect that the apples a re supposed to be good at! But it appears that you need an app for image editing. I am beginning to realize that a certain percentage of Mac or iPad users’s time goes into reviewing the apps in the app store.
  4. Keyboard. Shift/upper case in the keyboard. BB is really smart, it has this mechanism to upper case something simple by holding the key for an extra half a second or so. Apple hasn’t yet caught on to this intelligence. You need to use shift key, which is really inconvenient. For example, if I want to type CVS, this requires me to type shift, c, shift, v, shift s. Or I can lock shift, using: shift shift c v s shift. No comparison with BB in typing, even with a larger form factor.
  5. Keyboard. Generally speaking, the on screen keyboard is not as smart as it can be. After all, that is the biggest benefit of a soft keyboard, it can change. I hope Apple fixes this in an OS upgrade.  For example, even my GPS keyboard is smarter in flipping between upper and lower case.  At the very least, when you are in upper case, it shows you the letters in upper case.  When you are in lower case, you see the letters in lower case.  You should not have to look at the shift key to see which mode you are in.
  6. Notes. Notes has no undo. Are you kidding me?  Also, Notes has zero formatting options. Truly the devil (Microsoft) has spoilt me.  I am used to basic formatting even in tasks, calendar notes, everything.
  7. Mute. Mute is not mute. You go into a board meeting, and dutifully mute your phone and your iPad using the super convenient mute button. However, it only mutes your app, not the advertisements in your app. This is really fishy, how can an app override the hardware mute switch? This is on the boundary of ridiculous and incredible, so don’t believe it if you don’t want to. But if you have experienced it, you of course believe it, and then it is hard to justify this.
  8. Screen sensitivity on periphery. It is not as easy for the kids as I had heard. My 3 and half year old can’t easily play YouTube videos on it. Why? Well because the way some kids hold it, their fingers are touching the edge of the iPad. So, the finger stroke in the middle of the screen (to play the video) constantly gets ignored. I am sure in a later version of iOS, fingers that are not moving at the edge of the screen are going to be recognized as “holding” fingers, and not counted as touch. But the future is not when I am writing my review.  (I had heard a line that “iPad” experience for kids is magical, but my own experience entirely defeats that.)
  9. Configurability. You can’t rename the apps or their shortcuts. This again is the kind of configurability that we have come to expect. For example, I have this app called “perfect downloader free”. (This app allows me to download PDF links in safaris browser to the file system.  Now, the mere fact that I need to have an app to download links from my browser to my device is a shame, and that itself should be a point.  But I digress.)  Due to its name, the only thing that I see on my iPad is “perfect…free”.  Of course, those two words don’t really tell me what the app is.  So, I try to rename this to “Downloader”.  But, apparently, I can’t rename things.
  10. (I saved the best for the last.) No user file system. It is kind of hard to believe, yet the near first thing that you notice, but iPad has no user recognizable file system. While it must have something internally of course, the user can’t really see anything with a semblance to “My Documents” or anything like that.  So, for example, when you use the downloader utility that I mentioned in the previous point, it downloads all the files, and keeps it in a giant list.  You can’t create folders/sub folders etc.  Just put them in a list.  To say that it is rather limiting would be an understatement of epic proportions.  Now now, I am sure that there are some apps for this, but enough said about the apps already.

So, whats the conclusion?  My conclusion is what many others have said many times.  iPad is still largely a content consumption device.  Content creation is still a pain on it.  Note taking (with noted caveats), emailing, using web to do my task management, delivering lectures etc works OK.  Creating long documents on it is still a pain.

I will finish this by pointing out one more argument on each side.  One positive thing about iPad is the Garage Band app, which is a killer app ($4.99).  Another negative thing about iPad is that there is no Microsoft Office port available for it.  There is a reason why Excel and PowerPoint are popular, and whether or not you agree with the choice of apps, people want the capability to freely mix apps with devices.

Tags: , ,


May 3rd, 2011

Rose is a Rose (but name is important in software and algorithms)

by Amrinder

Ms. Juliet Capulet: “What’s in a name? That which we call a rose, By any other name would smell as sweet.” Sure, but Juliet was not an algorithm designer, or a software engineer, or a color guesser!

Apparently, naming is HUGELY importColors!ant when it comes to those non-romantic fields. John McWhorter’s The Story Of Human Language, presents a fascinating example: people of a certain culture have names for colors red, green, yellow etc, but do not have a name for color blue.  Let us call them NoBluez, and let us call ourselves NoCluez for the time being.  The NoBluez people see colors just fine, just like you and me, but they don’t have a ready name for the color we call blue. On the other hand, they do have two different names for two shades of yellow, that we normally call just yellow.  Let us suppose that their names for the yellows are yellow (the light one) and izaga (the dark one).  An experiment is conducted when colors are flashed quickly, and the people are asked to name the color.  Although the NoBluez people and the NoCluez people are able to name the colors correctly in all cases (they are all home sapiens after all), still, the NoBluez people have a certain delay in finding and calling out the color blue.  NoCluez people, on the other hand, show a delay in calling out the color izaga.  Merely, the naming of the colors, has an impact on how quickly we can recognize it.

Nothing in algorithms, or in software engineering could be a more appropriate lesson.  If you are going to have a fruitful communication with your team mates, and you are going to make sure that everyone understands and uses the newly written method called “processIt(boolean  b)”, then good luck to you!  While you may be able to tell everyone today what the method does, the chances of your method standing the test of a few weeks time, are basically zero.  Someone will write a worse mouse trap, but name it better (for example, “synchronizeCalendars (boolean inclPastEvents)”), and that is the method that everyone will eventually use.

Software Architecture

But that is not all of it.  It doesn’t merely affect the usability and recognition of the method. Using a good name helps  the person writing the code or the algorithm as well as you think through the logic and the various components and subsystems.  Especially more so, when you have a system that is bigger than a few lines.  For example, consider the attached MapReduce flowchart (courtesy Lukas).  Naming each of those steps appropriately: “split”, “schedule”, “combine” is helpful in going through the motions of designing.

Tags:


May 1st, 2011

Inland Transportation Improvement using Trade and Transport Data

by Amrinder

The NTELX World Bank presentation from October, 2010 is now available publicly:


Event Announcement

Slide Deck



May 1st, 2011

Dynamic Programming Puzzle – $20 Amazon Gift Card

by Amrinder

[$20 Amazon Gift Card for the first person who solves this one.]

Problem: Find the least cost path from one end of a 1 dimensional hallway to the other. The diagram may be drawn as follows:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

where the left most space is denoted cell 0 and the right most space is denoted cell n-1. The goal is to get from cell 0 to cell n-1.

Constraints:

1) You may walk 1 cell per move, either to the left or to the right. For example if you are in cell 1 you may walk to cell 2 or cell 0. If you are in cell 0 you may walk only to cell 1.

2) Each cell has a cost associated with it (cost >= 0). This cost represents the cost to walk TO the cell. For example, if you walk from cell 1 to cell 2 you incur the cost of cell 2 to walk there. If you move from cell 2 to cell 1, you incur the cost of cell 1 instead.

3) Certain cells may have a cost of -1 associated with them. If this is the case, you can not move to that cell. You can also not cross over that cell.

4) To assist with the -1 cells, certain cells (but not all cells) have teleporters you can use. Teleporters transfer you to a new cell which is specific to that particular teleporter (could be to the right, could be to the left, or even could be to the same cell). If you are in a cell with a teleporter (or multiple teleporters) it is your choice whether or not you will use a teleporter.

5) All teleporters have the same base cost (see constraint 6). When you teleport, the only charge you incur is the teleporter cost, never any cell cost.

6) Each time you use a teleporter the base cost of teleportation increases by 1. As an example, say the base cost of a teleporter is 10 units. The first teleport you take will cost 10 units. The second teleport (whether it is the same teleporter or a different one) will incur a cost of 11 units because you have already teleported once.

7) You may never teleport to a cell that has a cost of -1.

Input: You are given the following at the beginning of the problem

1) The cost of all n cells (Denoted as C(0) … C(n-1))
2) The location of all the teleporters and the cell which they will teleport you to (like 0->4 3->2 3->8 5->8 could represent a list of 4 teleporters). There could be 0 teleporters available.
3) The base cost for teleportation

PS: It is not required to use Dynamic Programming as the only technique. I mention it only because it appears to be a good choice, but then again, there are no strong hunches!

Tags:


Switch to our mobile site