jay's old blog

this blog will be deleted soon - please visit my new blog - https://thesanguinetechtrainer.com

Revisiting windows phone - Windows Mobile 10

A few months ago, I blogged about how I am giving up on windows mobile or windows phone or whatever Microsoft decides to call its next mobile OS. Then, I decided to buy a pretty expensive keyboard and mouse, and that changed things. I wanted to check the extent to which the wedge keyboard has been programmed to work with its parent mobile operating system.

In all the following scenarios, the wedge has been paired with the device under question. For example, on a laptop (running windows 10), I could press the 'windows start' key and the menu pops up. If i press the same key with the android phone, nothing happens and same applies to the iphone. Now, when I paired with the 640 XL running windows 10 mobile, the home screen appeared. Then, it went further. I could call cortana, and voice the commands. I was also able to use the Tab key, the short cuts in edge, and of course bring up the menu in Word. What I see that, the wedge, being a Microsoft keyboard is wonderfully integrated into the mobile OS of Windows 10. It is truly a universal OS, this windows 10.

Suddenly, I realized something. The potential of the mobile OS of Windows. Of course, the app gap is still there, but if I am willing to get things done via web apps and Microsoft apps, I can get almost everything done on my windows phone. Add in the continuum effect available in current generation windows mobile OS phones, there is a good chance that I can get everything done with just a windows phone and nothing else.

Last night, I was able to write several emails, write an entire chapter of my upcoming novel, browse the internet and of course, chat, all on the windows device, just like I would on a PC. So, perhaps, I was premature in calling windows mobile dead. I cannot imagine the regular folks ditching their smartphone for windows mobile. I myself wont do that. However, I can see that the windows could be a light weight productivity machine, especially for those who are already armed with wireless keyboard and mouse, and dont wish to pull out their laptop for some quick work stuff, and are tired of getting work done on the tiny mobile screen via touch.

I don't know what the future holds for windows mobile. Heck, I am sure, even the big bosses at Microsoft are not sure what to do with it. What I do know is, I am not completely averse to buying a windows phone device. I think, it can complement existing devices that a individual carries. I have half a mind to pull out my 1520 out of the shadows, get it repaired and use it again.

Gender based differential pricing - Why I do it? - Feminism or Women Empowerment or plain old pervesion?

If someone is reading my blog regularly, they know that I work as a developer, trainer and a consultant. As with a lot of folks who do what I do, I have a simple business model. I charge hourly, and I accept payment in advance. Like Deadshot says in Suicide Squad movie, "No money. No Honey".

On a related note, for many years now, I have been learning - by accident and by design - that the world is not split into black and white. It's not just two colors. It's an entire spectrum of light, which starts at complete black, and then going up to complete black. Which means, except for the the very first and the very last digit of the color spectrum, life is simply some variation of grey.

One of those grey areas of life has to do with roughly 50 % of the world population, which is the female gender. This video by onion, summarizes a lot of things about women in a very short duration. In fact, the onion taught me more about running a business than my 18 months at business school. Of course, that is not a knock against my b-school (which is totally awesome by the way) but simply how good the writers at the onion are.

Anyway, coming back to the topic of women, yeah. It all started when I graduated from Primary School. Here is what what happened to the gender ratio.

  • Primary School ( 35 girls - 29 boys)
  • High School ( 16 girls - 50 boys)
  • PU College ( 5 girls - 30 boys)
  • Engineering ( 30 girls - 90 boys)
  • MBA ( 15 girls - 105 boys)
  • Office ( 10 girls - 120 boys)

Even when I was a kid, I realized that the women simply seemed to drop out of the map. In fact, the transition from primary school to high school was shocking to me. Not to brag or anything, During my studying days and onward to my work days, I almost always ended up finding myself in some of the best school, collleges, MBA school and workplaces in the country. Which means, I found myself in good, solid environments where things were pretty liberal and perhaps, a very open environment.

So yeah, what happened to all the women? Of course, as a trainer for the last four years, I have an insight and perhaps a portion of the answer to this question. This blog is not the place to get into what I have discovered in terms of an answer.

However, what I did was, I decided to do what a lot of people are already doing. For instance, I get into a bus, I see that a lot of seats are reserved for women. I think this is a good thing because, for a variety of reasons, men are simply faster! If, due to some reservation, if more women can enjoy a comfortable journey, then it is perhaps a good thing. If it is a bad thing, then I am going to turn a blind side to it because I am personally appalled about the missing women at high school, engineering college, b-school and work place.

