Friday, 4 October 2013

Mobile Application Development Tools and Softwares

Mobile Application Development Tools and Softwares

There are a lot of mobile application development tools and softwares coming in the market everyday as mobile application development is becoming popular. I will just talk about Phonegap, Sencha and Titanium mobile apps development tools as I have some experience on them. All these tools use web development languages like HTML5, CSS3 and Javascript to make the mobile apps cross platform which can run on iPhone, iPad, Android, Blackberry, Symbian, Palm with single codebase.

These mobile apps development tools like Phonegap, Sencha and Titanium are giving tough competition to traditional approaches of mobile apps development languages like Objective C (for iPhone, iPad), Java (for Android and Blackberry) etc. In traditional approaches you have to develop different mobile application for different platforms and its very hard to maintain these types of mobile apps and also its very costly and complex.

So, there is a great need of mobile apps development tools which provide a single development platform for each mobile application across all mobile operating systems and devices.

1. PhoneGap

PhoneGap is a free and open source mobile application development framework that allows mobile apps developers to create mobile apps using standardized web APIs for all the platforms like Android, Palm, Symbian, BlackBerry, iPhone, iTouch and iPad devices. 

Phonegap uses  HTML5, CSS3 and JavaScript to make cross platform mobile apps.

PhoneGap allows the developer to work with device hardware features like Accelerometer, Camera, Compass, Contacts, Files, Geolocation, Media, Network, Notifications and Storage.

PhoneGap has been downloaded over 1 million times and is being used by over 400,000 developers. Thousands of apps built using PhoneGap are available in mobile app stores and directories. 

2. Sencha 

Sencha also uses web technologies like HTML5, CSS3 and Javascript to make cross platform mobile apps. Sencha was started in 2008 and claims over 2 million mobile application developer worldwide.

Sencha is the leading provider of open-source web application frameworks and tools to major enterprises and independent developers. Thousands of enterprise customers — including over 50% of the Fortune 100 — rely on Sencha technologies to power their most critical internal and external business applications.

Sencha has an active and growing developer community of over 450,000 users. There are Sencha developers in nearly every country of the world, so you’re certain to find one in your region. Not only does our community create amazing web applications with sencha frameworks, they also actively contribute to forums — answering technical questions and assisting other developers.

3. Titanium

Titanium Studio simplifies the mobile development process, allowing community developers to rapidly build, test, package and publish mobile applications across multiple devices and operating systems. The resulting native applications perform and behave just like they were written in Objective-C (iPhone and iPad) or Java (Android phone and tablets) to deliver rich user experiences.

The Eclipse-based Studio IDE enables you to build compelling cross-platform, native mobile applications – all from a single code base. You can build applications for tablets, smart phones, smart TVs, faster and at lower cost than any other environment.

With integrated mobile backend as a service (MBaaS) capabilities, as well as on-device debugging and an MVC framework (Alloy), Titanium Studio is the most comprehensive mobile development platform.

Thursday, 3 October 2013

Microsoft as Cloud Hosting and Storage Provider

Microsoft as Cloud Hosting and Storage Provider

Microsoft is a good cloud hosting and storage provider today in the market and growing day by day. But Microsoft cloud has to go too far to compete with the cloud king Amazon. Amazon cloud hosting and storage is many fold ahead of Microsoft cloud. Beside Amazon, there are a lot of competitors of Microsoft cloud hosting like Rackspace, CenturyLink, SalesForce, Verizon, Joyent, Citrix, Bluelock, VMware etc. Other big fishes in cloud computing market are Google, Apple, IBM and so on. If Microsoft's cloud has to get rid of all these competitors, Microsoft has to excel in the cloud computing in all ways like cloud hosting and storage, cloud pricing, availability etc.

Microsoft claims 100,000 businesses are using its various online cloud computing services. Lets see what Microsoft is doing to go ahead of its cloud competitors like Rackspace, Salesforce, Google and Amazon.


Recently, Microsoft and Oracle joined hands to work together to make their cloud hosting and cloud storage services more efficient to excel its cloud competitors. 

