Wednesday, February 27, 2013

LAMP



  • Comparison of WAMPs

http://en.wikipedia.org/wiki/Comparison_of_WAMPs


  • LAMP (software bundle)

LAMP is a solution stack of free, open source software. The acronym LAMP refers to the first letters of Linux (operating system), Apache HTTP Server, MySQL (database software), and PHP, Perl or Python, principal components to build a viable general purpose web server.

Similar terms exist for essentially the same software suite (AMP) running on other operating systems, such as Microsoft Windows (WAMP), Mac OS (MAMP), Solaris (SAMP), iSeries (iAMP), or OpenBSD (OAMP).
http://en.wikipedia.org/wiki/LAMP_%28software_bundle%29

Connecting to MySQL from PHP


Connecting to MySQL from PHP
Open the php.ini configuration file in a text editor.
Find the line ; extension_dir = "ext" and change it to:
extension_dir = "c:\php\ext\"
Find the line ;extension=php_pdo_mysql.dll and uncomment it by removing the semicolon.
Restart the Apache server.


Copy the following listing into a new file under your htdocs directory.
<?php
header('Content-type:text/plain');
$dbh = new PDO('mysql:host=localhost;dbname=test', 'root', 'PASSWORD');
$st = $dbh->prepare('select bar from foo');
$st->execute();
var_dump($st->fetch(PDO::FETCH_ASSOC));
?>

http://www.vbforums.com/showthread.php?651576-Installing-MySQL-Server-5.5-on-Windows-7

building php environment

  • Installing PHP 5.3 and Apache HTTP Server on Windows 7


Installing PHP
version is 5.3.6.
Download PHP from this page:
http://windows.php.net/download/
Get the latest thread-safe VC9 binary in zip archive format.
Extract the archive into a suitable directory — usually C:\php\.
Navigate into this directory and rename the file php.ini-development to php.ini.
Open a terminal window. Change into the directory where you extracted the files and run php -i




  • Installing Apache HTTP Server

version is 2.2.19.
Download Apache from this page:
http://www.apachelounge.com/download/
Get the first link under the heading "Apache 2.2 win32 binary". It's another zip archive.
Extract the archive. The default path is C:\apache2\.
Using your terminal window, change into the bin directory under the Apache directory, and run httpd -k install to install Apache as a service.
Run httpd -k start to start the server.
Now navigate to http://localhost/
The file you are seeing is index.html, under htdocs in the Apache directory.



  • Configuring PHP as an Apache Module

Edit the file conf\httpd.conf under the Apache directory.
Add the following to the bottom of the file:

LoadModule php5_module "c:/php/php5apache2_2.dll"
<IfModule php5_module>
AddType application/x-httpd-php .php
PHPIniDir c:/php/
DirectoryIndex index.php index.html
</IfModule>

In the htdocs directory, create a file called test.php with the following contents:
<?php phpinfo(); ?>

Restart Apache (httpd -k restart) to effect the changes we've made.
Now navigate to http://localhost/test.php in your web browser


  • config with php-5.4.12-Win32-VC9-x86.zip.Use the same config as well as above.Otherwise it gives error with "c:/php/php5apache2_4.dll" parameter



LoadModule php5_module "c:/php/php5apache2_2.dll"
<IfModule php5_module>
AddType application/x-httpd-php .php
PHPIniDir c:/php/
DirectoryIndex index.php index.html
</IfModule>


http://www.vbforums.com/showthread.php?651571-Installing-PHP-5.3-and-Apache-HTTP-Server-on-Windows-7




  • phpMyAdmin

phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL over the World Wide Web. phpMyAdmin supports a wide range of operations with MySQL. The most frequently used operations are supported by the user interface (managing databases, tables, fields, relations, indexes, users, permissions, etc), while you still have the ability to directly execute any SQL statement.
http://www.phpmyadmin.net/home_page/index.php




  • SQL Buddy – Web based MySQL administration

http://sqlbuddy.com/



  • Webgrind

