Showing posts with label Technical. Show all posts
Showing posts with label Technical. Show all posts

May 29, 2015

Better AngularJs service for SignalR


SignalR makes our lives easy when buidling realtime webapps. Needless to say AngularJs has already found a permanant role in our webapps. Here is a quick AngularJs service which I wrote to integrate SignalR broadcasts.


 var app = angular.module('signalr', []);  
 app.factory('SignalRService', ['$rootScope', '$window', function ($rootScope, $window) {  
   var srv = {};  
   srv.init = function (hub) {  
     var connection = $.hubConnection();  
     var proxy = connection.createHubProxy(hub);  
     proxy.on('broadcast', function (jobs) {  
       angular.forEach(jobs, function (item) {  
         console.log(item.EventName, item.Data);  
         $rootScope.$broadcast(item.EventName, item.Data);  
       });  
     });  
     connection.start()  
      .done(function () {  
        console.log('Connected');  
      })  
      .fail(function () { console.log('Failed to connect!'); });  
   };  
   return srv;  
 }]);  

August 26, 2011

Is Silverlight really dead?


When Silverlight initially released I was skeptical about it. It was meant to replace Adobe Flash back then. There were quite a few arguments I had with my colleagues about Silverlight and its future. But today, after 4 years of Silverlight’s initial release how many web sites do we see in Silverlight?

The future of the web depends on HTML 5 and Javascript. Open standards and 3rd party libraries are the main reasons for this adaption. I clearly don’t see a potential for another technology. However I’m really impressed with Windows 7 Mobile and MVC from Microsoft. I see a potential in terms of web and mobile. I also heard that Microsoft is working on a new UI application model --“Jupiter” which is simlier to Windows 7 Mobile.

August 5, 2011

Visual Studio LightSwitch

New product in Visual Studio family to create rapid data-centric applications for both desktop and cloud.

Resources:
http://msdn.microsoft.com/en-us/lightswitch
http://msdn.microsoft.com/en-us/magazine/hh335065.aspx
http://msdn.microsoft.com/en-us/magazine/hh335061.aspx

Hope this helps!

Follow me at twitter @ludmal for quick updates

July 28, 2011

Moving your business into the Cloud

Cloud computing is ideal for medium and small scale business. Most of the large scale businesses however, are reluctant to move into the cloud. Mostly because they have already invested on their IT infrastructure or fear of exposing their corporate data. Entrepreneurs are finding cloud computing is more beneficial to their businesses. Mainly because to start their businesses with minimum cost on IT infrastructure.

In Cloud Computing--computing power is used like water or electricity, pay only for usage. This has gained significant benefits for businesses. Scalability is vital for any business and cloud computing allows them to grow computing power with minimum cost. Business can run the IT infrastructure without support of internal tech staff hence save money on payroll.

Drawbacks of using cloud computing are very low compare to its benefits. However, service outages are a major drawback on cloud computing. But those outages are significantly low with major service providers like Google, Salesforce and Amazon.

It is vital for businesses to keep their operation costs to minimum. By moving to cloud computing businesses can gain significant benefits like low operation cost, scalability and availability. For example Google Apps for Business is ideal cloud solution for an small and medium scale business.

July 20, 2011

Most of my personal projects will be retired soon

Finally, I decided to retire most of my personal projects. It was too long ago I developed those software projects and it is time now to put them aside and move on with new ideas. Some of the projects however never actually completed. Following are the projects which are going to retire end of this month and domains are already on sale. Please let me know if anybody interested in purchase.

boilcode.com / codeswave.com – Online code snippet management library for developers.

facebook-stats.com – Facebook statistics such as frequency of updates, user base, top users etc.

twitter-stats.com – Twitter statistics such as frequency of updates, user base, top users etc.

groupon.lk – Groupon.com like site for Sri Lanka, i.e. to get best deals in town.

newsflippers.com – This project is actually similar to http://fastflip.googlelabs.com/. Currently the concept still remains but with a different presentation in my new project www.channells.com

