Wednesday, 31 October 2012

Cocoa Programming and Development

Cocoa is Apple's native object-oriented application programming interface (API). Earlier, this program environment was constructed for Mac OS X operating system. However, the Cocoa originates from the neXTSTEP and OpenStep programming environments which afterward became Apple's property, after they get the company neXT. Now, all iPhone applications are developed within this framework. Not only, iPhone, applications for the iPod Touch and the iPad, are also developed using Cocoa. It consists of the Foundation Kit, Application Kit, and Core Data frameworks.
Frameworks of Cocoa:
Cocoa consists of 3 'Objective-C' object libraries called frameworks. These are similar to shared libraries in functionality. Frameworks' add associated resources, header files, and documentation to the framework. The Cocoa frameworks are implemented as a type of application bundle, containing the below mentioned items in standard locations.
• Foundation Kit
• Application Kit or AppKit
• Core Data
A key part of the Cocoa architecture is its comprehensive view model, which allows creation of custom drawing content in cocoa framework, using PostScript-like drawing commands. This in-turn allows automatic printer support and so forth. Cocoa framework manages all the clipping, scrolling, scaling and other chores of drawing graphics, thus the programmer is freed from implementing basic infrastructure and he/she only needs to concentrate on the unique aspects of an application's content.
Mobile Application Development with Cocoa Programming:
Development Tools that are used by mobile application developers are -
• Xcode,
• Interface Builder,
• Dashcode,
• Quartz Composer,
• AppleScript Studio,
• Automator,
• GCC,
• GDB,
• PackageMaker,
• Instruments,
• Shark,
• CHUD Tools,
• OpenGL Tools
Development Languages/Environments/APIs/Frameworks/Protocols -
• C, C++, Objective-C, Java, AppleScript, JavaScript, PostScript, RealBasic, Perl, Python, Ruby, XML, XSL
• Carbon, Cocoa,, WxWidgets, WebObjects, Java, AppleScript, OSScript, Darwin, BSD, X11
• Cocoa Distant Objects, Apple Events, Core Foundation, CFPlugin, Core Animation, Core Audio, Core Data, Core Image, Core Video, CGDirectDisplay, ColorSync, Apple Events, Quartz, QuickTime, OpenAL, OpenGL
• Address Book, Automator, Dashboard, Spotlight, Security/Keychain Services, Publication Subscription (RSS/Atom), PDF Kit, Search Kit, Web Kit, IO Kit, Web Services Access
• AppleTalk, TCP/IP, UDP, SOAP, FTP, HTTP, Open Transport
• Launchd Daemons & Agents, Apple Sys Log, BSD Sockets, Mach Port, Distributed Notifications
Benefits of having your own iPhone application -
1) It gives employees the opportunity to access information easily from anywhere everywhere.
2) It increases overall employee productivity and internal revenues by unifying communications with entire business structure.
3) The iPhone market is growing quickly. That is why; the popularity of iPhone applications within corporations is also growing, making it even more attractive for business owners.
4) Running application business is at the height of its fame. In such a scenario, you can get an iPhone application developed for in-house use as well as for business trading and earn a profit from it.
5) Other benefits that you can get are as follows:
• It promotes your brand.
• It keeps your available and makes you distinguished among your industry.
• It is also a cost-effective and economical marketing tool.
• It gives you a plethora of opportunity to capture your niche market.


Data Warehousing

Data Warehousing is the process of saving raw data in an informational manner. It is highly useful for decision-makers as it helps in making vital decisions for the success of an enterprise. It could also be considered as an enterprise-wide repository or a place for archiving unprocessed information.
Benefits of having a data warehouse:
A Data Warehouse is fast to queryThe cost incurred on installing warehouse software is not expense but investment as it allows end-user to make more efficient use of data into the form of processed and stored information.Companies that have data entry applications, which are great for these entry but lacks reporting and analysis capabilities, should opt for warehousing solution as well.It could be used to bring several applications and/or information sources together.Service industry especially benefits from information warehousing, as it helps them analyze the percentage of work completed and estimation could be made regarding future engagements.
Data Warehousing and Technology
The programming language referred to, for data warehousing solution, is called 'SQL'; that is, 'Structured Query Language'. It is a special-purpose programming language designed for managing data in relational database management systems (RDBMS). It was designed for the purpose of 'querying' data stored in a relational database.
SQL was initially developed at IBM, but these days; it is being used by various other IT Companies like Oracle, Microsoft, etc. for developing their own Data Warehousing Solutions. This application helps in interpreting, analyzing, integration and reporting of raw data as processed information.
Tools for data warehousing
Analysis Services (SQL Server Analysis Services - SSAS)
Under this service category, the solution provides the functionality of online analytical processing (OLAP) and data mining. Analysis Services supports OLAP by letting you design, create, and manage multidimensional structures that contain data aggregated from other data sources, such as relational databases. For data mining applications, Analysis Services lets you design, create, and visualize data mining models that are constructed from other data sources by using a wide variety of industry-standard data mining algorithms.
Integration Services (SQL Server Integration Services - SSIS)
This category has the ability to deliver enterprise-level data integration and data transformation service. This helps the business owners in solving complex business problems by copying or downloading files, sending e-mail messages in response to events, updating data warehouses, cleaning and mining data, and managing SQL Server objects and data.
Reporting Services (SQL Server Reporting Services - SSRS)
Reporting is a pre-requisite for inclusive growth of an enterprise. The application that offers this service, together with Data Warehouse, is considered as a complete package. Reporting service should be such that it enables the user in creating, deploying, and managing reports for their organization, as well as programming features that enable them to extend and customize their reporting functionality.
As we all know, that the future of global competition will be data-driven, accurate and futuristic decision-making. Therefore, every business owner should focus on setting-up best-in-class data warehousing application. This will help in mobilizing all the business intelligence, to improve decision-making at every level by pushing detailed & historical data and advanced analytics to front-line decision makers.