So, I decided to implement differential pricing in my own developer, trainer and consultation activities. When a client approaches me, I offer them my rates. Then, If they are female, I offer them a 40 % discount. Again, the key word here is 'offer', which means its a choice. If the female client wishes to take the offer, then she can take it. However, if she feels insulted or perhaps feels bad, then she can pay what her male peers are paying. No female client has said no to the offer. They all take the 40 % discount, and they all seem to be very pleased with it.

On the other side of the gender tennis court, the male clients don't actually complain that I am giving their female counterparts a huge discount. In fact, they say that I am doing a cool thing, and congratulate me for giving the discount.

Another interesting thing is that, some male clients think that I am doing this for perverted reasons. As a logical man (well, most of the time), I can see why they think that. However, the female clients, the ones who are happy and pleased that I am giving them a generous discount, never say that I am doing it for perverted reasons. On the contrary, they think I am doing a cool thing, my bit to help women in general and in the world of technology in particular, and it is evident from the many glowing reviews they leave me on my professional profile.

Welcome new Friend - Microsoft Wedge Mobile Keyboard

It is fairly obvious that I consider wireless keyboards an essential tool in the arsenal of developers. Further, I recently lost my previous keyboard due to said device reaching the end of its life. I wanted to replace the previous one with something better, and lo behold, the replacement, and my new best friend - Microsoft Wedge Mobile Keyboard - just arrived.

One thing I would like to get out of the way. I had to import - purchase this thing. That is just sad because, Microsoft should really look into this. If Apple can sell overpriced smartphones in India, I dont see why Microsoft cannot sell overpriced (but totally worth it) keyboards.

Right then, the keyboard is tiny. Yet, I had no difficulty in achieving a speed of 69 wpm. My regular everyday wpm is somewhere between 70 to 80 wpm. That means, although the keyboard is tiny, I dont foresee any loss in terms of typing efficiency. Over time, once my fingers get used to the spacing and the size, I should reach 75 wpm, if not greater. Setting up the keyboard was pretty straightforward. the package included batteries, which is great. Once the device was powered on, I simply had to turn on the bluetooth button, and a useful light started blinking. On the PC, I simply had to turn on bluetooth which immediately recognized the keyboard.

After that, I simply had to choose to pair, enter the password and that's it! This is a wonderful improvement for me because my previous keyboard interfaced via a bluetooth dongle. I will admit that the dongle, was perhaps the only complaint I had about it. In fact, the reason why I had to say goodbye to the Microsoft Wireless 2000 was because the dongle developed a hardware fault. Anyway, it cost less, of course. So, I got what I paid for. Coming back, yes, no more of that dongle business which is just cool.

Another thing for which I was really excited is the keyboard cover, which also doubles up as a stand. I tested it out right away. It looks soiid. Based on my history with Microsoft hardware, I know it will continue to be solid. And, the stand fit snugly against my smartphone. So, yeah, I got a solid stand for my smart phone and other mobile devices I might purchase. The stand is but a small bonus. The real bonus is that the keyboard works with android as well. So, I fired up my android device, and turned on bluetooth. Just like that, the keyboard showed up and I was connected. I also had this checked with a friend of mine who has an iPhone. It worked equally well, with the same fluidity of connecting and typing.

I wrote a long email to a friend, just for the heck of it, and it is so amazing. There are so many times, where I have written long letters and documents on my smartphone. Of course, Microsoft Word on the android is a joy to work with. Now, combined with this Microsoft Wedge Keyboard, looks like my productivity numbers will increase significantly with the smartphone as well, just as it does with my PC.

If there are folks out there who are thinking of buying this keyboard, then, I would (based on the impressions from the last one hour) totally recommend it.

Novel update - the connundrum and complexity of naming characters

The more I dig deeper into my second novel, the more I realize that the narrative has expanded to span across cities, planets and even sun systems. Although I have only written seven chapters, the narrative is already spread across two different sun systems, and has more than 25 named characters. By my estimate, these seven chapters comprise no more than 15 % of the novel. Although math does not apply linearly to stuff like novels, I fully anticipate the narrative to criss cross through even more planets and cities. That means, the number of named of characters may reach 50, 75 or even a 100.