Microsoft and Oracle’s collaboration would attract customers seeking more technical compatibility between products. Oracle plans to support versions of its database and Java software that customers run through the online Azure service. Microsoft will offer Oracle's Java, Oracle Database and Oracle WebLogic Server to Windows Azure customers, while Oracle will also make Oracle Linux available to Windows Azure customers.

The alliance with Microsoft lets Oracle offer its customers the option of sticking with its database and middleware at a time when businesses are moving more of their software to cloud-computing services. 


Microsoft and AT&T have teamed up to give Azure customers a private network-like linkage through AT&T's NetBond service. NetBond uses an AT&T multi-protocol label switching (MPLS) network to establish a VPN over the Internet from the customer to Azure.

A customer can send workloads and data over the VPN to an Azure data center, rather than using only the public Internet. Azure's compute and storage services may be accessed through the NetBond linkage.

Related Microsoft Cloud Articles:




Is Splunk Pricing / Cost Justified?

Is Splunk Pricing / Cost Justified?

This article focuses on the Splunk pricing and cost. If we see the Splunk pricing, you will come to know how expensive Splunk is? Is the cost and high pricing of Splunk justified? Lets try to find out the answer.

No doubt, Splunk is the magnificient log management and analysis tool in the world. No competitor is even near to Splunk if we compare the features of Splunk to other log management tools. Splunk is expert in its field. Spending money on Splunk is the investment.

The cost of Splunk depends on the volume that you're indexing daily and the version of Splunk i,e free or enterprise. The free version of Splunk lets you index up to 500MB/day. For the first 60 days, you'll get to use the enterprise version for free, after which you can continue with the free version or switch to an enterprise license. The enterprise license starts at $6,000 for a 500MB/day perpetual license or $2,000/year for a term license. 

You can get a fair idea about Splunk pricing from here

You will get excited by observing the excellent features of Splunk but step behind by seeing the cost of Splunk. Splunk justifies its cost by claiming that no other log management tool can compete it and the dollars you are spending on purchasing their licenses is far less than the befefits Splunk provides. See Splunk's ROI page

But my suggestion is that If you really don't require all the extreme features that Splunk provides, you can try many alternatives of Splunk software. You can get many commercial as well as free / open source log management products which are also very competetive.

If you don't want to spend a huge money on Splunk license, you can also get cheaper on from the market. Many commerical log analysis tools like Log Parser (Microsoft Tool), LogRhythm, TIBCO LogLogic and open-source log management tools like Scribe, Logstash, Octopussy, Awstats, nxlog, Graylog2, Fluentd, Meniscus, lucene-log4j, Chainsaw, Logsandra, Clarity, Webalizer, Zenoss, OtrosLogViewer, Kafka, Kibana, Pylogdb, Epylog, Indihiang are the best alternatives and competitors of Splunk. For more detials you can see this and this.

Wednesday, 2 October 2013

20 Free and Open Source Alternatives and Competitors of Splunk Log Analysis Tool

20 Free and Open Source Alternatives and Competitors of Splunk Log Analysis Tool

Although Splunk is the wonderful log analysis tool but also there are a lot of open source alternatives and competitors of Splunk. If you cannot afford the high price of Splunk, you can get some open source and free log analysis tools which provide almost same functionality of Splunk. I have listed down 20 free and open source alternatives and competitors of Splunk Log Analysis Tool. Following is the list of all these open source alternatives of Splunk.

1. Scribe - Real time log aggregation used in Facebook

Scribe is a server for aggregating log data that's streamed in real time from clients. It is designed to be scalable and reliable. It is developed and maintained by Facebook. It is designed to scale to a very large number of nodes and be robust to network and node failures. There is a scribe server running on every node in the system, configured to aggregate messages and send them to a central scribe server (or servers) in larger groups.
        
2. Logstash - Centralized log storage, indexing, and searching

Logstash is a tool for managing events and logs. You can use it to collect logs, parse them, and store them for later use. Logstash comes with a web interface for searching and drilling into all of your logs.
      
3. Octopussy - Perl/XML Logs Analyzer, Alerter & Reporter