A Simple Example Of How To Manage Dates With Excel And VBA

Dates can sometimes present a problem to those new to Excel. It's usually not enough to simply record the date of something; you probably need to know things like an elapsed interval, the day of the week and various other items of information that VBA can easily deliver.
A Case Study Of Using Dates Effectively
One way of understanding dates in Excel is to look at a real life situation.
Managing customers can sometimes be a nightmare, but creating a customer contact schedule based on some simple rules is simple. An overview of customers and contact dates might look something like this:

Customer, Last Contact, Next Contact (weeks)

a, 20-Jul,6
b, 21-Aug, 4
c, 2-Jun, 3
d, 5-Apr, 5
e, 24-Aug, 7
f, 5-Mar, 4
You know the customer, the date of the last contact and when the next contact should be made. But how would you turn that data into solid business information? In a real life situation you'll have more information like the contact person, what was discussed and products purchased, but we'll just focus on the issues for managing dates.
We're going to create a contact schedule which tells us which customers need to be contacted based on the "next contact" schedule that we've set up. Luckily for us, Excel and VBA make it easy to work with dates.
You'll need two worksheets set up; one called "work" to hold the information above and another called "schedule" where we'll record the customers that need to be contacted.
How VBA Date Functions Can Help In Working With Dates
There are a few different date functions in VBA but the one we'll look at is the dateDiff function. Applying this command returns to us the difference between two dates, which is all we need to create a work schedule.
1. Select the data
Range("A2").Activate
last = ActiveCell.End(xlDown).Row
2. Loop through the data and assign variables
ct=ct+1
For x = 2 To last
With ActiveCell
customer =.Value
lastContact =.Offset(0, 1).Value
nextContact =.Offset(0, 2).Value
End With
3. Work out how many weeks have elapsed since the last contact

due = DateDiff("w", lastContact, Now())
4. If more weeks has elapsed since the scheduled contact then copy the customer to a new worksheet called "schedule"
If due > nextContact Then
ct = ct + 1
Sheets("work").Range("a" & x).EntireRow.Copy _
Sheets("schedule").Range("a" & ct)
End If
5. Go to the next customer
ActiveCell.Offset(1, 0).Activate
Next
The VBA code creates a current work schedule; a listing of customers that need to be contacted and the worksheet can be printed out or emailed to the relevant staff member to take action.
Enhancements To The VBA Code
In a real life situation you could easily add more functionality to form the basis of a fully functioning work schedule:
Include the last comments and the name of the salespersonCreate a heading for the newly created scheduleList any products purchased
Summary
It's one thing to record data in a spreadsheet; the tricky bit is to turn that data into information that can become a business asset. With a little planning and knowledge of Excel and VBA, you'll have the tools needed to become more efficient and professional in whatever you're doing.




Tuesday, 30 October 2012

Defy the Coding Skills Shortage! Learning Programming Is Easier Than You Think!

In 1982, the computer of my dreams was the unbelievably cool Commodore PET. With its futuristic case and truncated pyramid-shaped monitor, the PET was utterly desirable. Retailing at about $800, the PET was out of my league; you could buy an awful lot of stuff for that sort of money in 1982. I had to find a cheaper alternative.
After hours thumbing through (the late lamented) Personal Computer World magazine, research proved that the clear choice, at under half the price, was the Ohio Scientific Superboard 2.
The Superboard was the PET's country cousin. It didn't have a futuristic monitor. It didn't even have a case. The name said it all. All you got was a printed circuit board. This was technology in the raw!
What it did
have was a proper QWERTY keyboard, a built in Basic interpreter, and 4K of memory. In case you are wondering, you'd be pushed these days to find a toothbrush with a memory smaller than 4K. But this was 1982, and 4K was not something to scoff at.
Soon, my Superboard was plugged in and linked up to my black and white television and the little blinking underscore was inviting me to type.
I didn't know how to program, but my hobbyist magazine came to the rescue. As well as covering hardware, PCW featured complete example programs. I suspect my first program was something along the lines of:

