Wednesday, September 14, 2011

Microsoft Build conference, Sept. 2011

Highlights from the Microsoft Build conference KeyNote delivered on Sept 13 2011:

  1. Less memory than Win7 (281 MB vs 403 MB); dropped 3 processes
  2. New WinRT – Windows Runtimes
    • Graphics, transitions, effects built-in
    • Supports multiple languages on top
    • Visual Studio 11 – really smart!
  3. Cloud
    • Integration built-in
    • E.g. no need to download a photo from web-services and store it locally before uploading it to another web-service
    • New Windows App Store
    • Can publish apps to store directly from Visual Studio 11
  4. UI
    • “Fast and Fluid” vision and execution
    • Hardware accelerated graphics
  5. Hardware:
    • Fast boot!
    • Signature-checking on boot
    • Can boot from a 256 TB drive (in comparison Win7 can boot from upto a 2 TB drive)
    • Lots of work on supercool devices like sensors, 3G cards, etc. including protocols (e.g. USSD support)
  6. Experience measurement, remote desktop
    • New task manager
    • Windows Assessment Console that runs benchmark tests
    • Metro style remote desktop
  7. Virtualization
    • New Hyper-V integrated into Windows 8
    • Mount ISO’s, mount VHD’s!
  8. Desktop
    • New tile-based start screen
    • Ribbon-based UI
    • Quick access toolbar (if you use Office 2010 you’ll know what this is)
    • New multi-monitor support
    • Search built-in start screen – just start typing and go
  9. IE10
    • Hardware acceleration support
  10. Social integration (context)
    • LiveID login – can connect a PC to Live
    • People application (from Windows Phone 7)
    • Photos application (local HD, Skydrive, FB, Flickr)
    • Other applications open from same context as social apps (e.g. mail app from photos app when you share via e-mail)
  11. Live API’s for SkyDrive
    • Sync across PCs and phones
    • Can create your own SkyDrive store - this looks like a killer proposition along with cloud integration and linking capabilities!
 
Some cool things demoed:
• Wrote a photo-doodle app that grabs pics from a content store and allows doodling on it with “58 lines of code”
• A demo system started up faster than my TV!!!
• USB 3 support built-in – showed a speed comparison between USB2 and USB3
• Tap to share through NFC!
• Samsung developer preview PC

Saturday, April 09, 2011

How to survive the GMAT in 3 weeks!

This is definitely not the best way to do it, but if you are stuck in a similar situation that I was with loads of lethargy floating around and no willpower to get going, these may help you:

1. Get some help
The best thing that can help you is someone who can push you. Someone who can look you in the face and tell you that it's high time to start now. A thousand books and people will tell you that this person is you, but they lie! What's stopped you from getting it started is you in the first place and unless you want to spend the remaining 3 weeks in introspection and then postpone your exam, you should find that someone. Fortunately for me, it was my wife. She gave me a verbal ass-kicking that got me started.

2. Self-realization is not the end but the start
The best way to learn something is to fall face-first into it. First day of my 3 weeks, I attempted a full test. I failed miserably , was ashamed of the score I got; kicked myself a few times in addition to the previous butt-kicking; got scared; contemplated postponing the exam but when I finally sat with that sore ass and looked back, I realized my weak points. I will leave you to find yours.

3. Work towards your weaknesses
The earlier you start to work on your weaknesses, the better. Each person has a different style and I cannot undermine anybody's choice of method, but if you are about to go to war the day after, a study of artillery is not going to help you. So what do you do to learn? Practice. Fail and fail over until you see a glimmer of hope and finally maybe success. I did not see tremendous success in my weak points, but working on them helped me gain some confidence that helped me on the final day.

4. Do not forget your strengths
Plain simple, you do not give up your means of making your bread and butter. Do not stress on your strengths, but do not ignore them. If you are strong at math, but know that you take some time at word problems, solve a few more of them.

5. Use the prep material and exams provided by GMAC
Use other material to study if you have to, but avoid taking exams from other providers than GMAC. As you approach your exam, you want confidence and exams other than the GMAC provided ones rarely provide that.


Hope this helps.

Sunday, October 10, 2010

Username 'or' password incorrect. Why can't you tell me which one?

Username 'or' password incorrect. Why can't you tell me which one?

If you ever wondered why is your server so dumb, think again!!!
We always view usability over security are not ready to give up an ounce of usability vs. security. If you ever got the above message when logging onto a server, you should sleep peacefully. Here's why ...

Your username and password are both "personal data". Leaking the password reveals your protected data explicitly, but revealing your username to someone else invades your privacy and leaks implicit data that can be used by malicious entities.