Octopussy is a Log analyzer tool. It analyzes the log, generates reports and alerts the admin. It has LDAP support to maintain users list. It exports report by Email, FTP & SCP. Scheduled reports could be generated. RRD tool to generate graphs.
      
4. Awstats - Advanced web, streaming, ftp and mail server statistics

AWStats is a powerful tool that generates advanced web, streaming, ftp or mail server statistics graphically. It can analyze log files from all major server tools like Apache log files, WebStar, IIS and a lot of other web, proxy, wap, streaming servers, mail servers and some ftp servers. This log analyzer works as a CGI or from command line and shows you all possible information your log contains, in few graphical web pages.
      
5. nxlog - Multi platform Log management

 nxlog is a modular, multi-threaded, high-performance log management solution with multi-platform support. In concept it is similar to syslog-ng or rsyslog but is not limited to unix/syslog only. It can collect logs from files in various formats, receive logs from the network remotely over UDP, TCP or TLS/SSL . It supports platform specific sources such as the Windows Eventlog, Linux kernel logs, Android logs, local syslog etc.
      
6. Graylog2 - Open Source Log Management

Graylog2 is an open source log management solution that stores your logs in ElasticSearch. It consists of a server written in Java that accepts your syslog messages via TCP, UDP or AMQP and stores it in the database. The second part is a web interface that allows you to manage the log messages from your web browser. Take a look at the screenshots or the latest release info page to get a feeling of what you can do with Graylog2.
      
7. Fluentd - Data collector, Log Everything in JSON

Fluentd is an event collector system. It is a generalized version of syslogd, which handles JSON objects for its log messages. It collects logs from various data sources and writes them to files, database or other types of storages.
      
8. Meniscus - The Python Event Logging Service

Meniscus is a Python based system for event collection, transit and processing in the large. It's primary use case is for large-scale Cloud logging, but can be used in many other scenarios including usage reporting and API tracing. Its components include Collection, Transport, Storage, Event Processing & Enhancement, Complex Event Processing, Analytics.
      
9. lucene-log4j - Log4j file rolling appender which indexes log with Lucene

lucene-log4j solves a recurrent problem that production support team face whenever a live incident happens: filtering production log statements to match a session/transaction/user ID. It works by extending Log4j's RollingFileAppender with Lucene indexing routines. Then with a LuceneLogSearchServlet, you get access to your log using web front end.
    
10. Chainsaw - log viewer and analysis tool

Chainsaw is a companion application to Log4j written by members of the Log4j development community. Chainsaw can read log files formatted in Log4j's XMLLayout, receive events from remote locations, read events from a DB, it can even work with the JDK 1.4 logging events.

11. Logsandra - log management using Cassandra

Logsandra is a log management application written in Python and using Cassandra as back-end. It is written as demo for cassandra but it is worth to take a look. It provides support to create your own parser.
    
12. Clarity - Web interface for the grep

Clarity is a Splunk like web interface for your server log files. It supports searching (using grep) as well as trailing log files in realtime. It has been written using the event based architecture based on EventMachine and so allows real-time search of very large log files.
    
13. Webalizer - fast web server log file analysis

The Webalizer is a fast web server log file analysis program. It produces highly detailed, easily configurable usage reports in HTML format, for viewing with a standard web browser. It handles standard Common logfile format (CLF) server logs, several variations of the NCSA Combined logfile format, wu-ftpd/proftpd xferlog (FTP) format logs, Squid proxy server native format, and W3C Extended log formats.
    
14. Zenoss - Open Source IT Management

Zenoss Core is an open source IT monitoring product that delivers the functionality to effectively manage the configuration, health, performance of networks, servers and applications through a single, integrated software package.
    
15. OtrosLogViewer - Log parser and Viewer

OtrosLogViewer can read log files formatted in Log4j (pattern and XMLL yout), java.util.logging. Source of events can be local or remote file (ftp, sftp, sa ba, http) or sockets. It has many powerful features like filtering marking, formatting, adding notes, etc. It could also format SOAP messages in logs.
     