Webgrind is an Xdebug profiling web frontend in PHP5. It implements a subset of the features of kcachegrind and installs in seconds and works on all platforms. For quick'n'dirty optimizations it does the job. Here's a screenshot showing the output from profiling:
https://code.google.com/p/webgrind/




Tuesday, February 26, 2013

Automatic teller machine (ATM)



  • Automatic teller machine (ATM) 

An automated teller machine or automatic teller machine (ATM) a cash machine, cashpoint, cashline,is a computerized telecommunications device that enables the clients of a financial institution to perform financial transactions without the need for a cashier, human clerk or bank teller.
http://en.wikipedia.org/wiki/Automated_teller_machine


teller [countable]
1 someone whose job is to receive and pay out money in a bank
2 someone who counts votes
http://www.ldoceonline.com/dictionary/teller

Sunday, February 24, 2013

Search engine optimization (SEO)



  • Search engine optimization (SEO)

Search engine optimization (SEO) is the process of affecting the visibility of a website or a web page in a search engine's "natural" or un-paid ("organic") search results
SEO may target different kinds of search, including image search, local search, video search, academic search,[1] news search and industry-specific vertical search engines.
http://en.wikipedia.org/wiki/Search_engine_optimization




  • What Is SEO / Search Engine Optimization?

SEO stands for “search engine optimization.” It is the process of getting traffic from the “free,” “organic,” “editorial” or “natural” listings on search engines. All major search engines such as Google, Yahoo and Bing have such results, where web pages and other content such as videos or local listings are shown and ranked based on what the search engine considers most relevant to users. Payment isn’t involved, as it is with paid search ads.
http://searchengineland.com/guide/what-is-seo



  • What Is SEO 

If you have ever wondered why some of these websites rank better than the others then you must know that it is because of a powerful web marketing technique called Search Engine Optimization (SEO).
SEO is a technique which helps search engines find and rank your site higher than the millions of other sites in response to a search query. SEO thus helps you get traffic from search engines.
http://www.webconfs.com/seo-tutorial/introduction-to-seo.php





  • What is SEO? 

For me, search engine optimization (SEO) is the art of getting a website to work better with search engines like Google, Bing & Yahoo, and to look for achievable, profitable, ranking opportunities through keyword research. SEO is a quest for increased visibility in search engines via relevant copy, quality links, domain trust, social popularity and search engine connectivity
http://www.hobo-web.co.uk/what-is-seo-a-guide-for-beginners/

Twitter Bootstrap


  • Twitter Bootstrap

Bootstrap utilizes LESS CSS, is compiled via Node, and is managed through GitHub to help nerds do awesome stuff on the web.
http://twitter.github.com/bootstrap/

Frameworks


  • CodeIgniter

CodeIgniter is a powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications. If you're a developer who lives in the real world of shared hosting accounts and clients with deadlines, and if you're tired of ponderously large and thoroughly undocumented frameworks, then CodeIgniter might be a good fit.
http://ellislab.com/codeigniter



  • Yii

Yii is a high-performance PHP framework best for developing Web 2.0 applications.
http://www.yiiframework.com/


  • Symfony

Symfony is a PHP framework for web projects.
Speed up the creation and maintenance of your PHP web applications. Replace the repetitive coding tasks by power, control and pleasure.
http://symfony.com/



  • Doctrine

The Doctrine Project is the home of a selected set of PHP libraries primarily focused on providing persistence services and related functionality.
Its prize projects are a Object Relational Mapper and the Database Abstraction Layer it is built on top of
http://www.doctrine-project.org/



  • Gearman

Gearman is an open source application framework
Gearman is designed to distribute appropriate computer tasks to multiple computers, so large tasks can be done more quickl
https://en.wikipedia.org/wiki/Gearman

Gearman provides a generic application framework to farm out work to other machines or processes that are better suited to do the work.
It allows you to do work in parallel, to load balance processing, and to call functions between languages
http://gearman.org/

Saturday, February 23, 2013

Spear Phishing



  • Spear Phishing