prodznet.com – An effort to categories the cheap and best products by price and user reviews on the internet.

qnote.us – Online notepad with offline writing ability.

webexten.com – Replacement for extensible-web.com but decided to keep the name as it is—extensible-web.com

However my XWT Framework project , Extensible-web and Channells.com site still in active development, also some of my new ideas yet to be released.

All the above domains are for sale, but if anybody requires source code please email me and I would be more than happy to send them.

July 16, 2011

SOA

Most of the IT guys must have heard the term “SOA”, but there are very few who understand the concepts of it. There are many aspects to SOA in various standpoints. For example a view on SOA can be different from a Business owner to a Technical architect. SOA is not simply a “Web Service”. It is a design paradigm—to develop software as a service.

In technical perspective, it is to expose application functions as services so that the various applications can communicate each other regardless of the various platforms and boundaries. It is an architectural approach which matured from component oriented development and object oriented development.

In business perspective, it is an application design paradigm which will eventually increase the business ROI and reduce the TTM (Time to Market). Business process changes can be easily reflected on the application functions with minimal time & effort. It can also reduce the cost of application maintenance and integration.

SOA is not just a technical artifact—it is a design paradigm which embraces separation of concern and reuse.

April 26, 2011

Let's make the web faster

This is very useful for web developers, Tips and Tricks to improve web application performance. (obviously from Google) http://code.google.com/speed/articles/

April 25, 2011

Ludmal.net in Chrome store

I just submitted ludmal.net to chrome web store. You can install it from here and please don't forget to leave a comment. :-)

https://chrome.google.com/webstore/detail/clcenpmkmbdaglnanmdcginkhmhphdog

Why moving to Cloud?

Internet is everywhere and literally it is impossible to survive without internet. Moving to cloud is a smart decision I've made. I have all my documents, photos & projects on Dropbox and I have access to those with my Mac, Office PC and iPhone whenever, wherever required. But while I encourage my friends to move in to the cloud, there are some frequently asked questions. Have a look at them and my answers.


Question: What is the guarantee that my data wont be lost?
Answer: Well, what is the guarantee that your hard disk wont break or your laptop wont get stolen?


Question: Is my data secure? 
Answer: Is your data secure today anyway? what happens if somebody steal your laptop or  hack to your computer. The best practice is not to save any of the confidential data on laptops or personal computers. (Credit Card, Bank account or Passwords)


Question: But I need internet to access to cloud?
Answer: You don't have to connect to internet 24/7 to access your data. For example www.dropbox.com provide an easy way to sync your local folders with their cloud service. So online or offline you will have access to your data.


Question: Why should I move to cloud?
Answer:
    • how many times you wanted to send your resume or a document but had to wait until you go home and access your home PC? 
    • how many times do you take backups or photos or docs?
    • what happens if your hard disk burnt or someone steal your laptop?
    • what if you want to share a document with your friend and work with him/her collaboratively?
    • how much hassle to go through if you want to re-install your PC?
    • how hard is to find a photo of your last vacation?
    • how many times do you send emails just to access a file on the go?
By answering to the above questions, if you already feel unsecured or unorganized then move in to The Cloud. 
Email me if you need any assistance or consultation on how to setup your working environment. 
Read my other relevant posts;
http://www.ludmal.net/2010/12/transformation.html

Install drop box - http://db.tt/2fpKw7n

December 22, 2010

How to manage your Code Repository

Managing a personal code repository is not that easy, especially when you have projects of all different technologies. I currently develop applications in Java, Apple & Microsoft. Being a Microsoft guy for a decade I recently moved into other development areas which is pretty interesting and keeps me very busy.

All so often I get this question -- how do I manage my code repository. So thought of writing a small post which might help someone.

I use code.google.com to manage all my projects. The projects I host in code.google.com are my personal projects and I really don’t mind sharing it with public. I use SVN as my source control system. For developers who do not want public access to their source code can use GITHUB paid version which is as similar to code.google.com.

