Skills

Overview

We have organized our skills into the following categories:

Application frameworks
An application framework is a software framework used to implement the standard structure of an application. The structure typically includes formalized mechanisms for database interaction, business logic and user interface.

Application servers
An application server is a software framework that provides a generalized approach to creating the server portion of a distributed application.

Browser-based technologies
A variety of technologies collaborate to produce today's modern, interactive web sites.

Databases
A database is a collection of information that is organized so that it can easily be accessed, managed, and updated. The most common type of database is the relational database, a tabular database in which data is defined so that it can be reorganized and accessed in a number of different ways.

Integrations
A complex web application typically integrates with one or more 3rd-party technologies. Finite Wisdom has performed a wide variety of such integrations.

Mobile
A mobile web site or application is one that has been optimized to be used on a small, portable device like a smartphone or tablet.

Programming languages
Just as there are numerous spoken languages, there are thousands of languages that can be used to program a computer. The following programming languages are the ones for which we are most familiar.

Website builders
A website builder is a tool that allows you to create a website using an intuitive, drag-and-drop user interface. These tools are intended to allow a company to maintain and incrementally develop their website on their own, without the overhead of using a web developer for ongoing changes.

Application frameworks

An application framework is a software framework used to implement the standard structure of an application. The structure typically includes formalized mechanisms for database interaction, business logic and user interface.

Django
Originally developed for the fast-paced environment of a newsroom, this Python-based, model-view-controller framework can be best summarized as nimble. It is ideal for projects with either imprecise or rapidly evolving requirements. The framework was named after the famous jazz guitarist of the same name.


FW/1
A model-view-controller framework for Adobe Coldfusion, FW/1 is incredibly lightweight — just a single file! It achieves this by emphasizing convention over configuration, which minimizes code and complexity.


webapp2
An evolution of the webapp framework originally developed by Google, webapp2 is a model-view-controller framework for Google App Engine.

Application servers

An application server is a software framework that provides a generalized approach to creating the server portion of a distributed application. Finite Wisdom has developed solutions with the following application servers.

Classic ASP
Active Server Pages (ASP), also known as Classic ASP, is Microsoft's first server-side script engine for dynamically-generated web pages. Finite Wisdom has developed solutions using Classic ASP for FUJIFILM Medical Systems.


ColdFusion
Adobe ColdFusion enables developers to rapidly build, deploy, and maintain robust Internet applications for the enterprise. Finite Wisdom has developed solutions using Coldfusion for multiple clients.


Google App Engine
Google App Engine enables you to build and host web apps on the same systems that power Google applications. It offers fast development and deployment and effortless scalability. Finite Wisdom has developed solutions using Google App Engine for multiple clients.


Node.js
Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. With JavaScript the standard scripting language for web clients, it is very compelling to also use JavaScript for web application servers. Finite Wisdom has prototyped solutions using Node.js for FUJIFILM Medical Systems.


PHP
PHP is a server-side scripting language and one of the oldest application servers for the web. It is used to power over 240 million websites. Finite Wisdom has developed solutions using PHP for Stony Point Surgery Center.

Browser-based technologies

A variety of technologies collaborate to produce today's modern, interactive web sites.

Ajax
Originally an acronym for asynchronous JavaScript and XML, Ajax is a mechanism to allow a web application to communicate with a server in the background, without requiring the web page to reload. Ajax is at the core of all modern, interactive web pages.


Bootstrap
Initially developed at Twitter, Bootstrap is a framework for building web-based user interfaces that automatically adapt to the screen size, whether the browser is running on a desktop, tablet or mobile device.


CSS
Cascading Style Sheets (CSS) is a language for describing the look and feel of a web page. In general, HTML provides the structured content for a web page, CSS provides the formatting and JavaScript provides the interactivity.


HTML5
An acronym for hypertext markup language, HTML is the core technology for the world wide web. “Markup” means that HTML defines the structure of a web page — navigation, headers, footers, sections and paragraphs. Hypertext” means that you can embed links into a web page, creating a web of inter-related pages.


jQuery
A library of JavaScript utilities, jQuery makes it very easy to manipulate the contents of a web page. The library is also cross-platform, available for all major browsers and operating systems, eliminating the often subtle and annoying differences between web browsers. jQuery is the most popular JavaScript library in use today, used on over 60% of all web sites in the world.


Less
As powerful as CSS is for controlling the look and feel of a web page, the language itself is fairly limiting. For example, CSS doesn't support variables. So, if you use a specific shade of blue in 25 different places on your web site, you need to indicate that actual shade every single time. You can't define it once, say @myCorporateBlue = rgb(62,73,184), and then refer to @myCorporateBlue those 25 times. Less solves this and similar problems.


Prototype
Like jQuery, Prototype makes it easy to manipulate the contents of a web page from JavaScript. Although it has a much smaller following than jQuery today, both libraries were created around the same time. As such, there are many older web sites that use Prototype extensively and need to be maintained and evolved.