Phishing attempts directed at specific individuals or companies have been termed spearphishing.
Attackers may gather personal information about their target to increase their probability of success.
http://en.wikipedia.org/wiki/Phishing

  • Spear Phishing: Scam, Not Sport
The latest twist on phishing is spear phishing. No, it's not a sport, it's a scam and you're the target. Spear phishing is an email that appears to be from an individual or business that you know. But it isn't. It's from the same criminal hackers who want your credit card and bank account numbers, passwords, and the financial information on your PC.
http://us.norton.com/spear-phishing-scam-not-sport/article


  • spear phishing is a targeted form of phishing in which fraudulent emails target specific organizations in an effort to gain access to confidential information. Its tactics include impersonation, enticement and access-control bypass techniques like email filters and antivirus. The objective of spear phishing and phishing are ultimately the same—to trick a target into opening an attachment or click on a malicious embedded link.

How does Spear Phishing work?

Spear phishing focuses on specific individuals or employees within an organization and social media accounts such as Twitter, Facebook, and LinkedIn to specifically customize accurate and compelling emails. These emails contain infected attachments and links. Once the link is opened, it executes malware that leads the target to a specific website. The attackers can then establish their networks and move forward with the targeted attack.
https://www.trendmicro.com/vinfo/us/security/news/cyber-attacks/spear-phishing-101-what-is-spear-phishing

  • Spam Filters

Spam filters are the first line of defense that protects organizations from phishing attacks. These filters can be configured to alert on anything from keywords to untrusted sending domains or IP addresses, depending on your spam-filtering solution
Whenever feasible you should whitelist trusted domains and sandbox all others for human review

Firewall / Proxy

so if an attacker can create an attack that bypasses spam filters, then they are confident that the network is allowing inbound SMTP, so now they just need to test the firewall and proxy
A common method used for such testing is to host HTML images on the malicious web server, and embed those images into the phishing message. This allows the attacker to view the GET request of the embedded image, which confirms that the firewall and proxy are allowing communication back to the malicious web server.


The Attack

Now the attacker is confident that his messages are bypassing spam filters and the payload is bypassing firewalls and proxies. The image below represents a typical message that has utilized these pre-attack methods.


At a minimum, security teams should not allow the download images within messages, which will help prevent the attacker from knowing if his malicious message was delivered.
Another option is to set proxy servers to deny requests to domains that have been registered within the last 30 days. Most phishing campaigns rely on categorized domains that have expired and subsequently been purchased and repurposed by the bad guys for their phishing campaigns.

http://resources.infosecinstitute.com/please-volunteer/#gref

Friday, February 22, 2013

Ruby

  • Ruby is a pure object-oriented programming language
Ruby is a general-purpose, interpreted programming language.
Ruby is a true object-oriented programming language.
Ruby is a server-side scripting language similar to Python and PERL.
Ruby can be used to write Common Gateway Interface (CGI) scripts.
Ruby can be embedded into Hypertext Markup Language (HTML).
Ruby has similar syntax to that of many programming languages such as C++ and Perl.
https://www.tutorialspoint.com/ruby/ruby_overview.htm


  • Whitespace characters such as spaces and tabs are generally ignored in Ruby code, except when they appear in strings

Ruby interprets semicolons and newline characters as the ending of a statement.
https://www.tutorialspoint.com/ruby/ruby_syntax.htm


  • Ruby is a perfect Object Oriented Programming Language. The features of the object-oriented programming language include −


    Data Encapsulation
    Data Abstraction
    Polymorphism
    Inheritance

https://www.tutorialspoint.com/ruby/ruby_classes.htm


  • Variables are the memory locations, which hold any data to be used by any program.

https://www.tutorialspoint.com/ruby/ruby_variables.htm


  • Ruby Parallel Assignment