16. Kafka - A high-throughput distributed messaging system

Kafka provides a publish-subscribe solution that can handle all activity stream data and processing on a consumer-scale web site. This kind of activity (page views, searches, and other user actions) are a key ingredient in many of the social feature on the modern web. This data is typically handled by "logging" and ad hoc log aggregation solutions due to the throughput requirements. This kind of ad hoc solution is a viable solution to providing logging data to Hadoop.
    
17. Kibana - Web Interface for Logstash and ElasticSearch

Kibana is a highly scalable interface for Logstash and ElasticSearch that allows you to efficiently search, graph, analyze and otherwise make sense of a mountain of logs. Kibana will load balance against your Elasticsearch cluster. Logstash's daily rolling indicies let you scale to huge datasets, while Kibana's sequential querying gets you most relevant data quickly, with more as it becomes available.
    
18. Pylogdb - A Python-powered, column-oriented database suitable for web log analysis

pylogdb is a database suitable for web log analysis.

19. Epylog - a Syslog parser

Epylog is a syslog parser which runs periodically, looks at your logs, processes some of the entries in order to present them in a more comprehensible format, and then mails you the output. It is written specifically for large network clusters where a lot of machines (around 50 and upwards) log to the same loghost using syslog or syslog-ng.
  
20. Indihiang - IIS and Apache log analyzing tool

Indihiang Project is a web log analyzing tool. This tool analyzes IIS and Apache Web logs and generates real time reports. It has Web Log Viewer and analyzer. It is capable to analyze the trend from the logs. This tool also integrate with windows Explorer so you can attach a log file in to indihiang tool via context menu.

Tuesday, 1 October 2013

Alternatives and Competitors of Splunk Software Search Tool

Alternatives and Competitors of Splunk Software Search Tool

Splunk is the most famous and efficient software search tool available in the market. But there are also a lot of alternatives and competitors of Splunk Search Tool. Main alternatives and competitors of Splunk software search tool are TIBCO LogLogic, LogRhythm, Log Parser (Microsoft), Logscape, XpoLog, Sawmill,  Clarity, GrayLog2 etc. Lets discuss in detail.   

Splunk is an easy, fast and secure software search tool to search, analyze and visualize the massive streams of machine data generated by your IT systems and technology infrastructure—physical, virtual and in the cloud. Splunk is used to troubleshoot application problems and investigate security incidents in minutes instead of hours or days, avoid service degradation or outages, deliver compliance at lower cost and gain new business insights.

Although none of the Splunk alternative or competitor is as powerful as Splunk, but somehow those may be used over Splunk depending upon your needs. Here is the detail of all the alternatives and competitors of Splunk.

1. TIBCO LogLogic

TIBCO LogLogic log management tool is used to monitor IT operational performance, manage threats and security information, troubleshoot network problems, audit cloud operations, tame IT big data, and optimize compliance management.

2. LogRhythm

LogRhythm is the largest and fastest growing independent Security Information and Event Management (SIEM) provider in the world. The company’s patented and award-winning Security Analytics platform and Network Monitor product empower organizations around the globe to detect breaches and the most sophisticated cyber threats of today, faster and with greater accuracy than ever before. LogRhythm also provides unparalleled compliance automation and assurance as well as IT intelligence to Global 2000 organizations, government agencies and mid-sized businesses worldwide.

3. Log Parser (Microsoft Tool)

Log parser is a powerful, versatile tool that provides universal query access to text-based data such as log files, XML files and CSV files, as well as key data sources on the Windows operating system such as the Event Log, the Registry, the file system, and Active Directory.

4. LogScape

LogScape is the search tool to search, visualize and analyze log files and operational data from common setups out of the box. Apps extend the capabilities of Logscape and make it even easier to get up and running quickly. LogScape is much cheaper than Splunk, is really easy to use and has some unique features as compared to Splunk.

5. XpoLog

XpoLog tool is used to search log files and application data with built-in augmentation layers. XpoLog delivers auto-detected intelligence based on user search context. Search log files and application data faster than before, and gain visibility into unknown problems, errors, anomalies, and other messages.