Consider I am your next door hacker kid. I want access to your credit card account online. For the sake of easier examples, say your name is John Smith ...
I have to know your username and your password to log on to your server (of course I have to know what brand/service you use before that, but we'll get there a bit later). For usability, your server decides to help you remember your forgotten usernames. Your legitimate username on the webpage is john_smith
I start typing username/password combinations on your credit card's server page ...

jsmith/password1: Username not found
smithj/password1: Username not found
johnsmith/password1: Username not found
john_smith/password1: Incorrect password

Aha! 4 tries to get your username - not bad; and all I have to do now is break your password with the username constant. This is a hard problem to solve if you do have a really good password, but not that difficult these days if given enough time and resources. Assuming I run a good home machine and that you have a fairly long and cryptic password, the machine would still be able to break the combination in a matter of weeks; if not days (or hours - who knows?).

Now if instead the server was telling me "username or password incorrect", here's what would happen:

jsmith/password1: Username or password incorrect
smithj/password1: Username or password incorrect
johnsmith/password1: Username or password incorrect
john_smith/password1: Username or password incorrect
john.smith/password1: Username or password incorrect
.
.

I would have no information in my 4th try that would give me your username. I would eventually have to try all combinations of possible usernames and possible passwords; thus increasing my problem set exponentially. I would never know your username unless I found the username/password combination that would unlock your account for me.

Just some basics of security for the uninitiated out there. Hope it sparks enough interest in someone out there to get involved.

Wednesday, February 25, 2009

Firefox must-have add-ons

Firefox must-have add-ons

1. AdBlock Plus
2. RAMBack
3. Session Manager
4. Firebug
5. Live HTTP headers

Sunday, February 15, 2009

Indian Politics

We Indians love being told what to do. From birth we are told what to do ... "beta papa bolo, bolo mamma", "walk baby walk", "study", "don't do that!", "get married now", "time to have kids". We are brought up on false beliefs that there will be time to do all fun stuff "when you grow up" ... yeah, right!

Most of us suffer from the psychological problem of being lost when there is nobody to tell us what to do next. We feel confused if there is no "plan" ahead of us. While most of us become scared ninnies and preys in this experiment going on for centuries, the rest of us become predators. They thrive on the surge of power they have when they can tell someone to do or not do something ... and that's where it all goes wrong! Things get out of hand. The dominant ones turn into bullies and end up using physical force when someone "disobeys" them.

Politics plays an upper hand. It recruits these bullies. The bullies have nothing to lose as it is the power surge and power surge alone that keeps them going. The bullies in fact are as vulnerable as the rest of us. Take out their leader and instructor and they are like a bunch of monkeys who wouldn't know which branch they are jumping to on hearing a gunshot.

... and so we have a great system where the higher power feeds the lower power and the lower power survives on the false premise that they are all powerful.

Sunday, January 25, 2009

Windows Mobile madness

Windows Mobile madness

While some programming (yeah I do that) I came across this crazy weird thing happening causing a prefetch abort in execution.

For those who know the time_t datatype in C, it's defined in Windows Mobile in the most ambiguous way: In crtdefs.h as a 64 bit value and in stdlib.h in the Windows Mobile SDK (5 and 6) as an unsigned long (32 bits).

Visual Studio picks up the SDK definition at compile-time and link-time, BUT execution picks the crtdefs value if you have included crtdefs.h in your program before stdlib.h: EFFECT: Crash at runtime - try assigning a 64-bit type that's interpreted as a 32-bit one ... ARGH!

Took me a day and a tech-guru friend to walk through this to realize what was happening!

Gist: Include stdlib.h before crtdefs.h in case you are using time_t data-type in Windows Mobile Programming.
Since I am new to this world and HTML has never hit it with me, I am gonna start with simple editing, although I am sure HTML tags will make their way into my blog once I start putting examples.

Please bear with me if the blog formatting doesn't live up to your expectations - this is not one of those eye-catching blogs that is attempted to win awards for design.

Read the "content" and if you have any comments, post them. I love reading what people think and analyzing how people think.

Given all this, I am not justifying any shabbiness on my blog and have an internal desire to make it the best in all ways; so if you do have formatting comments, they are most welcome to make their way in comment postings here.
This is my nth (read 3rd) attempt at a blog.

Although the heading says "random musings", it's probably the most predictable title for any new blog. I am sure a statistical study will show that at least 20% of new bloggers use "random musings" in their title or description somewhere.

What makes this blog different (or should) is that these aren't random musings of any "thoughtless"/"spotless"/"demented"/"twisted' mind.

These are random musings of my mind - which is thoughtful more often than not.

We all come across various situations in life where we'd like to ramble and vent some energy. Most such situations come in technology for me and I can crib endlessly when in the process of getting something done; but during this process, I also learn things. Things that are sometimes so wonderful that it gives you a sense of accomplishment; things that are sometimes small gotchas; things that are sometimes such stupid mistakes that you feel like kicking yourself.

What better way to convert this learning into something useful for others than a WWW blog?

So here goes ...