Ruby also supports the parallel assignment of variables. This enables multiple variables to be initialized with a single line of Ruby code.
Ruby Ternary Operator
There is one more operator called Ternary Operator.
Ruby defined? Operators
defined? is a special operator that takes the form of a method call to determine whether or not the passed expression is defined. It returns a description string of the expression, or nil if the expression isn't defined
Ruby Dot "." and Double Colon "::" Operators
You call a module method by preceding its name with the module's name and a period, and you reference a constant using the module name and two colons.
Remember in Ruby, classes, and methods may be considered constants too.
https://www.tutorialspoint.com/ruby/ruby_operators.htm


  • Modules are a way of grouping together methods, classes, and constants. Modules give you two major benefits.

    Modules provide a namespace and prevent name clashes.
    Modules implement the mixing facility.
https://www.tutorialspoint.com/ruby/ruby_modules.htm


  • Ruby does not support multiple inheritances directly but Ruby Modules have another wonderful use. At a stroke, they pretty much eliminate the need for multiple inheritances, providing a facility called a mixin.

Mixins give you a wonderfully controlled way of adding functionality to classes. However, their true power comes out when the code in the mixing starts to interact with code in the class that uses it
https://www.tutorialspoint.com/ruby/ruby_modules.htm

  • What Object Relational Mapping and Active Record are and how they are used in Rails.

How Active Record fits into the Model-View-Controller paradigm.
How to use Active Record models to manipulate data stored in a relational database.
https://guides.rubyonrails.org/active_record_basics.html


  • Setting Up a Ruby Development Environment


Install Ruby
Install Bundler
Install an editor (optional)

Linux
Our recommended way of installing Ruby on a Linux distribution is to use rbenv to manage your Ruby installations. rbenv manages multiple Ruby version installations on your machine and a rbenv plugin named ruby-build adds support to rbenv to install a specified version of Ruby.


https://cloud.google.com/ruby/docs/setup

  • RubyGems is a package manager for Ruby. A package manager organizes packages during the development of an application.
https://www.vultr.com/docs/how-to-install-rubygems-on-linux

  • RubyGems is a package management framework for Ruby.
The RubyGems software allows you to easily download, install, and use ruby software packages on your system. The software package is called a “gem” which contains a packaged Ruby application or library.
https://rubygems.org/pages/download

  • A gem is essentially a Ruby plugin.

Bundler acts as a package manager by determining the full set of direct dependencies needed by your application, as well as sub-dependencies needed by those first-level dependencies.
The only aspect of gems that you'll have to manage is the list of names within a special file, known as a Gemfile.

Why gems?
One of the most obvious reasons relates to code reuse.
If you find yourself implementing the same feature over and over again across projects, there's a good chance that you've found the need for a gem.

Take for example a web service with a public API. In order to encourage potential users to consume your service, you might consider releasing a gem that acts as a client for your API, thereby reducing the barrier to entry.

releasing a gem as open-source provides others the opportunity to contribute by adding features, addressing issues that you might have overlooked, and generally making your gem provide an all-around better experience for its users.

you might consider releasing a gem to demonstrate your abilities as a developer.

Let's first look at the gemspec file (dogeify.gemspec in this case). This file provides metadata about the gem, such as the name, description, author, license, and any gem dependencies required for it to work.

RSpec, so my example tests will be using that DSL.
First, the rspec gem will need to be included.
we need to make the rspec rake task available. To do this, we could modify the Rakefile that Bundler provided automatically.

If you've never released a gem before, you'll be prompted to enter your RubyGems.org credentials so that they know it's you. After you've done this once, Bundler will remember for the future, meaning you won't be prompted for any other info.

https://quickleft.com/blog/engineering-lunch-series-step-by-step-guide-to-building-your-first-ruby-gem/


  • Structure of a Gem

The lib directory contains the code for the gem
The test or spec directory contains tests, depending on which test framework the developer uses
A gem usually has a Rakefile, which the rake program uses to automate tests, generate code, and perform other tasks.
https://guides.rubygems.org/what-is-a-gem/



  • Minitest is Ruby’s built-in test framework. There are lots of tutorials for using it online. There are many other test frameworks available for Ruby as well. RSpec is a popular choice