6. Sawmill

Throughout your network you need to know what is happening, you need precise and real-time analysis to make the right decisions that affect the growth and security of your business. Whatever you need to track, Sawmill provides the right solution at the right price. Sawmill's easy scalability and universal support helps you make better use of your data, with one application.

7. Clarity

Clarity is a Splunk like web interface for your server log files. It supports searching (using grep) as well as trailing log files in realtime. It has been written using the event based architecture based on EventMachine and so allows real-time search of very large log files. 

8. GrayLog2

Graylog2 enables you to unleash the power that lays inside your logs. Use it to run analytics, alerting, monitoring and powerful searches over your whole log base. Need to debug a failing request? Just run a quick filter search to find it and see what errors it produced. Want to see all messages a certain API consumer is consuming in real time? Create streams for every consumer and have them always only one click away.

ColdFusion Basic Interview Questions and Answers

ColdFusion Basic Interview Questions and Answers

If you were searching for ColdFusion basic interview questions and answers, this is the right place. I have listed some basic and important ColdFusion  interview questions and answers for freshers as well as for experienced software developers. These ColdFusion interview questions and answers are based upon basic introduction of ColdFusion, advantages and disadvantages of ColdFusion over other programming languages, ColdFusion administration, application.cfm file, cfapplication tag, coldfusion client management, session and application timeout in ColdFusion, how to make database connection in ColdFusion etc. If you are preparing for ColdFusion interview, you must look at the following ColdFusion interview questions and answers. 

1. What is ColdFusion?

ColdFusion is a programming language based on standard HTML (Hyper Text Markup Language) that is used to write dynamic webpages. With ColdFusion, we can build a content database using input templates and combine these with application programs to create a Web site in which pages are developed dynamically as they are served. This has an application server and software development framework which greatly aid in developing computer software.

2. Is it possible to write ColdFusion in ColdFusion?

No it is not possible to write ColdFusion in ColdFusion. Actually ColdFusion was written in Java and to write programs we need to implement other kinds of programs such as Java, .NET etc. These programs are required because ColdFusion alone cannot survive.

3. Explain about ColdFusion administrator?

ColdFusion administrator is a web based application just like the Cpanel this has many sub options through which you can control many functions such as data sources, global server settings, debugging settings, and application security settings. If you are having multiple administrator services then password must be provided for all those services. Also multiple user instances are provided where by a server can be split into cluster of Coldfusion administrators where a specific work can be provided to a specific individual who cannot alter changes.

4. What is Application.cfm?

When ColdFusion receives a request for an application page, it searches the page's directory for a file named Application.cfm. If one exists, the Application.cfm code is logically included at the beginning of that application page.

If your application runs on a UNIX platform, which is case-sensitive, you must spell Application.cfm with an initial capital letter.

5. Can we have multiple Application.cfm file in an Application?

Yes. If the application page directory does not have an Application.cfm page, ColdFusion searches up the directory tree until it finds an Application.cfm page. If several directories in the directory tree have an Application.cfm page, ColdFusion uses the first page it finds. If the Application.cfm page is present in the directory tree (and has the required permissions set), you cannot prevent ColdFusion from including it.

ColdFusion processes only one Application.cfm page for each request. If a ColdFusion page has a cfinclude tag pointing to an additional ColdFusion page, ColdFusion does not search for an Application.cfm page when it includes the additional page.

6. What is the working process for Application.cfm?

If the application page directory does not have an Application.cfm page, ColdFusion searches up the directory tree until it finds an Application.cfm page. If several directories in the directory tree have an Application.cfm page, ColdFusion uses the first page it finds. If the Application.cfm page is present in the directory tree (and has the required permissions set), you cannot prevent ColdFusion from including it.

ColdFusion processes only one Application.cfm page for each request. If a ColdFusion page has a cfinclude tag pointing to an additional ColdFusion page, ColdFusion does not search for an Application.cfm page when it includes the additional page.

7. What is cfapplication tag?

