12/19/2012

Disappointed in Mac (but more in Win 8)

I have been looking for a new laptop. My current one is a (HP) Compaq Presario, bought in 2003.
Still running strong on WinXP, I upgraded the Disk and RAM midway.



I can tell about this model - the exterior build quality was not good. But the computer was damn fine. So before you make arguments about Mac's build quality, note that exterior and interior are two different things. Mac's do have better exterior quality, all five of them. Interiors - they are all the same - if you know what you are buying.



The hottest new item in the Mac world is the Retina display, so I wanted to check it out. Crisp fonts and lovely, bright screen. I was sold.

But wait!

Crisp fonts yes, but Windows always have had crisp fonts. It's only Mac's fonts which need Retina. Don't give me the true-to-design argument. I don't want it to be fuzzy on my monitor. If Mac users have gotten used to it, good for them. I will not settle for less.

Retina is great, but a 1920x1080 on Windows will do just as fine.

Don't even get me started on Finder. Explorer beats it any day. Explorer is what is Simple and Intuitive. Mac's philosophy is 'Machine knows better than you'. In other words - users are dumb.

Mac (OS X) is "Intuitive". Really! Name ONE function which more "intuitive" in Mac than in Windows.

Windows beats Mac just on the software choices alone. For one $30 Mac package, there will be at least 10 Windows programs, 5 of them - free/open source.

Apple made great products in iPad and iPhone. Their hardware is nice, exterior build is top notch. But OS is a letdown. Preciesly why bootcamp was needed.


Update 12/24/2012

Ordered myself a MacBook Air.




It was a tough call between Retina and Air. In the end the $300, performance and weightlessness of the Air won me over.

Got mine for USD 1299 + 95 (3 Year Apple Care) + Free Parallels from BHPhotoVideo.com

Now, all my criticisms of Mac are still valid. Windows 8 however, is a disgrace to design. I have 'tried' many laptops over the last few weeks but none felt as solid as one from Apple. All you get are poor touchpads, ergonomics and confusing user experience (in contrast to Windows 7). One might get a 1080p display, though Windows doesn't scale it the way Apple scales it on Retina. What that means is that higher the resolution, smaller the text. My other complaint with PCs is the 16:9 aspect. A laptop is not a TV, for Christ's sake. A 16:10 such as that on Air still gives a more useful work-area on the screen.







12/15/2012

Getting started with Raspberry Pi (without needing a separate keyboard)

The wonderful little Raspberry Pi



Purchased from http://www.newark.com/


RASPBRRY-MODB-512M - MODEL B


  •  Silicon Manufacturer: Broadcom
  •  Core Architecture: ARM
  •  Core Sub-Architecture: ARM11
  •  Silicon Core Number: BCM2835
  •  Kit Contents: Assembled Board Only
  •  RoHS Compliant: Yes

Ports on Board:
  • Ethernet
  • 2 USB
  • 1 Micro USB for power (5v 1A)
  • 1 HDMI (full-size)
  • GPIO
  • Coaxial Audio Out

Accessories required

SD Card
Full Size SDHC Card  minimum 2 GB storage (I used 4 GB Kingston MicroSD with Adapter). The advantage of MicroSD over SD is that you can swap it out eassily while the adapter stays put in the motherboard.

Power Adapter
I have used the Nexus 7 Power adapter with ratings 5V 2A. RPi is finicky about power so  choose a "good" power source.

HDMI Cable
Bought it real cheap from Amazon.  HDMI Cable Link

TV/Display
For your visual gratification only.

Keyboard
Not really required, I will explain how your existing computer's keyboard can be used.

Ethernet Cable
Required.

Router and Internet Connection
Your existing Wireless Router should work.

Installation

Download the Raspbian Wheezy image from http://www.raspberrypi.org/downloads and write it to the SD card. Instructions are given on the download page.

Plug the HDMI cable into your Display and the other end into RPi.

Plug the Ethernet cable into RPi and the other end into one of LAN ports available on the router.

Slide the SD Card into RPi.

Power on the Display.

Attach the MicroUSB power cable and power it on.

You will see some text scrolling on your display. 

The first time boot will end up in a "blue" raspi-config screen asking you to configure some settings. But, hey, there is no keyboard! 