Let’s add some tests to Hola. This requires adding a few more files, namely a Rakefile and a brand new test directory:
The Rakefile gives you some simple automation for running tests:
https://guides.rubygems.org/make-your-own-gem/




  • Gemfile: Used to manage gem dependencies for our library’s development. This file contains a gemspec line meaning that Bundler will include dependencies specified in foodie.gemspec too. It’s best practice to specify all the gems that our library depends on in the gemspec.


Rakefile: Requires Bundler and adds the build, install and release Rake tasks by way of calling Bundler::GemHelper.install_tasks. The build task will build the current version of the gem and store it under the pkg folder, the install task will build and install the gem to our system (just like it would do if we gem install‘d it) and release will push the gem to Rubygems for consumption by the public.

https://bundler.io/v1.13/guides/creating_gem


  • The search command lets you find remote gems by name.

The install command downloads and installs the gem and any necessary dependencies then builds documentation for the installed gems.
The list command shows your locally installed gems:
The uninstall command removes the gems you have installed.
You can view the documentation for your installed gems with ri:
https://guides.rubygems.org/rubygems-basics/


  • YARD is a documentation generation tool for the Ruby programming language. It enables the user to generate consistent, usable documentation that can be exported to a number of formats very easily, and also supports extending for custom Ruby constructs such as custom class level definitions. Above is a highlight of the some of YARD's notable features.

https://yardoc.org/
  • Gems are the way Ruby libraries are distributed. You use the gem command to manage these gems. We'll use this command to install Rails.

Bundler is a tool that manages gem dependencies for projects. Install the Bundler gem next. as Rails depends on it.

When you install a gem, the installation process generates local documentation. This can add a significant amount of time to each gem's installation process, so turn off local documentation generation by creating a file called ~/.gemrc which contains a configuration setting to turn off this feature

https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-ubuntu-18-04
  • Bundler provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions that you need. Bundler prevents dependencies and ensures that the gems you need are present in development, staging, and production. Starting work on a project is as simple as running the bundle install command.

https://help.dreamhost.com/hc/en-us/articles/115001070131-Using-Bundler-to-install-Ruby-gems

  • Why choose rbenv over RVM?

    Provide support for specifying application-specific Ruby versions.
    Let you change the global Ruby version on a per-user basis.
    Allow you to override the Ruby version with an environment variable.
https://github.com/rbenv/rbenv/wiki/Why-rbenv%3F


  • Compatibility note: rbenv is incompatible with RVM. Please make sure to fully uninstall RVM and remove any references to it from your shell initialization files before installing rbenv.

https://github.com/rbenv/rbenv#installation


  • Ruby Version Manager (RVM)

RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems.
http://rvm.io/
  • Ruby Version Manager (RVM) is a utility that allows you to add your own personal version of Ruby to a user. It allows you to add, remove, or have multiple versions of Ruby and its libraries live in your user director

https://help.dreamhost.com/hc/en-us/articles/217185247-Ruby-Version-Manager-RVM-



  • RVM is a tool for installing and managing multiple Ruby versions.

There are other ways to install Ruby, e.g. through yum, apt-get, source tarball, rbenv and chruby
https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/ownserver/standalone/oss/install_language_runtime.html

  • Ruby on Rails

Ruby on Rails, often shortened to Rails, is an open source full-stack web application framework for the Ruby programming language.
Ruby on Rails is not to be confused with Ruby, which is a general-purpose programming language, on which Ruby on Rails runs.
Rails is a full-stack framework, meaning that it gives the Web developer the full ability to gather information from the web server, talking to or querying the database, and template rendering out of the box.
As a result, Rails features a routing system that is independent of the Web server.


http://en.wikipedia.org/wiki/Ruby_on_Rails


  • Ruby on Rails is one of the most popular application stacks for developers looking to create sites and web apps. The Ruby programming language, combined with the Rails development framework, makes app development simple.