The problem is, coming up names for them. I dont know why or how but so far, I have had no difficulties in coming up with unique background (as part of character development) to even tiny roles which last no more than a page. However, when it comes to naming them, I run into blank walls. No matter how much I try, I end up with the same names and it kind of bums me out. That is when I realized that, if I am going to finish this narrative, I must come up with some kind of a algorithmic name generating system (you know, me being a developer, I inevitably gravitating to come up with software solutions such as algorithms to solve literary problems) or else, I could be wasting a whole lot of time, simply coming up with acceptable names.

That is when, I ran into this trope called as 'Line of Sight Name'. The trope is mostly used for comedic effect wherein a character (who is unprepared or taken by surprise while being competent in other ways) has to quickly come up with a fake name. Then, the character will simply figure out a name based on what he is currently seeing. This is most accurately demonstrated in the old classic movie, Mrs Doubtfire. In this movie, the lead character (who ends up cross dressing as a old woman so that he can spend more time with his kids) names his alternate identity after looking at some stuff. Just like that!

I just realized, I could do that constantly. When I am writing or thinking, I find myself in all sorts of places. I travel a lot! Like, so much and that means, I find myself constantly in different environments. When I have a few characters to be named, I simply look around, club them together and make up some name. Of course, I quickly jot it down in my writing diary. The randomness of this technique also means that if I do not jot it down, that name will be lost forever. Such is the concept of randomness. It has its good and bad sides to it.

So, I am blogging this right now. I need a name. Surrounding me is a green work cubicle, a black chair, coffee cups, grey wallet and so many other items. Picking up elements from these items, I can come up with names such as 'Cupgrey' (Coffee and Grey Wallet), 'Borderdot' (The white cup has a border on which I see some coffee spilled), 'Lydev' (there is a device lying on my table)...and I can just keep going on like this.

Fortunately, the world in which my narratives are set, are all futuristic space colonies in some distant future. That means, just as with technology, people are also very different. That gives me the option to name my characters as weird as I want. I am convinced that when there is a situation where an individual is sitting in a spaceship that is getting ready to land on an orbiting asteroid to refuel, nobody is going to worry too much that his name is 'Lydev Borderdot'.

Novel update - Trying to pass the bechdel test

I continue to work on my second novel (at present time, I have completed 7 chapters and the full story has already been narrated in my notes), I keep trying to incorporate some ideas that appeal to me.

One of those things that caught my fancy is the Bechdel test. It is defined as follows - "The Bechdel test asks if a work of fiction features at least two women who talk to each other about something other than a man. The requirement that the two women must be named is sometimes added." and is credited to Alison Bechdel.

tests such as the above are not like Newton laws. They cannot be proved universally. For instance, two women could be talking about another man (who also happens to be the main villain, who they are trying to take down). In this context, these two women (who are actually strong, well developed confident warrior characters who happen to be female), will fail the test because they are constantly talking about a man. There is that.

Yet, when I think about it, and use this test judiciously, I find that, the test kind of make sense. In my novels, I have tried to include more female chracters (although, I am naturally inclined to include more male characters, but then, I realize my mistake and go back and change the gender and rewrite their characterization). However, I find that, without even becoming aware, these female characters are inevitably talking the men in their life and nothing else. In some way, this is wrong because, if two male characters are talking, they are not almost always talking about women. They are talking about all sorts of other stuff.

So yes, the bechdel test is not perfect. However, by being smart about its usage, I think I can make my novels better. Make them more appealing to whomsoever ends up suffering through my written words.

When Microsoft is more cool than Apple

It is not just regular folks who can get petty. Large corporations can also get extremely petty. For instance, both Microsoft and Apple had their tech events, pretty much on the same day, or at least within the same 24 hours. For extremely obvious reasons (time zone) , I was unable to watch the events live. That leaves me to follow on my favorite tech sites, which provided me with the summary for both Apple and Microsoft events.

Over the last few months, I have learned that rooting for a single party is no longer option. There was a time I was a strong one technology partner guy. Windows PC. Windows Phone. Windows Tablet. Server means Azure. Browser means Internet Explorer... You know, like that. Of course, the way I see it now, such things do not work anymore. Microsoft makes the best Keyboard and Mice, but Apple makes the best tablets. Azure has the best cloud services but Amazon is cheaper. Microsoft has the best development tools but perhaps, not the best customer mobile platform. That vote goes to either Apple or Android.

