Wednesday 23 September 2015

Technology adoption...a keyhole view

New Technology announcements issue

The Internet has made it very easy to keep up with new technologies as often as they come, its now possible with a good Internet connection to witness the launch of a new flagship phone to new versions of software that you use on a daily basis. Its not perfect, Internet services in Nigeria and most other African countries, but at least the little we have, we make the most of. But as a developer in a third world country, I find that a lot of the technologies announced and released are not entirely useful where we are looking to use technologies to change the lives of people. Take the cloud for example, I understand and deeply appreciate cloud services like Azure (wonderful service by the way...), Amazon, Goggle Apps etc. What they promise and provide is wonderful but when I start to think of a solution that would take advantage of some of this wonderful promise, I am faced with a dilemma. how would I encourage a business owner or any kind of business to put their business dealings in the cloud or even make a commitment to adopting, even in a limited capacity, these new technologies to better their businesses? There are several issues here, educating businesses on the immense advantages to embracing technology as a partner in growing their businesses, why the Internet (and by implication) the cloud isn't a scary prospect and how they need to change in order to become "better"! This is apart from the cost of  Internet which by the way is still expensive because for the most part, we use 3G for Internet for all of our online whatever, and so many other things that I cannot mention here and still have a decent blog post. So even with all the wonderful pieces of tech, whether software or hardware announced, its applicability and reach still is a cause of concern for devs and other tech people in third world countries.

Exceptions

Every now and then, you find some announcements that are far reaching in relevance than other tech releases out there. Recently, I read an article at infoWorld, where the author was speaking about private clouds being an extension of public cloud services and he thought that Microsoft was at the fore of private cloud provision with its Windows Server 2016 product which is coming soon. I think this is a brilliant development because clients here prefer on premise solutions, we could extend that to connect with Azure and provide other parts of the business that are not in the same locality with access to the business. I had a client cringe at the cost of doing this sort of thing years ago with Windows Server 2003. Assuming cost and other such obstacles are dealt with, this would make a platform to develop solutions on and make it as wide reaching as possible at a fraction of costs seen years before.

What is the gist of all that I am saying here? New breakthroughs in technology is useless if its relevance doesn't reach a particular percentage of your target demographic. When you have focused view of technology, you are able to make good decisions about technology adoption and use. Take a keyhole view of the particular domain you are trying to solve a problem for in the context of where the solution is to be applied and you will see that your choice of technology will not always go for the newest. Rather it will go for the most pragmatic set of tools available to solve the problem.

Ah well, these are the ramblings that hopefully will get someone on the right track to something!!!

Tuesday 22 September 2015

Entity Framework works...

Discovering EF

I found entity framework when I became disenchanted with PHP and I needed more from my programming experience. I had admired C# developers but was scared to even try to learn it as there seemed to be no community around it for a newbie like myself to want to learn. Then I decided to dive in head long and see what would happen and I must say I have not regretted my decision ever since. If I had not made this decision, I would never have known about EF.

Entity Framework finally made me see why I should use a proper ORM not just any kind of ORM. I dreaded the drudgery of writing SQL every time I had to write data access code for my apps. I had to start remembering normal forms, table joins, should i use inner joins or left joins? Did I have to do an outer join before in lefty or ...hmmm I forget. I tried using Doctrine during my time with PHP, but I have to say that doctrine didn't make it easier to leave SQL to use an ORM. I was pleasantly surprised however, to see that with EF, with the SQL theory I know and following conventions even though I could still tweak things with the fluent API, I could get down to doing my DAL with minimum fuss. I have been using c# and EF for about a year or so and I have written applications for my Dad's office, for my wife so she can keep track of our spending and a picture upload app for a photo studio, all database centric applications and EF has been awesome in enabling me to handle my DAL code with elegance.

With EF 7 coming, what really excites me is SQLite and noSQL support. On stackoverflow.com, I gave a less than appealing way to get EF 6 to work with SQLite but seeing that EF 7 promises to work with SQLite has me grinning every time. With the amount of  work put into EF, I would encourge you, if you are using Msft technologies to consider EF instead of direct ADO.NET (even though its a matter of preference when it comes to choosing technologies to employ).
If you wan to try the preview bits of EF 7, go to the aspnet team homepage on github and flex your muscles with EF 7.


 
 

Monday 24 August 2015

Visual Studio 2015 Typescript 1.5.4 problems

Hello there, I encountered something very weird with visual studio 2015 community edition today. I have become so interested in cross platform development on mobile and have been looking at Cordova and visual studio 2015. Been doing a lot of reading on it so I decided to try and see what I get out of the box from VS. As soon as I ran it..boom!!! It spits an error at me about my typescript version being wrong. I was confused as I had not even touched anything and I get this. I started googling to see what I would find and I saw a lot of articles about all sorts of typescript errors that range from the strange to the ridiculous and I didn't find anything that looked like the problem I was having. Specifically the error said:


"Your project file uses a different version of the TypeScript compiler and tools than is currently installed on this machine.
No compiler was found at C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.5\tsc.exe. You may be able to fix this problem by changing the <TypeScriptToolsVersion> element in your project file. <ProjectName>".


That was it!! All the complaints I was seeing on different sites had to do with VS 2013 and not for 2015 (though if it was 2015, it had to do with typescript development but nothing specific to Cordova and this error I was getting). So I wasn't sure where to start looking and what to start doing. Following complaints on github about VS and typescript, I got a clue to check the folder 


C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\(versionnumber)\typescript\ 


to see the typescript target files for VS 2015. It was strangely looking for typescript version 1.4. I was confused and wasn't sure what to think as I know VS 2015 doesn't come
with typescript 1.4. So I checked and I had 1.5.4 installed. Long story short, it turns out that 1.5.4 is very troublesome and was causing my issues and problems. so I had to uninstall 1.5.4 (In case you are wondering, I uninstalled typescript tools for visual studio with version 1.5.4). I downloaded 1.5.3 which I think is what comes with VS and voila, everything worked. The visual studio team and TSTFVS (TypeScript tools
for VisualStudio) should look into this and help fix this. As wonderful as VS is, it still has a few issues.
Hope this helps someone.