Following is my main Project folder hierarchy;

APPLE
---- IPHONE
---- IPAD
---- MAC
GOOGLE
---- EXTENSIONS
---- APP_ENGINE
MICROSOFT
---- XWT
---- ASP.NET
---- WPF
---- WIN

All of the above projects source are managed by code.google.com. Since I develop for both Apple and Microsoft; I have to use both Mac and Windows OS also three different Development IDE’s -- Visual Studio, XCode and Eclipse.

I use Ankh SVN plugh-in and Tortoise SVN for Visual Studio which is pretty awesome. For XCode and Eclipse I use Versions. All of the above folders are sync with my DropBox private folder, so that even if I don’t have my development PC--I can still continue my work from any PC. Also I have mirrored my local Project folder to a Portable HD. The following diagram will show you the overall setup.


I use Mozy.com for my weekly project backups, so my Projects are well secured from any disaster. I have pretty much the same setup for my other stuff as well. For example, Artworks, Video projects, Scanned docs and so forth.

The main idea behind this setup is to continue my work regardless of where I am. And by mirroring my code with multiple sources guarantee my code safety.

Hope this helps!

December 16, 2010

Software Design Principles & Patterns

Recently I've done a training session to my office colleagues on Software Design Principles & Patterns. I discussed on the most important design principles and design patterns. Hope it will be useful to you as well.

December 15, 2010

Gmail – the best example for iteration perfection

When Gmail initially released back in 2004, it was just a simple email system. By giving more storage and Ajax request processing technique made Gmail to gain attention from the users. But Gmail lack most of the functionalities which other email systems provided back then, such as folders or labels.

But today, Gmail is probably the best Web Application on the internet. Throughout the years Google engineers made the Gmail perfect by adding features— at least every month.

As developers, we typically experience the “Add More Features” syndrome. Rather than releasing to the market quickly we keep adding and adding more features to our app, eventually we loose the interest and the product was never released.

Release your app quickly to the market and also release features more often. Through development and release iterations makes your app perfect overtime.

October 15, 2010

How to create Chrome Notifications

(Cross-posted on the Extensible-web)

Chrome supports Webkitnotifications and Google has done a great job with their notifications for Gmail. This example shoes how to create a recurring notification using JavaScript timer and webkitnotification object.




In order to create a notification the user must first allow notification in their browser. Click on “Allow notification” button in the ASP.NET sample and the permission will be granted.

Following code block will show you how simple is to create a notification object and show it on browser.

notify = window.webkitNotifications.createNotification('iconUrl', 'Extensible-web latest article', 'http://www.extensible-web.com');
notify.show();


Download the full source code.

July 13, 2010

missing sentinel in function call

Quick Tip :
If you're getting "missing sentinel in function call" error while compiling objective-c code, check whether you terminate the array with nil at the end of the array declaration.


feelings = [[NSArray alloc]initWithObjects: @"awesome",@"sad", @"happy","confused",@"angry", nil];

July 6, 2010

Using JQuery in your ASP.NET application.

(Cross-posted from the Extensible-web.com blog)

What is JQuery ?
Most of the developers might already know what JQuery is. But for those who don’t, here it is. JQuery is a JavaScript lightweight library which is easy to use for JavaScript functions.

JQuery is very easy to learn and all you need to know its relevant methods and events. You can find the JQyery API reference here and you can also find some samples.

How can we use JQuery in ASP.NET application?
Real easy—if you’re creating ASP.NET app using Visual Studio 2010, then the relevant script files are already included.

For earlier versions of Visual Studio, you need to download the minified version of JQuery library from here and add the file to your project directory. Include the file as script tags in the pages, which requires JQuery.

July 1, 2010

Extensible Web - New Blog for Faster Web Apps