You can easily install Ruby and Rails with the command-line tool rbenv. Using rbenv will provide you with a solid environment for developing your Ruby on Rails applications as it will let you easily switch Ruby versions, keeping your entire team on the same version.
Gems are packages that extend the functionality of Ruby. We will want to install Rails through the gem command.
So that the process of installing Rails is less lengthy, we will turn off local documentation for each gem we install. We will also install the bundler gem to manage application dependencies:
https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-ubuntu-16-04


  • Ruby vs. Python

The Ruby on Rails web framework is built using the Ruby programming language while the Django web framework is built using the Python programming language.
Ruby is designed to be infinitely flexible and empowering for programmers.
Python takes a more direct approach to programming. It’s main goal is to make everything obvious to the programmer.
Anything you can do in Ruby on Rails you could also do in Python and Django.
https://learn.onemonth.com/ruby-vs-python/


  • Ruby vs Golang

Ruby vs Golang: Performance
The key principles of Golang development are simplicity and productivity.
The C-family of programming languages influenced both Ruby and Golang
Golang programming is ideal for solving both simple and complex, multi-threaded tasks
Meanwhile, Ruby is ideal for creating tiny commercial projects, blogs, and personal pages thanks to the popular Ruby on Rails framework.
However, for complex solutions, Ruby is not very appropriate.
The performance data, as shown in this benchmark, leads us to the fact that, given equivalent environments, Golang projects run faster than similar projects written in Ruby.

Ruby vs Golang: Community
Ruby was created by one person. Go was designed by Google with its extensive cloud infrastructures, supportive community, forums, tutorials, and, most importantly, additional libraries that help the language move forward

Ruby vs Golang: Compatibility
Thanks to the natural compatibility of Go with other languages (especially with the C-family languages), many programmers use Golang even in a bundle with different stacks like Python and Go or PHP and Go to improve general app performance. Also, Go interacts with almost all databases as a server-side language. As for Ruby, its compatibility is limited only to the most popular databases.

Ruby vs Golang: Development Experience
Golang is perfect both for backend systems of any size and highly-scalable network servers. Go is a modern and competitive language. It provides you with fast and high-quality performance, clean environments, and good compatibility with other technologies. Ruby is useful if you need rapid result delivery, and if the quality of performance is not that important.


https://dzone.com/articles/ruby-vs-golang-comparison-which-is-the-best-soluti-2

  • Python, Ruby, and Golang: A Web Service Application Comparison


Flask (Python)
Sinatra (Ruby)
Martini (Golang)

comparison of Python, Ruby, and Golang for a command-line application I decided to use the same pattern to compare building a simple web service.

Simplicity
While Flask is very lightweight and reads clearly, the Sinatra app is the simplest of the three at 23 LOC (compared to 46 for Flask and 42 for Martini). For these reasons Sinatra is the winner in this category
For beginners to programming Flask and Sinatra are certainly simpler

Documentation
The Flask documentation was the simplest to search and most approachable.
For this reason Flask is the winner in this category.

Community
Flask is the winner hands down in this category. The Ruby community is more often than not dogmatic about Rails being the only good choice if you need anything more than a basic service (even though Padrino offers this on top of Sinatra). The Golang community is still nowhere near a consensus on one (or even a few) web frameworks, which is to be expected as the language itself is so young. Python however has embraced a number of approaches to web development including Django for out-of-the-box full-featured web applications and Flask, Bottle, CheryPy, and Tornado for a micro-framework approach.

Final Determination
If you are coming from a language like C or Java perhaps the statically-typed nature of Golang may appeal to you

https://realpython.com/python-ruby-and-golang-a-web-service-application-comparison/
  • Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort:
http://sinatrarb.com/
  • Capybara
Tired of clicking around in your browser trying to make sure your applications work as expected? Capybara is a library written in the Ruby programming language which makes it easy to simulate how a user interacts with your application.
Capybara can talk with many different drivers which execute your tests through the same clean and simple interface. You can seamlessly choose between Selenium, Webkit or pure Ruby drivers
http://jnicklas.github.io/capybara/

  • Acceptance test framework for web applications