So, I now follow multiple tech companies, and am open to using their services if they are indeed the best in their category. That brings to the above two videos. I have got to say, Apple presentation was simply the opposite of 'wow'. It was perhaps as boring as the many (I mean 100s) presentations by my class mates in my b-school education days. Perhaps, the most bumming part is the lack of Macbook Air. Before this presentation happened, if someone were to recommend a portable, I would have told them to go for a Macbook Air. Now though, I would rather they bought a Surface Pro. Then, I would also tell them not to get the insanely overpriced Touch Cover Keyboards. Instead, simply buy a wedge keyboard and a sculpt mouse.

The Microsoft presentation though, it was simply more diverse. The dial (which looks useful), the huge display PC, the VR stuff, the hologram and the 3D things. Of course, all of them support direct, keyboard less interaction. Overall, it is simply so cool, and for once I can look at an Apple fan and say, 'Dude, MS has the goods now'.

Does that mean, I am happy that Apple is not doing cool stuff? On the contrary, it makes me sad. The way our world works, or rather how it should work, is that all involved parties should be trying to outdo each other. If not, innovation stops. If Xbox One wont innovate, than the Playstation 4 has less of an incentive to innovate. If Samsung does not keep pushing edge of the thing stuff, then Apple will lose its motivation to do cool stuff. Windows Phone might be dead, but that does not stop Microsoft from keep pushing at least some stuff to its down and out mobile operating.

So, rather than allow a smug look on my face (yes, I am now more open to other company stuff but I still lean heavily towards Microsoft) I will hope that this was simply an aberration in the scheme of things. Next year, perhaps we can have a win-win. Apple shows off cool stuff, Microsoft shows off cool stuff. That would be the most amazing thing that could happen.

Developer tips - project diary for better efficiency

Perhaps the obvious causality of the apparently 'modern' world we live in, is the death of paper usage. Environmental concerns aside, there is something 'intellectual' about writing on paper. Ideas flow when you hold a pen and paper. Every time I architect a new project, nothing gives me clarity and viability of said project more than writing everything down and drawing everything down on paper.

I am saying all this because of the sad state of diaries. Yeah, nobody uses a diary these days because they think its lame. Sure, keeping  a diary of everyday events might sound lame but nothing helps you keep track of events like a diary does. I cannot request my fellow developers to use a diary in their personal life but I sure can implore them to use them in their work life. Software development is not a one way street. That is because (with all due respect to my past, current and future clients and business partners) the requirements change constantly. I can recall more than a dozen incidents where half an hour before the project is to be deployed, the client comes and says, 'hey man, there are some changes in the main page of the app or website or whatever'. Of course, I ask them to pay me double my usual hourly rate for last minute work, but the point is, requirements change constantly!

That is just the tip of iceberg. Each phase (or sprint, if that is the word you prefer) has a number of activities to do. Then, within that phase, the assigned tasks (which are in turn based on client requirements) can change any time. Then, the phases themselves change, like the order. Phases get deleted and get added. Sorted in extremely weird orders and it just keeps happening this way. Also, tasks take quite a while to finish. Tasks that you start today, may end after 2 days or 5. Within a task, there will be list of tasks to do (especially during the second of project development where you are doing both regular development AND bug fixing AND requirement changes by client which actually means deleting a lot of old stuff and redoing already done work). All in all, it is a cluster-flower or cluster-farm or cluster-fox (I hope you know the right word to replace here :P ).