Before you can use PuTTy, you need to find the IP of RPi. If you can access the admin console of your router (usually available at http://192.168.1.1) navigate around and find the page when all computers in the network are shown.
In my case the RPi shows up as

PC Name:raspberry
Connection Type:
Ethernet
IP Address:192.168.1.6
Status:Active

Now start putty and SSH your way into RPi. Default user/password in given in the RPi download page.
After you have successfully logged in, run the following:

raspi-config

This will open up the same window which is showing up on your display right now. Use Tab, Up/Down and Enter keys to make your selections.

Most important are:
  • Resize Partitions to fill the space.
  • Enable SSH on startup.
  • Desktop Mode.
Make your selection and reboot. RPi will restart and your SSH connection will be lost. When it boots up, you have to reconnect using PuTTy.

Now you can install some utilities.

To be able to connect to other shared folders on the network.
apt-get install cifs-utils
To be able to remotely control the RPi User Interface (that's how you don't need a Keyboard!)
apt-get install x11vnc
Light DM
apt-get install lightdm
During the installation of LightDM, it will prompt you to choose a default login-manager. Use LightDM.

Reboot. (reboot command on PuTTy).

Once RPi is back up, reconnect PuTTy. (Meanwhile, your display should have a Login screen, asking you to enter User Id).

Execute this command on PuTTy:

x11vnc -auth /var/run/lightdm/root/:0 -noxrecord -noxfixes -noxdamage

You also need to install a Vncviewer on your computer. I used TightVNC http://tightvnc.com/download.php

Start the VNC Viewer on your computer. There would be an option to enter the Remote Host information.
Specify 192.168.1.6::5900

Note the IP 192.168.1.6 is same as the IP of RPi that we found out earlier.

This will take you straight to the Linux UI where you need to enter the UserId and Password. Whatever you do on your computer int the VNC Viewer window will also be visible on the Display attached to RPi. (See, no extra keyboard necessary!).

For playing Audio/Video on your Display/TV use this command from the PuTTy window:

omxplayer -o hdmi /path/to/your/media/file

And voila.

Want more fun, install the VNC Viewer App from Android Market on your Phone/Tablet.
Want even more fun, install XBMC, the full feature media console. We'll talk about that some other time.




















  






8/09/2012

JAX-WS client throwing java.lang.NoClassDefFoundError: com/sun/xml/ws/spi/ProviderImpl

I had generated and tested my JAX-WS client using Weblogic 10 libraries on Java 6 update 16.
Tested this on JRE Update 25, no additional jars were required. Not even wseeclient or wlclient. Apparently the default JAX-WS runtime was doing its job.

However, when I tried to run the same application on JDK 6 update 10, I got the following:


Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/xml/ws/spi/ProviderImpl
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:630)
....

Apparently com/sun/xml/ws/spi/ProviderImpl was nowhere to be found. On some forums I found that this could be resolved by using "endorsed" option. For some reason that didn't work for me  and I kept getting the same error.

I tried to force-load the weblogic provider, but in vain. Same error. Needless to say this was very annoying and I was almost on the verge of switching to Axis.


So, as a last resort, I tried to do things the old fashioned way. Downloaded the JAX-WS RI (http://jax-ws.java.net/2.1.3/) .


Added libraries to classpath as given in its installation guide. No endorsements, just plain old classpath.

And voila. It worked like charm.



So I'm thinking if Java is turning into a Jar hell (as opposed to the DLL hell). Java definitely need a better way to manage library dependency something like Maven. Right now, if it's not for Google, some problems will never get fixed!


5/02/2012

Restoring iPad after password lock-out.

Restoring an iPad after its password is lost and account locked out. (Repeated attempts to log-in with wrong passwords result in lock-out).

I tried this on iPad 64 GB Wifi+3G First Generation model. Should work on other models too.

THE EASY WAY: The easy way out of this situation is to use iTunes to reset the password,  however this works when done from the same computer which was used for last sync.

THE HARD WAY: This invariably erases everything on the device and installs the latest version of iOS.

Here's how-to:
  1. Plug iPad into your computer, open iTunes. Note that iTunes would either not recognize the iPad or decline to read it as it is locked-out.
  2. Press and hold Power and Home keys simultaneously on your iPad.
  3. When the "Slide to Power Off" screen comes up; release the Power Key. Continue holding the Home Key.
  4. When the Apple logo is displayed, release the Home Key.This would initiate the restoration and a message would be displayed in iTunes on your computer.
  5. Once you initiate the Restoration thru iTunes, it gets messier. This is when iTunes downloads the iOS software to your computer before the actual restoration begins.
  6. 10 out of 10 times, when iTunes tried to download the OS, it timed out. So I had to look for alternatives  like downloading the OS myself. (You can get the download links from osxdaily.com).Tried downloading the file using Chrome or IE - both s(t)uck! Then I used Download Accelerator (DAP), it was a breeze. Highly Recommended.
  7. Once you have the OS software (*.ipsw) on you local drive, go back to step 2 above.
  8. Just this time, hold the Shift Key down when you click the "Restore" button. This will let you use your downloaded"ipsw" files for restoration instead of trying to download it from Apple.
  9. Also, you should download the most recent version of OS software or you will run into a "1394" error. (There are some hacks to get around that too...).
  10. From here onwards - the existing software, data, music, games, movies and anything that was stored on the iPad before will be permanently erased and the new iOS will be installed. Not to mention, the password lock will also be gone.
To be able to download any apps on iPad or iTunes on your computer, you will need an Apple Id. However, the registration process "requires" that you put down your credit card details. Which is both ridiculous and ludicrous.

But there is hope. Only at the time of setting up a new Apple Id, you will have the option of not providing your Credit Card info. But if you have already created an Apple Id, and even though you can use that to log into the Apple Store, you would not be able to download any apps until you link a Credit Card to your account. Which is again both ridiculous and ludicrous.