It defines the scope of a ColdFusion application; enables and disables storage of Client variables; specifies the Client variable storage mechanism; enables Session variables; and sets Application variable time-outs.

8. How can you set the Client Management?

We can enable & disable client management as well as we can configure How & Where client variables need to be store
In the Application.cfc initialization code 
This.clientmanagement="True" / "false"
This.clientStorage="[Ur_datasource_name]" / "registry" / "cookie"
In appliation.cfm using <cfappliaction> tag attributes
clientManagement="yes" / "no"
clientStorage="[Ur_datasource_name]" / "registry" / "cookie"
[Ur_datasource_name] - Stored in ODBC or native data source. You must create storage repository in the Administrator.
registry - Stored in the system registry.
cookie - Stored on client computer in a cookie. Scalable. If client disables cookies in the browser, client variables do not work.

9. What are Session Timeout and Application Timeout? Where we have to do this process?

ApplicationTimeout: The time span an application will exist before it times out (if the application is not accessed in any way). This defaults to the value set in the ColdFusion administrator.

SessionTimeout: The time span a session will exist before it times out (if the application is not access in any way by that session's user). This defaults to the value set in the ColdFusion administrator.

10. What are the advantages and disadvantages of using stored procedures versus calling SQL inline in ColdFusion?

Stored procedures abstract database logic from server side code. They also offer performance benefits in pushing application logic to the database side.

The disadvantage is that if they are poorly written then they can hinder database performance and make development a little more obfuscated.

11. What is Application Server?

A server that exposes business logic to client applications through various protocols including HTTP, HTTPS, IIOS/SSL. Eg: Sun Java Application server, weblogic server.

It takes care of important issues like Transaction Management, Security, Database Connection Pooling, Clustering, Scalability,session management,load balancing,thread management and Messaging etc. A web server cannot provide these.

12. What can be used to create connections between your ColdFusion Web sites and databases?

A DSN is used. These are set up in CF administrator and used in query code to connect to a database.

13. What are the databases that are supported by ColdFusion applications?

All relational and non relational databse like Oracle,MSAccess,mysql

14. What are the advantages of ColdFusion?

Simplified Installation and Migration
All Operating System (OS) Support
All Database support
Faster Development & Easy to Learn
Improved & support for all Protocols
Access to all the J2EE libraries
Integration with Other adobe Products (Flex, Flash, PDF..)

15. Compare ColdFusion with other programming languages.

For every language has its pros and cons. I will point out one or 2 advantages of CF over other languages.

vs PHP: Ajax features, Integration with adobe products, community support, J2EE
vs Java: Easy to learn, Code developmet & maintence cost
vs .NET: All OS, Most of webserver Support

Wednesday, 2 January 2013

Unicode and Hangul

One of the Unicode blocks is Hangul Syllables, codepoints U+AC00➜U+D7AF. Each character in this block has a formal Unicode name written in upper case Latin eg

  • U+AC85 겅 HANGUL SYLLABLE GEONG
  • U+B268 뉨 HANGUL SYLLABLE NWIM
I draw your attention to the last word in the Unicode name. This may appear to be a string of random  Latin characters. If though you use the Mac OSX GongjinCheong Romaja Input Method this string represents the sequence of key presses required to produce the Hangul Syllable. So, taking the first example above, typing the key sequence GEONG will produce the Hangul character 겅.

There are two cases where one needs to augment the key sequence in order to write the Hangul character.

  1. When the syllable begins with a vowel then one needs to prefix with the silent placeholder ㅇwhich in the GongjinCheong Romaja Input Method is produced by typing X. Thus, U+C54B 앋 HANGUL SYLLABLE AD, is produced by typing the key sequence XAD
  2. When the syllable ends with ㄲ or ㅆ then one needs to type ⇧G or ⇧S, respectively. Thus, U+AC14 갔 HANGUL SYLLABLE GASS, is produced by typing the key sequence GA⇧S
Notes:
  • Unicode characters can be viewed on Mac OSX using Character Viewer
  • The GongjinCheong Romaja Input Method is enabled in System Preferences➞Language & Text➞Input Sources