There are many ways to do it. One way, I do it is to maintain a diary. As a consultant, I end up working on multiple projects and multiple assignments (and this whole task management diary is not limited to software development. Just as with development, even during training, a lot of things can change from the client and we should flexible enough to adapt to them. Of course, one may wonder, why bother? Well, two things. First, the client is paying me a lot of money, and I charge hourly. The more changes they make, the more I get paid. Second, hello, customer is always right. You 'discuss' with a client'. You never 'argue' with her or him) and so much of stuff is going on. Obviously, no woman or man is alone. That means, whether you are married, have two kids, two sets of parents (you know, regular parents and in-law parents) or single and ready to mingle, your personal life will always be complicated. Of course, I like to keep things simple (at least I try and mostly stay successful ) but a lot of developers I have seen simply cannot stop over-complicating their mundane life's (sucks for them, right?) and that means, with all this work stuff, personal stuff also gets mixed up.

I am so psychologist and cannot advise about people screwing up their own life's (and I have seen people do that every damn day) but I sure can suggest the things that make the developer part easy. A simply diary for everything. For every task, for every interaction and for every client change. Yes, this consumes time. Sometimes, I spend more than an hour after a client meeting, just filling up my diary. On the outset, this is a cost, a time cost. However, this saves me hours, days and even weeks of non-sense discussions later because the diary avoids disagreements. I learned very early in my life as a trainer that people argue endlessly because they are debating on bogus data. However, when you have a diary, the facts are in front of you. Your clients (and co-workers) have no reason to argue because the facts are in front of you, mentioned right there in the diary and backed up with email communication, call recordings and meeting recordings. When you place facts (or throw them in their face if the occasion calls for it) on the table, the endless arguments become quick 5 minute discussions and guess what? They also become productive.

Further, the diary allows you to keep track of the work you are doing. It allows you to give accurate estimates about work completion timings. Another reason why clients become upset (and starting shouting you, and then horrible name calling ensues) is when deadlines are not met. In this scenario, I usually blame myself and fellow developers instead of the clients. Clients are not developers and that is why they are hiring us to their work. That means, they depend on us to build the project timeline. That means, the onus is on us to give a proper time table for work. This timetable can become efficient, when there is a reasoning behind the calculation of total project work time. The diary with the notes, and completion status and all that totally helps.

The diary (at least for me, and I have been jotting down things for years now) acts like a personal time machine. Going back through the pages of your work (and personal) diary, allows you to look back and see what you did good. What you did bad. It allows you to quantity stuff that has happened, and by way of iteration and thoughtful thinking, make you a  better person. Further, if the occasion calls for it and with certain discretion applied to the diary pages, the diary becomes a fantastic to impress potential clients.

So, yeah. There you go. Go out there and get a diary. Although I started off by talking about paper diaries, digital diaries (with their multi device syncing and endless pages and search features and overall media friendliness) are better. My personal and professional choice is OneNote (the awesome service for Microsoft because it is awesome, free and ad-free and available everywhere) but a good second choice is Evernote (the free version is pretty limited, but the paid version is solid, I am guessing). Of course, you can also use standard text and word documents stored in the cloud service of your choice is also a good option. Lastly, if you are so inclined, you can also buy an actual paper diary, which is also a good option.

Trainer diaries - the smell of defeat - episode 1 of X

[Note 1 of 2: The story, all names, characters, and incidents portrayed in this narrative are fictitious. No identification with actual persons (living or deceased), places, buildings, and products is intended or should be inferred.]

This year, I celebrate the 4th year of my entering the world of training. Yup! 4 long years. The life of a trainer is one filled with adulation and adoration. It is also filled with disappointments and soul crushing incidents.

A standard degree (engineering or otherwise) does not run for more than 4 years. That means, a 1st year student I met 4 years ago, has now finished his or her studies and is now currently a potential tax payer. It also means, i am officially an old person.  Anyway, thanks to social media, it is almost impossible not to find out which student is doing what and where. Today, I narrate one of those stories, and no it does not end well.

The incident happened about 2 years ago. I was going through my usual day. I had just returned home from a lengthy training assignment. I was going through my travel bag, running through the list of things that need to be done (take care of garbage, call up house cleaning services, recharge batteries, replace items consumed in the travel and of course laundry) on a post it. Then, one of my phones rang and there was a frantic voice on the other end. I did not recognize the number (I only save the most essential numbers on my phone. Even as I write this, I may have like 15 contacts out of which 10 are utility numbers like bank and stuff) nor the voice.

It was a student of mine from an earlier workshop or training assignment I conducted way back. The student said that I must meet him, and that it is of utmost importance that I do it right away. I had no intention of riding on my bike (back then Uber was yet to become available in my city) after being on the road for almost a week. Still, I always had a soft spot for students (although, recent events have reduced the soft spot's diameter) and despite my protesting body, I took my trusty bike and drove down to the nearby restaurant that acted as my out of home office.

I recognized the student instantly, but there was something odd about him. He seemed to have not slept for days and all that sparkle from his eyes had left him. No sooner did I sit down, he started crying. I tried to console him, but there was no way I could stop him from crying. Eventually, he calmed down even as I ordered something for him to eat, and a beverage for him to drink. I, as usual, got a cup of tea. Then, he explained to me his situation.

He told me that, now that his college is over, (the exams had wrapped up a couple of weeks ago) he suddenly feels the weight of the world over his shoulders. He talks to me about his family, the many debts their parents took on to educate him. He tells me about his mom being sick. He tells about his father, who is pressurizing him to go out and earn money and take some responsibility. He tells me that he is ashamed to walk around in his own home because he is now an 'unemployed youth' and not the bright star of his family, which he was only a month ago.

I listen and listen, as he narrates the entire event for almost an hour. When he is finally done, I ask him if he thought about his career before today. He says 'no' and then he starts crying again. He admits that he should have planned his career out, and tells me that perhaps, he should have listened to me. He reminds me about the many times I implored him (and his class mates) to take up some kind of a skill training, get out there and do something productive during their student days. He finally just gives up and apologizes to me.

Through all this, I am at a loss of words. I have gone through 3 cups of tea. Then, as I order a fourth cup of tea (he has not touched the gobi manchuri or the fanta I ordered for him) he jumps and stands next to me. Then, he begs me. I was not expecting this. He begs me to help him get a job, so that he can start earning. He continues to beg for a few minutes. To me, this part was the most shocking event of the evening. In front of me is a fully grown man, and he is begging me, a complete stranger, someone he has not met in years. Heck, I still don't his name. Eventually he comes down, and I finally explain to him that I am in the domain of software and since he does not have any skills I can use, I cannot get him a job. At most, I tell him, I can get him a job as a delivery person in pizza or amazon or flipkart or perhaps in a call center.

Then, he stays quiet for a moment. Then, he stands up and tells me that he is an engineer and cannot work as a delivery guy. I wanted to tell him that he should have thought of this 2 years ago, but I did not. For a lot of people, facing the harsh truth is impossible. This young, broken and unemployed man, was one of these people. Besides, me telling the truth would not lift his spirits. Man, he may even punch me (his mental state was pretty unstable) for pointing out the obvious.

As I watched him drive away in an old two wheeler, my 4th tea had arrived. As i drank it (potentially harming my stomach, because 4 cup of tea is never a good thing), I think about him, his father and mostly his mother. I think about how his parents will pay the debt which they used to invest on this defeated man. I wonder if there was something I could have done for him. I think through the entire cup of tea, with no answer. Even as I write this today, I think about that day and realize that I still don't an answer. All I have is a smell of defeat, the same smell I had on that shocking morning. As a trainer, I have failed to help him get out of his current predicament.

[Note 2 of 2: Trainer diaries are narratives of a fictitious trainer who shares about his fictitious life and fictitious incidents. The narrative above is pure fiction. Brand names are used for reference purposes only. Each brand belongs to its owner. If there is something about this blog post that offended anyone, please contact me and I will take it down if proper reasons are given]

Thoughts on .NET Standard and its relationship with dot net framework, dot net core and xamarin

Despite my own feelings about some parts of Microsoft, I find myself continuing to be a developer, trainer and consultant who makes the bulk of his revenue from microsoft platform. Of course, this much is obvious if you read my blog regularly.

Now, one of the things that Microsoft has been trying for as long as I can remember, is to do the 'build once deploy everywhere' thing. This is particularly known to me because of my former strong association with windows phone. As far back as windows phone 8.1 and windows 8.1, MS has been trying to do some kind of a universal thing. Under ideal conditions, sure, things did become universal. However, under extremely practical conditions, things never got truly universal.

Now that the mobile game is lost for Microsoft, it finds itself in an odd place. At least in the home space, it is obvious that people will not abandon their mobiles (and tablets to some extent) and return to getting things done on the PC. Heck, if I was a construction engineer and not a software person, I would get everything done on an iPad instead of my PCs and laptops. So, now, Microsoft is tasked with coming up with something that should do 'build once deploy all' within its own ecosystem, but also across ecosystems like iOS and Android (the two most popular operating popular systems in the world).

To that extent, some definite movement has been happening. For instance, Xamarin (the tech that MS bought out a few months ago) allows a single code to be deployed on windows, android and ios, with a lot of caveats, of course. Then, there is the dot net framework which works very well whether you are building desktop windows applications or server applications or cloud applications. However, even within dot net framework, things that could be taken for granted on windows desktop, cannot be taken as such on server or web apps. There are some differences. Of course, if you were to build an application that is targeting Linux, you are out of luck when it comes to Microsoft.

However, some winds of change, either because that is the next step in a planned strategy or a reaction to the market or simply admitting to a lost battle, are blowing. I already mentioned Xamarin above, and then there is dot net core. Dot net core allows dot net applications to be developed and deployed on windows, Mac and Linux. This is fantastic news for someone like me. If i have to build applications that will be deployed on Linux or Mac, I will have to learn Java and objective C (I am guessing about this). However, I am already a somewhat decent dot net developer. I can leverage on my existing skills and still target Linux and Mac, which are currently not possible for me.

Of course, dot net core is still new. Like, totally new. Further, the task of ensuring compatibility which two widely different systems (I am clubbing Mac and Linux together because their underlying stuff is mostly same) is not easy. So, the dot net core comes with a basic set of libraries. This means, although I can target all three platforms - Windows, Mac and Linux, I am still limited to the libraries that are available. Further, if there is something I want to build and if that cannot be built by the available libraries in dot net core, then I have no choice but to abandon my plans for targeting Linux or Mac.

So, at this juncture, Microsoft has three different technologies that can sort of help me target every popular platform on the planet. The three are - the dot net framework (the big one which has been around for decades), the dot net core (which just started a few years ago) and Xamarin (which has been going good for a while, and now that its free, it could probably go even further). Since they are all Microsoft provide frameworks/platforms, as a dot net developer, I could involve myself in any of them or all of them. In simpler terms, the available tools at my disposal are pretty diverse and cover a lot of platforms. In even more simpler terms, as long as I keep myself updated with the latest developments of dot net, I should have no difficulty getting suitable earning opportunities as a trainer or a developer or a consultant.

Now, Microsoft (almost always trying to do something new and making big bets and this big bets is the reason I love this company) is still chasing that dream of 'build once deploy all'. As mentioned in the previous paragraph, Microsoft already provides the tools to target a wide array of platforms which no other company is currently doing. Everybody is doing the 'betting on one horse' thing and assuming they are invincible. Microsoft though, thankfully, bets on innovation and I love that. So, the next evolution in dot net is this 'dot net standard'. The blog (which is linked here) post from Microsoft, puts these things in a very succinct fashion. It lays out a path that opens up a lot of interesting opportunities.

The dot net standard calls for an idea that will merge the above three things (dot net framework, dot net core, xamarin) under a single framework. This is important because, right now, although the three (framework, core and xamarin) are MS technologies, you cannot switch between them seamlessly. Today, I am working on a dot net framework project, and tomorrow I cannot just work on a Xamarin project. The things I learned while building a dot net core project, may not transfer over to a Xamarin project. There is still a lot of differences between these three, Microsoft technologies. Dot net standard attempts to remove that by providing a common ground for all these three platforms.

The obvious question is, isn't this what dot net core is already trying to do? To me, the answer is yes. However, the key problem here is the question of time. Dot net core is probably pretty solid, but it will take ages for it to reach critical mass like the dot net framework. Will developers (and hence customers and by consequence, Microsoft) wait for that to happen? Very unlikely. That is why, dot net standard becomes the next logical evolution for its three predecessors - dot net framework, dot net core and xamarin.

The next question is, will this become real? Man, I don't know. I think it will become real because the blog post I have linked above looks very confident. Of course, dot net standard is only unifying the libraries. Other stuff will probably remain the same.

Still, a world where I can use a unified library to deploy on any platform I want. That's the stuff dreams are made of.

Follow me on twitter, facebook and instagram for more updates. Thanks!

changes to the blog

4 years ago, when study nildana was started, I believed that a day will come when interns will completely run the show at the technology club. 4 years later, certain events have transpired which have impressed upon me negatively. So, I have decided to turn this blog into my very own person blog. As a consequence, all blog posts made by students (to whom I continue to be thankful as ever) will be removed by the end of this month i.e. October 31st 2016.

Of course, study nildana continues to meet new students and hopefully, some of them would like to blog in the near future. In such a scenario, the plan is to give them their own dedicated blog sites assuming they are able to earn such responsibilities.

students who had blogged on this site are requested to make copies of their blog posts before October 31st 2016 and they are free to post them else where. Further, if necessary, technical help to run their own independent blogs for the former bloggers will also be provided.