Finally I decided to create a new blog for tools, tips and tutorials about web application performance and optimizing. Hopefully this blog will help web developers and web masters to fine tune and optimize their web applications.

Extensible Web

P.S. I will be cross posting the Extensible Web posts with this blog.


May 19, 2010

GWT & Script#

I recently worked on a Google GWT project and very impressed with it. One of the difficult task in web development is to work on browser quirks. GWT is completely eliminating that by compiling java code to javascript. It also supports ajax server communication using RPC, JSON & XML. Microsoft's Nikhil Kothari also working on a similar project called Script# for asp.net.

January 26, 2010

Windows 7

I've been using Windows 2003 quite happily for the past 6 years. But realized it was 7 years old OS and the technology has developed immensely. Despite the terrible experience with Windows Vista I finally decided to install Windows 7. It has been one month after Windows 7 installation and I'm very impressed – the startup/loading time has improved significantly and smoothness of the applications is amazing.

This is what I was expected from an OS. Most of us were desperately waited for an OS to replace Windows XP/2003 – Microsoft’s Windows 7 must be the choice for them. Needless to say I’m upgrading my wife’s laptop and my desktop PC to Windows 7. For those who are still waiting to install Windows 7 – Don’t wait anymore!

January 7, 2010

Microsoft Ajax and Jquery

Microsoft Ajax framework is the best choice for me when I build quick web applications, particularly for intranets. But for public web sites, especially when you want to make the site super fast, then the MS Ajax is not the wisest choice. Recently, I decide to use Jquery instead of MS Ajax for one of my personal web sites. And the website shows a significant performance improvement.

Following is the outcome of my research on the response time and the downloaded data size by using MS Ajax and Jquery. By using Jquery I was able to reduce the size by 50% of the downloaded data. Have a look at the following screen captures. I used Firefox’s firebug for the analysis.

Response with Microsoft Ajax

msajax_response1

Response with Jquery

jquery_response1

Please visit for more reference - http://docs.jquery.com/Ajax

Hope this helps!

www.twitter.com/ludmal – Follow me on twitter for quick updates on technology, life and much more

Post a comment

December 29, 2009

Why waste time on Project management ?

Recently I came across some of the blog posts regards to Software Project management. It seems like Project Management is another project to Project Managers but so often they claim that they never able to do a accurate schedule or a budget, so the question arise − “Why do Project Management?”.

I’ve been working in Software Industry for the past 9 years and I have never seen a successful Project Manager although I’ve seen plenty of good technical people. I must admit that I have observed some of the successful projects are handled without a proper project plan, or should I say without a “Project Manager”. For a successful software project, the key factor is its technical people and I really don’t believe that’s anything to do with the Project plan or the Project Manager. How did Google products succeed ? Why did Windows Vista failed ? Was it because of the Project Managers or Project Plans? I doubt. In software, it’s a well known factor that the requirements change. Neither the Stake Holders nor the Project Managers are fully aware of the business requirement at the initial stage. So the next question − “What’s Agile ?”

Agile – one of the frequently used terms in the Project management these days. Agile is defined as to keep things simple and to move quicker. Two-thirds of the development time is wasted by the Project Managers for various meetings and requirement explanations. I strongly disagree the fact that every project needs a “Project Plan”, a simple plan would do for most of the projects. We need to understand the scale of the project while keeping the things simple. I don’t intend to talk about massive projects like in NASA or the other major companies, no doubt that they need Project Managers. But for 30-40 developer projects who would need to waste time & money just to create a larger scale project plan ?, A good technical leader is capable of doing the job. At last what matters is the outcome of the project, not how we manage the project. All my thoughts are based on the Software Development and this might not be true for other industries like Construction & Manufacture which are far more matured. Software development still on its way for a strong blue-print unlike Building construction, .

No offense meant to Project Managers, but comments are welcome − After all, Project Management is their Job.

www.twitter.com/ludmal - I've been using twitter for quick updates, Technology & cool stuff, please follow me if you're interested.