Databases

database is a collection of information that is organized so that it can easily be accessed, managed, and updated. The most common type of database is the relational database, a tabular database in which data is defined so that it can be reorganized and accessed in a number of different ways.

Google Datastore
Unlike all other databases in this category, the Google Datastore is a non-relational database engine that is available from Google as a fully-managed, cloud-based service. What it lacks in relational flexibility it makes up for in scalability — it will automatically and seamlessly support arbitrarily high loads, as it is uses the same underlying technology as Google's own services.


Microsoft SQL Server
Originally derived from a Sybase product, Microsoft SQL Server has gone on to become a richly featured and powerful relational database engine for the Microsoft Windows ecosystem. Although it lacks some of the more advanced features of Oracle Database, SQL Server is a far easier product to configure and administer and rarely requires a dedicated database administrator (DBA).


SQLite
SQLite is a lightweight relational database engine that is available for all major operating systems and web browsers and is easy to use from all common programming languages. Unlike most other database engines, SQLite does not use a client-server architecture. Rather, the SQLite engine is embedded directly into the operating system, web browser or application.


Oracle Database
A powerful and complex relational database system, Oracle Database is available on all major platforms. It offers every possible feature that one could require of a database, from advanced clustering to object-orientation to XML storage facilities. This complexity comes at a cost, however, as an Oracle Database almost always requires a dedicated database administrator (DBA).

Integrations

A complex web application typically integrates with one or more 3rd-party technologies. Finite Wisdom has performed a wide variety of such integrations.

Adobe Analytics
Formerly known as SiteCatalyst, Adobe Analytics competes against Google Analytics, both of which are products for analyzing traffic to your web site or web application. Whereas Google's offering integrates with a bare minimum of effort, Adobe Analytics requires a more complex integration, but the result is a richer set of analytical reports.


Amazon Product Advertising
An API into Amazon's product catalog, Amazon Product Advertising allows you to build your own storefront that is backed by Amazon's extensive inventory. The API allows you to search for products, download entire product categories (e.g. Electronics) and submit completed orders back to Amazon. Your customers can shop on your web site with your user experience, but purchase Amazon products to be fulfilled and drop-shipped to your customer by Amazon.


Ariba PunchOut
Ariba Punchout is an e-commerce portal that provides a single, centralized launch pad from which a corporate buyer can seamlessly connect to the individual online stores provided by their various suppliers. The buyer logs in only once, to the portal itself, and all products selected from any supplier are collected into a single shopping cart for checkout through the portal.


Authorize.NET
A payment gateway that allows merchants to accept credit card and electronic check payments through the merchant's web site, Authorize.NET commands the lion's share of this market.


Best Buy
Similar in spirit to Amazon's offering, Best Buy APIs provides an API into Best Buy's product catalog. It allows you to build your own storefront that is backed by Best Buy's extensive inventory. The API allows you to search for products, download entire product categories (e.g. Televisions) and submit completed orders back to Best Buy. Your customers can shop on your web site with your user experience, but purchase Best Buy products to be fulfilled and drop-shipped to your customer by Best Buy.


cXML
A protocol created by Ariba, cXML is used for communication of business documents between procurement applications and suppliers of products and services. cXML is based on XML and provides a formal structure for standard business transactions like order, shipnotice and invoice.


FedEx
FedEx provides an API that allows an application to calculate the actual shipping cost of a single box, given its size, weight, destination and speed of delivery. Finite Wisdom has developed an intelligent module that calculates the optimal combination of box sizes in order to minimize shipping costs for complex shipments that require multiple boxes.


Hinda Incentives
Similar in spirit to the offerings from Amazon and Best Buy, Hinda provides an API into their catalog of products that have been specially hand-selected for use in incentive programs. The API allows you to build your own storefront that is backed by Hinda's extensive inventory you can search for products, download entire product categories (e.g. Televisions) and submit completed orders back to Hinda. Your customers can shop on your web site with your user experience, but purchase Hinda products to be fulfilled and drop-shipped to your customer by Hinda.


LiveArt
LiveArt provides a tool for performing online, visual product design. The user can select both a logo and its location on the product, as well as add text in a selected font, size and color. The design process produces camera-ready artwork for delivery to the product manufacturer. LiveArt provides an API by which their tool can be integrated into any e-commerce product.


MailChimp
A popular email marketing service provider, MailChimp has millions of users that send billions of messages every month. They provide an API that allows any application to tap into their  infrastructure, providing an application with rich email marketing capabilities at a remarkably modest cost.


OAuth
OAuth is an open standard that allows one application to rely on the login mechanism from another application. If you visit a website that says "Sign in with Facebook" or "Sign in with Google," it is using OAuth.


PGP
"Pretty Good Privacy," abbreviated as PGP, is a set of open-source software tools that are used to either encrypt or authenticate information. Encryption obscures the information so that if it is intercepted by a malicious party, it cannot be deciphered. Authentication, on the other hand, allows the information to be sent "in the clear" but is used to verify that a malicious party did not modify the information in transit (a man-in-the-middle attack).