Key benefits
    No setup necessary for Rails and Rack application. Works out of the box.
    Intuitive API which mimics the language an actual user would use.
    Switch the backend your tests run against from fast headless mode to an actual browser with no changes to your tests.
    Powerful synchronization features mean you never have to manually wait for asynchronous processes to complete.


https://github.com/teamcapybara/capybara
  • Watir
Watir, pronounced water, is an open-source (BSD) family of Ruby libraries for automating web browsers. It allows you to write tests that are easy to read and maintain. It is simple and flexible.
http://watir.com/


Thursday, February 21, 2013

Network operating system


Network operating system
Network Operating System also referred to as the Dialoguer,is the software that runs on a server and enables the server to manage data, users, groups, security, applications, and other networking functions.
The network operating system is designed to allow shared file and printer access among multiple computers in a network, typically a local area network (LAN), a private network or to other networks.
The most popular network operating systems are Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and BSD.
http://en.wikipedia.org/wiki/Network_operating_system

Situation awareness



  • Situation awareness
    Situational awareness is the perception of environmental elements with respect to time and/or space, the comprehension of their meaning, and the projection of their status after some variable has changed, such as time, or some other variable, such as a predetermined event. It is also a field of study concerned with perception of the environment critical to decision-makers in complex, dynamic areas from aviation, air traffic control, power plant operations, military command and control, and emergency services such as fire fighting and policing; to more ordinary but nevertheless complex tasks such as driving an automobile or bicycle.
    Situational awareness (SA) involves being aware of what is happening in the vicinity, in order to understand how information, events, and one's own actions will impact goals and objectives, both immediately and in the near future
    http://en.wikipedia.org/wiki/Situation_awareness


  • LuciadMap

LuciadMap software comprises an extensive suite of customizable components that meet the demands for rapid development of high-end situational awareness applications in all areas of C4ISR and ATC/ATM and is designed to provide high-performance and high-precision applications.
http://www.luciad.com/products/luciadmap



Wednesday, February 20, 2013

Oracle Spatial and Graph



  • Oracle Spatial and Graph

Oracle Spatial and Graph, formerly Oracle Spatial, forms a separately-licensed option component of the Oracle Database. The spatial features in Oracle Spatial and Graph aid users in managing geographic and location-data in a native type within an Oracle database, potentially supporting a wide range of applications — from automated mapping/facilities-management and geographic information systems (GIS), to wireless location services and location-enabled e-business
http://en.wikipedia.org/wiki/Oracle_Spatial_and_Graph



  • Oracle Spatial and Graph

The Oracle Spatial and Graph option for Oracle Database 11g includes full 3-D and Web services support to manage all geospatial data including vector and raster data, topology, and network models. Oracle Spatial and Graph works in tandem with Oracle Locator, a feature included with every Oracle Database edition that provides mapping capabilities needed to location-enable many business applications.
http://www.oracle.com/us/products/database/options/spatial/overview/index.html?origref=http://www.oracle.com/us/products/database/options/spatial/overview/index.htm

concepts



  • Bring your own device (BYOD) (also called bring your own technology (BYOT), bring your own phone (BYOP), and bring your own PC (BYOPC)) means the policy of permitting employees to bring personally owned mobile devices (laptops, tablets, and smart phones) to their workplace, and use those devices to access privileged company information and applications.The term is also used to describe the same practice applied to students using personally owned devices in education settings

http://en.wikipedia.org/wiki/Bring_your_own_device


  • What is Bring your own device (BYOD)?


Bring your own device (BYOD) is an IT policy where employees are allowed or encouraged to use their personal mobile devices—and, increasingly, notebook PCs—to access enterprise data and systems. There are four basic options, which allow:

    Unlimited access for personal devices.
    Access only to non-sensitive systems and data.
    Access, but with IT control over personal devices, apps and stored data.
    Access, while preventing local storage of data on personal devices.