10 PRINT "Hello, World!"
20 END
RUN
My TV screen blazed with the words "Hello, World!"
I had taken the first step on the road to programming.
This approach was somewhat limited: if I wanted to do my own thing, I would have to learn how to program.
I went to the library and chose the thinnest book I could find on the subject. It was called "Basic Basic", and that little book changed my life. I was absolutely hooked. Now my ambitions were limited only by my own imagination and the Superboard's 4K of memory.
Within a few weeks I had created my own space invaders game.
Oh, if you think that this is something out of the ordinary, you'd be wrong. In the 80's, programming was taught in thousands of schools. And what was the computer of choice? The Commodore PET, of course!
So what's all this got to do with defying the coding skills shortage?
The point I'm making is that learning programming is achievable by everyone.
What baffles me, especially now that computer literacy is considered to be of utmost importance, is why the decline in teaching programming?
If you are competing for places at university, chances are you will be able to use essential applications like word processors and spreadsheets to a high level of competency. It's also likely that you'll be a dab hand at web design or blogging. I suspect, though, unless you are fortunate, you won't have had the opportunity to learn how to program. And that's a real shame; because the significant problem we face when we are unable to code is that we end up slaves to the application interface and are constricted by the imagination of the application designer.
My experience tells me that most activities that require the use of a computer benefit from the ability to understand the principles of coding; such as customising office applications, web design, or even modifying computer games.
The frightening consequences of outsourcing IT expertise are constantly hitting the headlines, at some point the shortage in programming skills will have
to be filled.
The good news is that the principles of good programming only have to be learned once. Once learned, you'll be able to apply this disciplined approach to any other language you turn your hand to.
The other good news is that the internet abounds with free compilers and tutorials, so there's nothing to stop you.
As to what language should you choose to start your adventure into coding, I'd probably go for Basic or FORTRAN but what resources you have to hand will probably be the deciding factor.
So if you want to get an edge on the competition and be first in line to fill that coding gap in the skills market, open up your favourite web browser, download a compiler, and start programming!



Tuesday, 23 October 2012

Hire a PHP Developer With The Knowledge of PHP Frameworks

PHP is one of the most widely used scripting languages in the world. Many developers as well as web development firms have been relying on this technology to meet the existing demands of web hosting and development. It is a technology that has kept pace with time and has proved to be highly effective in a dynamic web development environment. In an age where success, to a great extent, is determined by one's online presence, there is a definite departure from basic HTML static websites to more dynamic CMS (Content Management System) driven portals. Open source content management systems namely Joomla, WordPress and Drupal are widely used backend systems which is preferred by all websites owners and customers. The good news is that PHP is highly compatible with all the three CMS options, thus creating an innate demand to hire talented PHP developers with required experience and expertise.
Besides supporting the development of highly dynamic websites, PHP is attuned with SEO protocols which are quite significant in competitive virtual market space. It also has the ability to effectively work on different operating systems and web environment. However, in spite of many excellent features that the platform augments PHP development can sometimes become repetitive and tedious. In order lift this inherent drawback of an otherwise remarkable scripting language, selecting the requisite framework can prove to be an effective solution.
One of the formidable advantages of using a PHP framework is that it enhances speed of the development process. The coding task becomes very simple within the purview of a PHP framework. The framework constitutes of pre-built modules that reduces the development time. Working within a framework, a developer does not require spending a lot of time coding a task from scratch. A PHP framework also extends a much needed stability to the entire development project which is crucial for delivering the work in time.
Therefore, if you are banking on PHP scripting language for your next project, hire a PHP developer who is abreast with the varied frameworks of the platform. A pertinent question here is how to select the best PHP framework for a given project? A veteran PHP developer can create his/her own PHP framework. However, it is best to select from an existing framework. Some top ranking PHP frameworks (in no particular order) may be identified as below:
• CakePHP
• CodeIgniter
• Yii
• Zend
• Symfony
• PHPDevShell
• Akelos
• QPHP
Many a time, selection of a PHP framework is determined by the nature and scope of the project at hand. Every framework has its own strong and weak points. Largely the successful use of a framework depends upon certain aspects such as its simplicity, performance, popularity and the support forum that the framework receives.
Individual talent and expertise of a PHP developer is also crucial for the successful completion of a project. Therefore, hiring a PHP developer who has the competence and knowledge of varied framework of the platform is a must. Hire a PHP developer who has quality knowledge and experience in the following fields:
• Understanding of different forms of PHP development
• Familiarity with PHP framework technologies
• Knowledge of database programming
• Hand on experience in JavaScropt, API, XML, AJAX and jQuery