SAML
Security Assertion Markup Language, or SAML, is a mechanism most often used for implementing single sign-on between multiple websites. Based on messages formatted in XML, one website will send a message to another website saying "User ABC has logged into my website with a valid password -- trust me." After verifying the authenticity of the message, the other website will automatically log in that user without ever knowing its password.


SAP OCI PunchOut
Similar in spirit to Ariba's offering, SAP OCI Punchout is an e-commerce portal that provides a single, centralized launch pad from which a corporate buyer can seamlessly connect to the individual online stores provided by their various suppliers. The buyer logs in only once, to the SAP portal itself, and all products selected from any supplier are collected into a single shopping cart for checkout through the portal.


Syniverse A2P Messaging Gateway
This "application to person" (A2P) gateway from Syniverse allows you to send text messages in both directions between your application and your users. You might use it, for example, to alert a user that someone has logged in from a device that they've never used before. The user could then simply respond with the word "off" meaning "that's not me -- please log them off." The possibilities for A2P messaging are endless.


xFA
Authentify's xFA allows you to add multi-factor authentication to your application. This allows you to collect additional proof of identity from the user's cell phone. Options typically range from simple possession of the cell phone to verification via voice print.


Xignite Global Currencies
Xignite's Global Currencies API allows you to enhance your application with up-to-the-minute conversion rates between any two global currencies (e.g. dollars and euros). 


XML
A W3C standard markup language for documents containing structured information, XML is the basis for an incredible array of standards that describe everything from messages between systems to security specifications to document structures.

Mobile

A mobile web site or application is one that has been optimized to be used on a small, portable device like a smartphone or tablet.

jQuery Mobile
Based on the jQuery library for JavaScript, jQuery Mobile is a user interface framework for building web-based user interfaces optimized for display on mobile devices like phones and tablets.


PhoneGap
PhoneGap is a tool for creating mobile hybrid apps — apps that are written using web standards like HTML5, CSS and JavaScript and then packaged into a native app for a mobile operating system like iOS (Apple) or Android (Google).

Programming languages

Just as there are numerous spoken languages, there are thousands of languages that can be used to program a computer. The following programming languages are the ones for which we are most familiar.

C++
A general-purpose, compiled language, C++ appeared in 1983 and added object orientation to the classic C language. It is a strong choice for performance-critical applications, but requires compilation on every targeted platform.


Java
Another general-purpose, compiled language, Java differs substantially from C++ in that it is compiled into bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture. The goal is for application developers to write and compile the code once and then run it on any targeted platform with a JVM.


Javascript
An interpreted (not compiled) language, JavaScript is the standard scripting language used to control a web browser and develop interactive web pages. If you want to make a web page "do something useful," JavaScript is required. Despite the similar names, JavaScript is not related to the Java language in any way.


PL/SQL
Developed by Oracle, PL/SQL is a procedural (not object-oriented) programming language that extends SQL, the standard language for a relational database.


Python
Initially created by a programmer looking for a project to keep himself busy over Christmas vacation, Python has gone on to become one of the most popular server-side programming languages in the world. Google became so enamored with its author that they hired him as a full-time employee to ensure the evolution of the language.


SQL
A special-purpose language, SQL is used to define the structure and manipulate the data in a relational database.


Transact-SQL
Similar in spirit to PL/SQL, Transact-SQL is a procedural (not object-oriented) programming language defined by Microsoft that extends SQL, the standard language for a relational database.


XSLT
Extensible Stylesheet Language Transformations, or XSLT, is a programming language designed for exactly one purpose: transforming XML documents into another format. The target format is typically either HTML, plain text or XML itself (with a different structure), but any text-based format is possible.

Website builders

A website builder is a tool that allows you to create a website using an intuitive, drag-and-drop user interface. These tools are intended to allow a company to maintain and incrementally develop their website on their own, without the overhead of using a web developer for ongoing changes.

Expression Engine
Similar in spirit to Wordpress, ExpressionEngine is a website-builder that is powered by PHP and MySQL. Unlike Wordpress, ExpressionEngine has a relatively small -- but loyal -- following in the development community.


Squarespace
Similar in spirit to Weebly, Squarespace is the "newest tool on the block" for building web sites using a web browser. Used by hundreds of thousands of web sites and with a recently revamped user interface, Squarespace is poised to give Weebly a run for its money.


Weebly
Weebly is a popular tool for building websites. Used by tens of millions of websites, it features an intuitive, drag-and-drop user interface. It runs in a web browser and also has iOS and Android apps for editing your web site on the go.


Wordpress
Initially created as a blogging platform, Wordpress has evolved into a tool for creating full-fledged websites with rich blogging functionality. Built on top of PHP, Wordpress is easily extended and has spawned a large, untamed ecosystem of plugins to achieve that end.