http://www.ibm.com/mobilefirst/us/en/bring-your-own-device/byod.html


  •  An operational expenditure (Opex) is the money a company spends on an ongoing, day-to-day basis in order to run a business or system.

 http://whatis.techtarget.com/definition/OPEX-operational-expenditure


  •  A capital expenditure (Capex) is money invested by a company to acquire or upgrade fixed, physical, non-consumable assets, such as buildings and equipment or a new business. 

 http://whatis.techtarget.com/definition/CAPEX-capital-expenditure

  • What is CapEx and OpEx?

CapEx refers to a Capital expenditure while OpEx refers to an Operational expenditure. Capital expenditure is incurred when a business acquires assets that could be beneficial beyond the current tax year. For instance, it might buy brand new equipment or buildings. Also, it could upgrade an existing asset to boost its value beyond the current tax year. CapEx is also known as a Capital expense.
Operational expenditure consists of those expenses that a business incurs to run smoothly every single day. They are the costs that a business incurs while in the process of turning its inventory into an end product. Hence, depreciation of fixed assets that are used in the production process is considered OpEx expenditure. OpEx is also known as an operating expenditure, revenue expenditure or an operating expense.
How CapEx and OpEx are Treated in Accounting
CapEx – Capital expenditures are not fully deducted in the accounting period they were incurred. In other words, they are not fully subtracted from the revenue when computing the profits or losses a business has made. However, intangible assets are amortized over their lifespan while the tangible ones are depreciated over their life cycle. All monies spent to get new inventory, including machinery or intellectual property, are grouped under CapEx spendings.

OpEx – Operating expenses are fully deducted in the accounting period they were incurred. All funds spent when converting inventory into throughput falls under OpEx. This includes employee wages, repair and maintenance of equipment, rental fees, and utility bills and so on. If a business invests in real estate, these spending is approved as CapEx budget and the expense is grouped under CapEx. However, all the costs incurred when managing such an income generating building falls under OpEx.

CapEx Summary
Purchase of fixed assets.
Preparation of the purchased asset so it can be appropriate for business use.
Fixing of asset’s problems,
Restoration of an asset’s value through upgrading
Adapting a machine to a different use

Operating Expenditures Summary
License fees
Advertising costs
Legal and attorney fees
Telephone and power overheads
Insurance fees
Property management costs
Property taxation expenses
Vehicle fuel and repair costs
Leasing commissions
Salary and wages
Raw materials and supplies
Office overheads

IT Spending – CapEx or OpEx?
Traditionally technology investments most often were considered for capital expenditures over OpEx, because CFOs could take advantage of amortization these expenses over an extended period of time. Nowadays, more and more companies switch IT investment from CapEx to OpEx and they have a reasonable argument for this switch – moving company IT infrastructure to the cloud. Once this moving happens, additional CapEx benefits fall as far as the company no longer need static investments for the hardware, software and resources.
https://www.comindware.com/blog-what-is-capex-and-opex/


  • A COTS (commercial off-the-shelf) product is one that is used "as-is." COTS products are designed to be easily installed and to interoperate with existing system components. Almost all software bought by the average computer user fits into the COTS category: operating systems, office product suites, word processing, and e-mail programs are among the myriad examples. One of the major advantages of COTS software, which is mass-produced, is its relatively low cost.

http://searchenterpriselinux.techtarget.com/definition/COTS-MOTS-GOTS-and-NOTS



  • A COTS product is usually a computer hardware or software product tailored for specific uses and made available to the general public. Such products are designed to be readily available and user friendly. A typical example of a COTS product is Microsoft Office or antivirus software. A COTS product is generally any product available off-the-shelf and not requiring custom development before installation

http://www.techopedia.com/definition/1444/commercial-off-the-shelf-cots


  • proof of concept (POC)

When a company is asked to invest in a another company or project, usually a proof of concept is required to demonstrate that the proposal is fiscally sound.
For example, a company interested in developing a new suite of software would look at market demand, feasibility of the project, projected cost, and other factors.
http://www.wisegeek.com/what-is-a-proof-of-concept.htm