068760 visits since 05 May, 2021
Home || Notes >> Quick Notes

SUBMIT
Info:
24-12-2021 08:05:16problem solvingProblem solving consists of using generic or ad hoc methods in an orderly manner to find solutions to difficulties.
12-12-2021 07:58:48Dependency Inversion PrincipleEntities must depend on abstractions, not on concretions. It states that the high-level module must not depend on the low-level module, but they should depend on abstractions.
12-12-2021 07:57:28Interface Segregation PrincipleA client should never be forced to implement an interface that it doesn't use, or clients shouldn't be forced to depend on methods they do not use.
12-12-2021 07:56:30Liskov Substitution PrincipleLet q(x) be a property provable about objects of x of type T. Then q(y) should be provable for objects y of type S where S is a subtype of T. This means that every subclass or derived class should be substitutable for their base or parent class.
12-12-2021 07:55:05Open-Closed PrincipleObjects or entities should be open for extension but closed for modification.
12-12-2021 07:54:11Single-Responsibility PrincipleA class should have one and only one reason to change, meaning that a class should have only one job.
12-12-2021 07:53:03solid principlesSOLID is an acronym for the first five object-oriented design (OOD) principles by Robert C. Martin (also known as Uncle Bob). These principles establish practices that lend to developing software with considerations for maintaining and extending as the project grows. S (Single-responsiblity Principle) O - (Open-closed Principle) L - (Liskov Substitution Principle) I - (Interface Segregation Principle) D - (Dependency Inversion Principle)
29-11-2021 05:29:07kannada numbers0 (೦) ಸೊನ್ನೆ (sonnē) 1 (೧) ಒಂದು (ondu) 2 (೨) ಎರಡು (ēraḍu) 3 (೩) ಮೂರು (mūru) 4 (೪) ನಾಲ್ಕು (nālku) 5 (೫) ಅಯ್ದು (aydu) 6 (೬) ಆರು (āru) 7 (೭) ಏಳು (ēḷu) 8 (೮) ಎಂಟು (ēṇṭu) 9 (೯) ಒಂಬತ್ತು (ombattu) 10 (೧೦)
29-11-2021 05:25:22php valid emailfunction isValidEmail($email) { return filter_var($email, FILTER_VALIDATE_EMAIL) && preg_match('/@.+./', $email); }
29-11-2021 04:40:06mysql deleteDELETE FROM table_name WHERE 0
29-11-2021 03:20:04PHP array_diff() FunctionThe array_diff() function compares the values of two (or more) arrays, and returns the differences. This function compares the values of two (or more) arrays, and return an array that contains the entries from array1 that are not present in array2 or array3, etc. Syntax array_diff(array1, array2, array3, ...)
27-11-2021 15:30:20Google host jQuery<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
21-11-2021 20:11:57The basic INNER JOINSELECT L.XCol, R.YCol FROM LeftTable AS L INNER JOIN RightTable AS R ON L.IDCol=R.IDCol;
17-11-2021 07:32:54Join 3 Tables (or More) in SQLSELECT student.first_name, student.last_name, course.name FROM student JOIN student_course ON student.id = student_course.student_id JOIN course ON course.id = student_course.course_id;
05-11-2021 09:47:25cdn - content delivery networkA content delivery network (CDN) is a group of geographically distributed servers that speed up the delivery of web content by bringing it closer to where users are. Data centers across the globe use caching, a process that temporarily stores copies of files, so that we can access internet content from a web-enabled device or browser more quickly through a server near us. CDNs cache content like web pages, images, and video in proxy servers near to our physical location. This allows us to do things like watch a movie, download software, check our bank balance, post on social media, or make purchases, without having to wait for content to load.
26-10-2021 05:40:31pre tag wrapwhite-space: pre-wrap; /* Since CSS 2.1 */ white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ word-wrap: break-word; /* Internet Explorer 5.5+ */
24-10-2021 12:53:23URL and URIURL is used to describe the identity of an item.-URI provides a technique for defining the identity of an item... URL provides the details about what type of protocol is to be used.-URI doesn't contains the protocol specification... URL is a type of URI. - URI is the superset of URL.
24-10-2021 12:39:22segment-based approach and query string approachAccording to CI's docs, CodeIgniter uses a "segment-based approach"... for example: example.com/my/group.. If I want to find a specific group (id=5), I can visit.. example.com/my/group/5... And in the controller, define... function group($id='') { }... "traditional approach", CI calls it "query-string approach" URL. Example:.. example.com/my/group?id=5
15-10-2021 15:56:52MariaDBMariaDB is a community-developed, commercially supported fork of the MySQL relational database management system (RDBMS), intended to remain free and open-source software under the GNU General Public License. Development is led by some of the original developers of MySQL, who forked it due to concerns over its acquisition by Oracle Corporation in 2009.....................MariaDB is named after Widenius' younger daughter, Maria. (MySQL is named after his other daughter, My.)
15-10-2021 15:54:37xamppThe full form of XAMPP is X stands for Cross-platform, (A) Apache server, (M) MariaDB, (P) PHP, and (P) Perl. The Cross-platform usually means that it can run on any computer with any operating system.
15-10-2021 15:42:22uri vs urlA URI is an identifier of a specific resource. Like a page, or book, or a document.--------------- A URL is special type of identifier that also tells you how to access it, such as HTTPs, FTP, etc.—like https://www.google.com.-------------- If the protocol (https, ftp, etc.) is either present or implied for a domain, you should call it a URL—even though it’s also a URI.
02-10-2021 11:18:56sakilaThe Sakila sample database is available from https://dev.mysql.com/doc/index-other.html. A downloadable archive is available in compressed tar file or Zip format. The archive contains three files: sakila-schema.sql, sakila-data.sql, and sakila.mwb.
21-09-2021 01:02:40V8 engineV8 is Google's open source high-performance JavaScript and WebAssembly engine, written in C++. It is used in Chrome and in Node.js, among others. It implements ECMAScript and WebAssembly, and runs on Windows 7 or later, macOS 10.12+, and Linux systems that use x64, IA-32, ARM, or MIPS processors. V8 can run standalone, or can be embedded into any C++ application.
15-09-2021 23:28:17SOLID principlesIn software engineering, SOLID is a mnemonic acronym for five design principles intended to make software designs more understandable, flexible, and maintainable. The principles are a subset of many principles promoted by American software engineer and instructor Robert C. Martin, first introduced in his 2000 paper Design Principles and Design Patterns. The SOLID concepts are 1. The Single-responsibility principle: "There should never be more than one reason for a class to change." In other words, every class should have only one responsibility. 2. The Open-closed principle: "Software entities ... should be open for extension, but closed for modification." 3. The Liskov substitution principle: "Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it." 4. The Interface segregation principle: "Many client-specific interfaces are better than one general-purpose interface." 5. The Dependency inversion principle: "Depend upon abstractions, [not] concretions." The SOLID acronym was introduced later, around 2004, by Michael Feathers. Although the SOLID principles apply to any object-oriented design, they can also form a core philosophy for methodologies such as agile development or adaptive software development.
05-09-2021 08:22:32seleniumSelenium is a free (open-source) automated testing framework used to validate web applications across different browsers and platforms.
05-09-2021 08:22:32seleniumSelenium is a free (open-source) automated testing framework used to validate web applications across different browsers and platforms.
28-08-2021 12:51:58sql vs nosql1. SQL databases are relational, NoSQL databases are non-relational. 2. SQL databases use structured query language and have a predefined schema. NoSQL databases have dynamic schemas for unstructured data. 3. SQL databases are vertically scalable, while NoSQL databases are horizontally scalable. 4. SQL databases are table-based, while NoSQL databases are document, key-value, graph, or wide-column stores. 5. SQL databases are better for multi-row transactions, while NoSQL is better for unstructured data like documents or JSON.
16-08-2021 18:38:54vanillahaving no special or extra features; ordinary or standard. - choosing plain vanilla technology wherever you can will save you money"
14-08-2021 11:22:19Open Authorization [OAuth]OAuth, which stands for Open Authorization, allows third-party services to exchange your information without you having to give away your password.
14-08-2021 03:29:13Eureka ServerEureka Server is an application that holds the information about all client-service applications. Every Micro service will register into the Eureka server and Eureka server knows all the client applications running on each port and IP address. Eureka Server is also known as Discovery Server.
13-08-2021 19:13:04spring boot controllerwhen using @controller function is returning message with @RequestMapping() and with @ResponseBody... without @ResponseBody it is not working... but with @RestController only @RequestMapping is required and not @ReponseBody
11-08-2021 20:20:12Spring Boot Controller@RestController public class MainController { @RequestMapping(method=RequestMethod.GET, value={"","home"}) public ModelAndView display_homepage() { ModelAndView mav = new ModelAndView("home"); return mav; } }
09-08-2021 23:55:36@SpringBootApplicationA single @SpringBootApplication annotation is used to enable the following annotations... @EnableAutoConfiguration: It enables the Spring Boot auto-configuration mechanism.... @ComponentScan: It scans the package where the application is located.... @Configuration: It allows us to register extra beans in the context or import additional configuration classes.
09-08-2021 15:20:54appication.propertieschange port: server.port=8081
09-08-2021 15:20:02application.propertieschange port... serverport=8081
24-07-2021 16:29:50.war vs .jarA war file is a special jar file that is used to package a web application to make it easy to deploy it on an application server. The content of the war file must follow a defined structure.
24-07-2021 16:28:00.war vs .jarA .war file is a Web Application Archive which runs inside an application server while a .jar is Java Application Archive that runs a desktop application on a user's machine.
24-07-2021 15:21:40TestTestnTest
24-07-2021 15:21:08Required Spring Framework jar FilesBecause you no longer can use the "spring.jar" file, you must specify the individual module jars for your application. For a typical web application you need the following module jars: org.springframework.web.servlet org.springframework.web org.springframework.asm org.springframework.beans org.springframework.core org.springframework.context org.springframework.expression Since most web applications use logging and basic AOP features, you need the following required third-party offerings: commons-logging-1.1.1 aopalliance-1.0 (only if you use org.springframework.aop) The aopalliance-1.0 jar file was included in "spring.jar" but when you use the individual modules it needs to be included explicitly. If you need database access using your preferred ORM tool, you also need these module jars: org.springframework.orm org.springframework.jdbc org.springframework.tx org.springframework.aop You also need any dependencies used by your ORM tool of choice and by your JDBC driver. Adjust any servlet/web dependencies to the versions needed for your servlet container: servlet-api-2.4 jsp-api-2.1 jstl-1.2
21-07-2021 01:12:25tomcatApache Tomcat is a free and open-source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and WebSocket technologies. Tomcat provides a "pure Java" HTTP web server environment in which Java code can run.
2021-07-18 21:11:23RESTRepresentational state transfer (REST) is a software architectural style that was created to guide the design and development of the architecture for the World Wide Web. REST defines a set of constraints for how the architecture of an Internet-scale distributed hypermedia system, such as the Web, should behave. The REST architectural style emphasizes the scalability of interactions between components, uniform interfaces, independent deployment of components, and the creation of a layered architecture to facilitate caching components to reduce user-perceived latency, enforce security, and encapsulate legacy systems. REST has been employed throughout the software industry and is a widely accepted set of guidelines for creating stateless, reliable web services.
21-01-2017 14:47:34HerokuHeroku is a cloud Platform-as-a-Service (PaaS) supporting several programming languages that is used as a web application deployment model. Heroku, one of the first cloud platforms, has been in development since June 2007, when it supported only the Ruby programming language, but now supports Java, Node.js, Scala, Clojure, Python, PHP, and Go. For this reason, Heroku is said to be a polyglot platform as it lets the developer build, run and scale applications in a similar manner across all the languages. Heroku was acquired by Salesforce.com in 2010.
13-01-2017 17:19:14Comet (programming)Comet is a World Wide Web application architecture in which a web server sends data to a client program (normally a web browser) asynchronously without any need for the client to explicitly request it. It allows creation of event-driven web applications, enabling real-time interaction which would otherwise require much more work. Though the term Comet was coined in 2006, the idea is several years older, and has been called various names, including server push, HTTP push, HTTP streaming, Pushlets, Reverse Ajax, and others. Comet applications use long-lived HTTP connections between the client and server, which the server can respond to lazily, pushing new data to the client as it becomes available. This differs from the original model of the web, in which a browser receives a complete web page in response to each request, and also from the Ajax model, in which browsers request chunks of data, used to update the current page. The effect is similar to applications using traditional Ajax with polling to detect new information on the server, but throughput is improved and latency and server load are decreased. Comet does not refer to any specific technique for achieving this user-interaction model, but encompasses all of them; though it implies the use of browser-native technologies such as JavaScript as opposed to proprietary plugins. Several such techniques exist, with various trade-offs in terms of browser support and side effects, latency, and throughput.
13-01-2017 17:12:09Comet (programming)Comet is a web application model in which a long-held HTTP request allows a web server to push data to a browser, without the browser explicitly requesting it. Comet is an umbrella term, encompassing multiple techniques for achieving this interaction. All these methods rely on features included by default in browsers, such as JavaScript, rather than on non-default plugins. The Comet approach differs from the original model of the web, in which a browser requests a complete web page at a time. The use of Comet techniques in web development predates the use of the word Comet as a neologism for the collective techniques. Comet is known by several other names, including Ajax Push, Reverse Ajax, Two-way-web, HTTP Streaming, and HTTP server push among others. The term Comet is not an acronym, but was coined by Alex Russell in his 2006 blog post Comet: Low Latency Data for the Browser.
17-12-2016 13:27:54ICEInteractive Connectivity Establishment (ICE) is a technique used in computer networking to find ways for two computers to talk to each other as directly as possible in peer-to-peer networking. This is most commonly used for interactive media such as Voice over Internet Protocol (VoIP), peer-to-peer communications, video, and instant messaging. In such applications, you want to avoid communicating through a central server (which would slow down communication, and be expensive), but direct communication between client applications on the Internet is very tricky due to network address translators (NATs), firewalls, and other network barriers. ICE is developed by the Internet Engineering Task Force MMUSIC working group and is published as RFC 5245, which has obsoleted RFC 4091.
17-12-2016 13:25:58TURNTraversal Using Relays around NAT (TURN) is a protocol that assists in traversal of network address translators (NAT) or firewalls for multimedia applications. It may be used with the Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). It is most useful for clients on networks masqueraded by symmetric NAT devices. TURN does not aid in running servers on well known ports in the private network through a NAT; it supports the connection of a user behind a NAT to only a single peer, as in telephony, for example. TURN is specified by RFC 5766. An update to TURN for IPv6 is specified in RFC 6156. The TURN URI scheme is documented in RFC 7065.
17-12-2016 13:23:38STUNSession Traversal Utilities for NAT (STUN) is a standardized set of methods, including a network protocol, for traversal of network address translator (NAT) gateways in applications of real-time voice, video, messaging, and other interactive communications. STUN is a tool used by other protocols, such as Interactive Connectivity Establishment (ICE), the Session Initiation Protocol (SIP), or WebRTC. It provides a tool for hosts to discover the presence of a network address translator, and to discover the mapped, usually public, Internet Protocol (IP) address and port number that the NAT has allocated for the application's User Datagram Protocol (UDP) connections to remote hosts. The protocol requires assistance from a third-party network server (STUN server) located on the opposing (public) side of the NAT, usually the public Internet. Originally, STUN was an acronym for Simple Traversal of User Datagram Protocol (UDP) through Network Address Translators, but this title was changed in a specification of an updated set of methods published as RFC 5389, retaining the same acronym.
15-12-2016 16:10:14What is a STUN Server?A STUN (Session Traversal of User Datagram Protocol [UDP] Through Network Address Translators [NATs]) server allows NAT clients (i.e. IP Phones behind a firewall) to setup phone calls to a VoIP provider hosted outside of the local network. The STUN server allows clients to find out their public address, the type of NAT they are behind and the Internet side port associated by the NAT with a particular local port. This information is used to set up UDP communication between the client and the VoIP provider to establish a call. The STUN protocol is defined in RFC 3489. The STUN server is contacted on UDP port 3478, however the server will hint clients to perform tests on alternate IP and port number too (STUN servers have two IP addresses). The RFC states that this port and IP are arbitrary. Stun functionality is seamlessly handled by 3CX - an easy to install software based PBX.
27-10-2016 21:42:21universally unique identifier (UUID)A universally unique identifier (UUID) is an identifier standard used in software construction. A UUID is simply a 128-bit value. The meaning of each bit is defined by any of several variants. For human-readable display, many systems use a canonical format using hexadecimal text with inserted hyphen characters. For example: 123e4567-e89b-12d3-a456-426655440000 The intent of UUIDs is to enable distributed systems to uniquely identify information without significant central coordination. In this context the word unique should be taken to mean "practically unique" rather than "guaranteed unique". Since the identifiers have a finite size, it is possible for two differing items to share the same identifier. This is a form of hash collision. The identifier size and generation process need to be selected so as to make this sufficiently improbable in practice. Anyone can create a UUID and use it to identify something with reasonable confidence that the same identifier will never be unintentionally created by anyone to identify something else. Information labeled with UUIDs can therefore be later combined into a single database without needing to resolve identifier (ID) conflicts. Adoption of UUIDs is widespread with many computing platforms providing support for generating UUIDs and for parsing-generating their textual representation.
27-10-2016 14:02:00Repeating Periodic Tasks in AndroidRepeating periodic tasks within an application is a common requirement. This functionality can be used for polling new data from the network, running manual animations, or simply updating the UI. There are at least four ways to run periodic tasks: Handler - Execute a Runnable task on the UIThread after an optional delay ScheduledThreadPoolExecutor - Execute periodic tasks with a background thread pool AlarmManager - Execute any periodic task in the background as a service TimerTask - Doesn't run in UIThread and is not reliable. Consensus is to never use TimerTask
21-10-2016 21:10:28PyBluezPyBluez is a Python extension module written in C that provides access to system Bluetooth resources in an object oriented, modular manner. It is written for the Windows XP (Microsoft Bluetooth stack) and GNU-Linux (BlueZ stack).
09-10-2016 19:46:36PolyfillIn web development, a polyfill is code that implements a feature on web browsers that do not support the feature. Most often, it refers to a JavaScript library that implements an HTML5 web standard, either an established standard (supported by some browsers) on older browsers, or a proposed standard (not supported by any browsers) on existing browsers. Formally, a polyfill is a shim for a browser API. Polyfills allow web developers to use an API regardless of whether it is supported by a browser or not, and usually with minimal overhead. Typically they first check if a browser supports an API, and use it if available, otherwise using their own implementation. Polyfills themselves use other, more supported features, and thus different polyfills may be needed for different browsers. The term is also used as a verb: polyfilling is providing a polyfill for a feature.
28-09-2016 15:30:24The matrix3d() FunctionThe matrix3d() function can perform all of the 3D transformations such as translate, rotate, and scale at once. It takes 16 parameters in the form of a 4x4 transformation matrix. Here is an example of performing the 3D transformation using the matrix3d() function. Example .container{ width: 125px; height: 125px; perspective: 300px; border: 4px solid #d14e46; background: #fddddb; } .transformed { -webkit-transform: matrix3d(0.359127, -0.469472, 0.806613, 0, 0.190951, 0.882948, 0.428884, 0, -0.913545, 0, 0.406737, 0, 0, 0, 0, 1); transform: matrix3d(0.359127, -0.469472, 0.806613, 0, 0.190951, 0.882948, 0.428884, 0, -0.913545, 0, 0.406737, 0, 0, 0, 0, 1); } However, when performing more than one transformation at once, it is more convenient to use the individual transformation function and list them in order, like this: Example .container{ width: 125px; height: 125px; perspective: 300px; border: 4px solid #a2b058; background: #f0f5d8; } .transformed { -webkit-transform: translate3d(0, 0, 60px) rotate3d(0, 1, 0, -60deg) scale3d(1, 1, 2); transform: translate3d(0, 0, 60px) rotate3d(0, 1, 0, -60deg) scale3d(1, 1, 2); } 3D Transform Functions The following table provides a brief overview of all the 3D transformation functions. Function Description translate3d(tx,ty,tz) Moves the element by the given amount along the X, Y & Z-axis. translateX(tx) Moves the element by the given amount along the X-axis. translateY(ty) Moves the element by the given amount along the Y-axis. translateZ(tz) Moves the element by the given amount along the Z-axis. rotate3d(x,y,z, a) Rotates the element in 3D space by the angle specified in the last parameter, around the [x,y,z] direction vector. rotateX(a) Rotates the element by the given angle around the X-axis. rotateY(a) Rotates the element by the given angle around the Y-axis. rotateZ(a) Rotates the element by the given angle around the Z-axis. scale3d(sx,sy,sz) Scales the element by the given amount along the X, Y and Z-axis. The function scale3d(1,1,1) has no effect. scaleX(sx) Scales the element along the X-axis. scaleY(sy) Scales the element along the Y-axis. scaleZ(sz) Scales the element along the Z-axis. matrix(n,n,n,n,n,n, n,n,n,n,n,n,n,n,n,n) Specifies a 3D transformation in the form of a 4x4 transformation matrix of 16 values. perspective(length) Defines a perspective view for a 3D transformed element. In general, as the value of this function increases, the element will appear further away from the viewer.
28-09-2016 13:14:26Aircraft principal axesAircraft principal axes ( Euler angles ) Rollpitchyawplain rotation axes : Move: longitudinal axis (roll / roll axis) : Roles , waver transverse axis (pitch axis) : Pitching, pitching vertical axis (yaw axis) : Yaw (rolling) Aircraft principal axes , English roll-pitch-yaw angle , are a way to describe the orientation of a vehicle in three-dimensional space , the first only when aircraft was in use, but in the meantime also the location description of land, sea and space vehicles use place. There are the technical terms for specific Euler angles (angle position) .
27-09-2016 03:11:47AngularJSAngularJS is a JavaScript framework. It can be added to an HTML page with a script tag. AngularJS extends HTML attributes with Directives, and binds data to HTML with Expressions. AngularJS is a JavaScript Framework AngularJS is a JavaScript framework. It is a library written in JavaScript. AngularJS is distributed as a JavaScript file, and can be added to a web page with a script tag: < script src=https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js > < / script > AngularJS Extends HTML AngularJS extends HTML with ng-directives. The ng-app directive defines an AngularJS application. The ng-model directive binds the value of HTML controls (input, select, textarea) to application data. The ng-bind directive binds application data to the HTML view.
12-09-2016 04:40:21SVG Animating with JavaScriptWith JavaScript, you have access to things like requestAnimationFrame (or other loops), so you can animate just by way of rapidly changing property values. There are also frameworks out there for working with SVG that typically have animation stuff built in. Or animation frameworks that work with SVG. Like SnapSVG, GreenSock, SVG.js, or Velocity.js
11-09-2016 11:31:30use strict"use strict"; Defines that JavaScript code should be executed in "strict mode". It is new in JavaScript 1.8.5 (ECMAScript version 5). It is not a statement, but a literal expression, ignored by earlier versions of JavaScript. It's purpose is to indicate that the code should be executed in "strict mode". With strict mode, you can not, for example, use undeclared variables. Strict mode is supported in: IE from version 10. Firefox from version 4. Chrome from version 13. Safari from version 5.1. Opera from version 12. Strict mode is declared by adding "use strict"; to the beginning of a script or a function. Declared at the beginning of a script, it has global scope (all code in the script will execute in strict mode): Example "use strict"; x = 3.14; // This will cause an error (x is not defined)
11-09-2016 11:17:12D3.jsD3.js (or just D3 for Data-Driven Documents) is a JavaScript library for producing dynamic, interactive data visualizations in web browsers. It makes use of the widely implemented SVG, HTML5, and CSS standards. It is the successor to the earlier Protovis framework. In contrast to many other libraries, D3.js allows great control over the final visual result. Its development was noted in 2011, as version 2.0.0 was released in August 2011.
07-09-2016 14:38:10Caja projectCaja is a Google project and a JavaScript implementation for virtual iframes based on the principles of object-capabilities. Caja takes JavaScript (technically, ECMAScript 5 strict mode code), HTML, and CSS input and rewrites it into a safe subset of HTML and CSS, plus a single JavaScript function with no free variables. That means the only way such a function can modify an object is if it is given a reference to the object by the host page. Instead of giving direct references to DOM objects, the host page typically gives references to wrappers that sanitize HTML, proxy URLs, and prevent redirecting the page; this allows Caja to prevent certain phishing attacks, prevent cross-site scripting attacks, and prevent downloading malware. Also, since all rewritten programs run in the same frame, the host page can allow one program to export an object reference to another program; then inter-frame communication is simply method invocation. The word caja is Spanish for box or safe (as in a bank), the idea being that Caja can safely contain JavaScript programs as well as being a capabilities-based JavaScript. Caja is currently used by Google in its Orkut, Google Sites, and Google Apps Script products; in 2008 MySpace and Yahoo! had both deployed a very early version of Caja but later abandoned it.
29-06-2016 12:33:29GradleGradle is an open source build automation system that builds upon the concepts of Apache Ant and Apache Maven and introduces a Groovy-based domain-specific language (DSL) instead of the XML form used by Apache Maven of declaring the project configuration. Gradle uses a directed acyclic graph (DAG) to determine the order in which tasks can be run. Gradle was designed for multi-project builds which can grow to be quite large, and supports incremental builds by intelligently determining which parts of the build tree are up-to-date, so that any task dependent upon those parts will not need to be re-executed. The initial plugins are primarily focused around Java, Groovy and Scala development and deployment, but more languages and project workflows are on the roadmap.
07-06-2016 17:56:50JavaScript AnimationTo animate content, these JavaScript functions are available: setInterval - setTimeout and requestAnimationFrame. The latter is the preferred method for animating content. It informs the browsers that you wish to perform an animation, allowing the browser to optimize for animations. The requestAnimationFrame function is not yet standardized and is only available in a few modern browsers. The FishIE Tank and JSGamebench benchmarks use setInterval for their animation loops. setTimeout(fn, delay) - Calls the function with a delay one time. setInterval(fn, delay) - Continually calls the function with a delay every time until it is canceled. requestAnimationFrame(callback) - Tells the browser that you wish to perform an animation; this requests that the browser schedule a repaint of the window for the next animation frame. Allows the browser to control the frame rate.
24-05-2016 00:51:09PrintWriter(Writer) JavaThe PrintWriter(Writer) constructor creates a writer which is not automatically flushed. If you do not want to call flush and close, you will have to create your PrintWriter as PrintWriter pw = new PrintWriter(fw,true); The true passed to the constructor will cause the output to be flushed to the file after each call to println method... Calling pw.println("abcd") just gives the "abcd" data to the PrintWriter. It does not automatically write the data to the file (it buffers it). Calling flush() tells PrintWriter to write the buffered data to the file (actually it tells FileWriter to write the data to the file). Calling close() tells PrintWriter to clean up its resources. Close() also does a flush, so you do not necessarily need to call flush(). You should always call close(). And you should call close() in a finalize block to ensure you always call it (even if an exception is thrown). BTW, you can also use a different PrintWriter constructor that will tell PrintWriter to flush every time you call pw.println(). But always call close().
12-05-2016 13:47:19AIMLAIML, or Artificial Intelligence Markup Language, is an XML dialect for creating natural language software agents. The XML dialect called AIML was developed by Richard Wallace and a worldwide free software community between 1995 and 2002. AIML formed the basis for what was initially a highly extended Eliza called A.L.I.C.E. (Artificial Linguistic Internet Computer Entity), which won the annual Loebner Prize Competition in Artificial Intelligence three times, and was also the Chatterbox Challenge Champion in 2004. Because the A.L.I.C.E. AIML set was released under the GNU GPL, and because most AIML interpreters are offered under a free or open source license, many Alicebot clones have been created based upon the original implementation of the program and its AIML knowledge base. Free AIML sets in several languages have been developed and made available by the user community. There are AIML interpreters available in Java, Ruby, Python, C++, C#, Pascal, and other languages. A semi-formal specification and a W3C XML Schema for AIML are available. Since early 2013, The A.L.I.C.E foundation have been working on a draft specification for AIML 2.0.
08-05-2016 13:42:09Amicable numbersAmicable numbers are two different numbers so related that the sum of the proper divisors of each is equal to the other number. (A proper divisor of a number is a positive factor of that number other than the number itself. For example, the proper divisors of 6 are 1, 2, and 3.) A pair of amicable numbers constitutes an aliquot sequence of period 2. A related concept is that of a perfect number, which is a number that equals the sum of its own proper divisors, in other words a number which forms an aliquot sequence of period 1. Numbers that are members of an aliquot sequence with period greater than 2 are known as sociable numbers. The smallest pair of amicable numbers is (220, 284). They are amicable because the proper divisors of 220 are 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 and 110, of which the sum is 284; and the proper divisors of 284 are 1, 2, 4, 71 and 142, of which the sum is 220. The first ten amicable pairs are: (220, 284), (1184, 1210), (2620, 2924), (5020, 5564), (6232, 6368), (10744, 10856), (12285, 14595), (17296, 18416), (63020, 76084), and (66928, 66992).
08-05-2016 12:46:45Dynamic ProgrammingDynamic Programming is a powerful technique that allows one to solve many different types of problems in time O(n2) or O(n3) for which a naive approach would take exponential time.
08-05-2016 10:16:03Brute forceBrute force (also known as brute force cracking) is a trial and error method used by application programs to decode encrypted data such as passwords or Data Encryption Standard (DES) keys, through exhaustive effort (using brute force) rather than employing intellectual strategies.
08-05-2016 10:11:34CombinatoricsCombinatorics is a branch of mathematics concerning the study of finite or countable discrete structures. Aspects of combinatorics include counting the structures of a given kind and size (enumerative combinatorics), deciding when certain criteria can be met, and constructing and analyzing objects meeting the criteria (as in combinatorial designs and matroid theory), finding largest, smallest, or optimal objects (extremal combinatorics and combinatorial optimization), and studying combinatorial structures arising in an algebraic context, or applying algebraic techniques to combinatorial problems (algebraic combinatorics). Combinatorial problems arise in many areas of pure mathematics, notably in algebra, probability theory, topology, and geometry, and combinatorics also has many applications in mathematical optimization, computer science, ergodic theory and statistical physics. Many combinatorial questions have historically been considered in isolation, giving an ad hoc solution to a problem arising in some mathematical context. In the later twentieth century, however, powerful and general theoretical methods were developed, making combinatorics into an independent branch of mathematics in its own right. One of the oldest and most accessible parts of combinatorics is graph theory, which also has numerous natural connections to other areas. Combinatorics is used frequently in computer science to obtain formulas and estimates in the analysis of algorithms. A mathematician who studies combinatorics is called a combinatorialist or a combinatorist.
08-05-2016 09:49:56Collatz conjectureThe Collatz conjecture is a conjecture in mathematics named after Lothar Collatz, who first proposed it in 1937. The conjecture is also known as the 3n + 1 conjecture, the Ulam conjecture (after Stanis&#322;aw Ulam), Kakutani_s problem (after Shizuo Kakutani), the Thwaites conjecture (after Sir Bryan Thwaites), Hasse_s algorithm (after Helmut Hasse), or the Syracuse problem; the sequence of numbers involved is referred to as the hailstone sequence or hailstone numbers (because the values are usually subject to multiple descents and ascents like hailstones in a cloud), or as wondrous numbers. The conjecture can be summarized as follows. Take any positive integer n. If n is even, divide it by 2 to get n / 2. If n is odd, multiply it by 3 and add 1 to obtain 3n + 1. Repeat the process (which has been called Half Or Triple Plus One, or HOTPO) indefinitely. The conjecture is that no matter what number you start with, you will always eventually reach 1. Paul Erdos said about the Collatz conjecture: Mathematics may not be ready for such problems. He also offered $500 for its solution.
01-05-2016 17:16:52NumPyNumPy (pronounced Numb Pie or sometimes Numb pee) is an extension to the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large library of high-level mathematical functions to operate on these arrays. The ancestor of NumPy, Numeric, was originally created by Jim Hugunin with contributions from several other developers. In 2005, Travis Oliphant created NumPy by incorporating features of the competing Numarray into Numeric, with extensive modifications. NumPy is open source and has many contributors.
30-04-2016 05:35:43effbot.orgPersonal guide to libraries, modules and extensions. Includes a weblog with Python news and personal ramblings.
30-04-2016 05:21:42Generating primesIn computational number theory, a variety of algorithms make it possible to generate prime numbers efficiently. These are used in various applications, for example hashing, public-key cryptography, and search of prime factors in large numbers. For relatively small numbers, it is possible to just apply trial division to each successive odd number. Prime sieves are almost always faster. Prime sieves A prime sieve or prime number sieve is a fast type of algorithm for finding primes. There are many prime sieves. The simple sieve of Eratosthenes (250s BCE), the sieve of Sundaram (1934), the still faster but more complicated sieve of Atkin (2004), and various wheel sieves are most common. A prime sieve works by creating a list of all integers up to a desired limit and progressively removing composite numbers (which it directly generates) until only primes are left. This is the most efficient way to obtain a large range of primes; however, to find individual primes, direct primality tests are more efficient. Furthermore, based on the sieve formalisms, some integer sequences (sequence A240673 in OEIS) are constructed which they also could be used for generating primes in certain intervals.
19-04-2016 18:40:37SL4A has three main components.1. Script Interpreters SL4A acts a scripting host. It supports many scripting languages such as Python, Ruby, Lua, BeanShell, JavaScript and TCL . SL4A can be extended by incorporating new scripting languages dynamically by developing a new SL4A interpreter for that scripting language. Each script runs in its own interpreter instance. Hence, multiple scripts can run simultaneously without affecting each other. 2. Android RPC Client Scripts running within the interpreter instance communicates with the SL4A application through the Android Proxy RPC Client. The client establishes a Remote Procedure Call (RPC) connection to SL4A, and allows scripts to interact with the Android Framework. The SL4A facades facilitate this communication. Data is sent as JSON payloads. Android RPC clients are provided for every supported scripting language. The client modules can be obtained from the SL4A website at code.google.com. 3. Facades The facade simplifies the script s access to the underlying Android API. SL4A exposes the Android Framework API to scripts through an extensive set of facades like AndroidFacade, BluetoothFacade, ActivityManagerFacade, CommonIntentsFacade, etc. SL4A functionality offers a basket of rich functionalities like Camera, Location, Battery Manager, Media Player, Media Recorder and many more.
19-04-2016 18:35:45Why use SL4A instead of Java?Firstly, not everyone is a fan of Java. Scripting languages provide an easy programming environment as compared to Java. Secondly, the language requires the use of an edit/compile/run design loop. This means that you edit, re-compile and then run the application each time you desire some modification. On the contrary, scripts are interpreted and executed on the fly. Moreover, SL4A even makes it possible, in many cases, to reuse code written for a desktop environment.
19-04-2016 18:25:11SL4AThe Scripting Layer for Android (abridged as SL4A, and previously named Android Scripting Environment or ASE) is a library that allows the creation and running of scripts written in various scripting languages directly on Android devices. SL4A is designed for developers and (as of March 2016) is still alpha quality software. As of January 2016, other developers have forked the SL4A code to enable it to run on Android Lollipop and Android Marshmallow after development on the main code branch stopped, for example the kuri65536 branch of SL4A and droid-python. These scripts have access to many of the APIs available to normal Java Android applications, but with a simplified interface. Scripts can be run interactively in a terminal, or in the background using the Android services architecture. Currently supported languages are: Python using CPython Perl Ruby using JRuby Lua BeanShell JavaScript using Rhino Tcl Rexx using BRexx SL4A was first announced by Google in June 2009, and was originally named Android Scripting Environment (ASE). It was originally developed by Damon Kohler, and it has grown through the contributions of many developers.
19-04-2016 15:01:56Natural Language ToolkitNLTK is a leading platform for building Python programs to work with human language data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing libraries for classification, tokenization, stemming, tagging, parsing, and semantic reasoning, wrappers for industrial-strength NLP libraries, and an active discussion forum.
19-04-2016 11:29:04There are three different ways to use cx_Freeze:1. Use the included cxfreeze script. 2. Create a distutils setup script. This is useful if you need extra options when freezing your program, because you can save them in the script. Run cxfreeze-quickstart to generate a simple setup script. 3. Work directly with the classes and modules used internally by cx_Freeze. This should be reserved for complicated scripts or extending or embedding.
14-04-2016 15:34:10CronThe software utility Cron is a time-based job scheduler in Unix-like computer operating systems. People who set up and maintain software environments use cron to schedule jobs (commands or shell scripts) to run periodically at fixed times, dates, or intervals. It typically automates system maintenance or administration-though its general-purpose nature makes it useful for things like downloading files from the Internet and downloading email at regular intervals. The origin of the name cron is from the Greek word for time, (chronos). (Ken Thompson, author of cron, has confirmed this in a private communication with Brian Kernighan.) cron is most suitable for scheduling repetitive tasks. Scheduling one-time tasks is often more easily accomplished using the associated at utility.
14-04-2016 15:08:07NmapNmap (Network Mapper) is a security scanner originally written by Gordon Lyon (also known by his pseudonym Fyodor Vaskovich) used to discover hosts and services on a computer network, thus creating a map of the network. To accomplish its goal, Nmap sends specially crafted packets to the target host and then analyzes the responses. The software provides a number of features for probing computer networks, including host discovery and service and operating system detection. These features are extensible by scripts that provide more advanced service detection, vulnerability detection, and other features. Nmap is also capable of adapting to network conditions including latency and congestion during a scan. Nmap is under development and refinement by its user community. Nmap was originally a Linux-only utility, but it was ported to Windows, Solaris, HP-UX, BSD variants (including OS X), AmigaOS, and IRIX. Linux is the most popular platform, followed closely by Windows.
14-04-2016 13:26:41How to create .EXE file in python using cx_freezePut ALL the files to need to convert into C: python32 folder including the setup file. Then what you wan to do is get your command line up, and type the following commands: python setup.py build And then you should have a build folder in that directory containing the exe file.
13-04-2016 11:44:35alpha valueIt is a measure of how opaque (that is, not transparent) a color is. Normally when you draw a pixel onto a surface object, the new color completely replaces whatever color was already there. But with colors that have an alpha value, you can instead just add a colored tint to the color that is already there. For example, this tuple of three integers is for the color green: (0, 255, 0). But if we add a fourth integer for the alpha value, we can make this a half transparent green color: (0, 255, 0, 128). An alpha value of 255 is completely opaque (that is, not transparency at all). The colors (0, 255, 0) and (0, 255, 0, 255) look exactly the same. An alpha value of 0 means the color is completely transparent. If you draw any color that has an alpha value of 0 to a surface object, it will have no effect, because this color is completely transparent and invisible.
13-04-2016 11:40:41RGB values for a few common colorsColor RGB Values Aqua ( 0, 255, 255) Black ( 0, 0, 0) Blue ( 0, 0, 255) Fuchsia (255, 0, 255) Gray (128, 128, 128) Green ( 0, 128, 0) Lime ( 0, 255, 0) Maroon (128, 0, 0) Navy Blue ( 0, 0, 128) Olive (128, 128, 0) Purple (128, 0, 128) Red (255, 0, 0) Silver (192, 192, 192) Teal ( 0, 128, 128) White (255, 255, 255) Yellow (255, 255, 0)
11-04-2016 16:37:03PygamePygame is a cross-platform set of Python modules designed for writing video games. It includes computer graphics and sound libraries designed to be used with the Python programming language. It is built over the Simple DirectMedia Layer (SDL) library, with the intention of allowing real-time computer game development without the low-level mechanics of the C programming language and its derivatives. This is based on the assumption that the most expensive functions inside games (mainly the graphics part) can be abstracted from the game logic, making it possible to use a high-level programming language, such as Python, to structure the game. Pygame was built to replace PySDL after its development stalled. Pygame was originally written by Pete Shinners and is released under the open source free software GNU Lesser General Public License. It has been a community project since 2004 or 2005. There are many tutorials and there are regular competitions to write games using Python (and usually but not necessarily, Pygame).
11-04-2016 15:06:13Flask (web framework)Flask is a micro web framework written in Python and based on the Werkzeug toolkit and Jinja2 template engine. It is BSD licensed. As of Feb 2016, the latest stable version of Flask is 0.10.1. Examples of applications that make use of the Flask framework are Pinterest, LinkedIn, as well as the community web page for Flask itself. Flask is called a micro framework because it does not presume or force a developer to use a particular tool or library. It has no database abstraction layer, form validation, or any other components where pre-existing third-party libraries provide common functions. However, Flask supports extensions that can add application features as if they were implemented in Flask itself. Extensions exist for object-relational mappers, form validation, upload handling, various open authentication technologies and several common framework related tools. Extensions are updated far more regularly than the core Flask program.
06-04-2016 21:53:58memory leaksetInterval can cause a memory leak. By using setTimeout you ensure that the next function call won't get triggered until the previous function call has finished.
05-04-2016 20:06:24Is window.onload is different from document.ready()window.onload() is traditional Java script code which is used by developers from many years. This event is gets called when the page is loaded. But how this is different from jQuery document.ready() event? Well, the main difference is that document.ready() event gets called as soon as your DOM is loaded. It does not wait for the contents to get loaded fully. For example, there are very heavy images on any web page and takes time to load. If you have used window.onload then it will wait until all your images are loaded fully, hence it slows down the execution. On the other side, document.ready() does not wait for elements to get loaded.
05-04-2016 11:10:16The onreadystatechange eventWhen a request to a server is sent, we want to perform some actions based on the response. The onreadystatechange event is triggered every time the readyState changes. The readyState property holds the status of the XMLHttpRequest. Three important properties of the XMLHttpRequest object: => onreadystatechange - Stores a function (or the name of a function) to be called automatically each time the readyState property changes => readyState - Holds the status of the XMLHttpRequest. Changes from 0 to 4: 0: request not initialized 1: server connection established 2: request received 3: processing request 4: request finished and response is ready => status - 200: OK - 404: Page not found In the onreadystatechange event, we specify what will happen when the server response is ready to be processed. When readyState is 4 and status is 200, the response is ready
30-03-2016 01:32:35Why are there no ++ and --&amp;#8203; operators in Python?It's not because it doesn't make sense; it makes perfect sense to define "x++" as "x += 1, evaluating to the previous binding of x". If you want to know the original reason, you'll have to either wade through old Python mailing lists or ask somebody who was there (eg. Guido), but it's easy enough to justify after the fact: Simple increment and decrement aren't needed as much as in other languages. You don't write things like for(int i = 0; i < 10; ++i) in Python very often; instead you do things like for i in range(0, 10). Since it's not needed nearly as often, there's much less reason to give it its own special syntax; when you do need to increment, += is usually just fine. It's not a decision of whether it makes sense, or whether it can be done--it does, and it can. It's a question of whether the benefit is worth adding to the core syntax of the language. Remember, this is four operators--postinc, postdec, preinc, predec, and each of these would need to have its own class overloads; they all need to be specified, and tested; it would add opcodes to the language (implying a larger, and therefore slower, VM engine); every class that supports a logical increment would need to implement them (on top of += and -=). This is all redundant with += and -=, so it would become a net loss.
28-03-2016 02:14:45To see all of the things I can do with a variable type in python>>> variable = 3.4 >>> help(type(variable)) A list of everything we can do with strings will pop up. Pressing Enter will move us down one line, our up arrow will move us up one line, space-bar will move us down one page, and q will close the help menu.
27-03-2016 09:52:37Zen of PythonBeautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one - and preferably only one - obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than right now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea - let's do more of those!
26-03-2016 03:28:38Getting Started with Python Programming for Windows UsersInstallation of Python 1. Download the current production version of Python (2.7.1) from the Python Download site. 2. Double click on the icon of the file that you just downloaded. 3. Accept the default options given to you until you get to the Finish button. Your installation is complete. Setting up the Environment 1. Starting at My Computer go to the following directory C:Python27. In that folder you should see all the Python files. 2. Copy that address starting with C: and ending with 27 and close that window. 3. Click on Start. Right Click on My Computer. 4. Click on Properties. Click on Advanced System Settings or Advanced. 5. Click on Environment Variables. 6. Under System Variables search for the variable Path. 7. Select Path by clicking on it. Click on Edit. 8. Scroll all the way to the right of the field called Variable value using the right arrow. 9. Add a semi-colon (;) to the end and paste the path (to the Python folder) that you previously copied. Click OK. Writing Your First Python Program 1. Create a folder called PythonPrograms on your C: drive. You will be storing all your Python programs in this folder. 2. Go to Start and either type Run in the Start Search box at the bottom or click on Run. 3. Type in notepad in the field called Open. 4. In Notepad type in the following program exactly as written: # File: Hello.py print "Hello World!" 5. Go to File and click on Save as. 6. In the field Save in browse for the C: drive and then select the folder PythonPrograms. 7. For the field File name remove everything that is there and type in Hello.py. 8. In the field Save as type select All Files 9. Click on Save. You have just created your first Python program. Running Your First Program 1. Go to Start and click on Run. 2. Type cmd in the Open field and click OK. 3. A dark window will appear. Type cd C: and hit the key Enter. 4. If you type dir you will get a listing of all folders in your C: drive. You should see the folder PythonPrograms that you created. 4. Type cd PythonPrograms and hit Enter. It should take you to the PythonPrograms folder. 5. Type dir and you should see the file Hello.py. 6. To run the program, type python Hello.py and hit Enter. 7. You should see the line Hello World! Congratulations, you have run your first Python program.
25-03-2016 05:34:09What is a PEP?A PEP is a Python Enhancement Proposal. A PEP is a document that describes a way in which Python can be made better. Some do not affect the language at all (such as the style guide), whereas others may add or remove a feature from Python. Others describe processes, such as how to submit a PEP or hand an existing PEP to another developer.
25-03-2016 05:31:16How long can a long number be in python?In Python, the longest number that long can be is determined by how much memory our machine has. The more numbers it can keep in memory at one time, the longer a long number can be. This should not be an issue on most computers, though. We would need to have a number that is big enough to fill up your available memory and our hard drive, and this would be an enormous number even on the most under-powered machines.
25-03-2016 04:38:16python clear screen>>>import os >>>os.system('cls')
24-03-2016 21:30:23ISO 3166 Country CodesA1 - Anonymous Proxy A2 - Satellite Provider AD - Andorra AE - United Arab Emirates AF - Afghanistan AG - Antigua and Barbuda AI - Anguilla AL - Albania AM - Armenia AN - Netherlands Antilles AO - Angola AP - Asia/Pacific Region AQ - Antarctica AR - Argentina AS - American Samoa AT - Austria AU - Australia AW - Aruba AX - Aland Islands AZ - Azerbaijan BA - Bosnia and Herzegovina BB - Barbados BD - Bangladesh BE - Belgium BF - Burkina Faso BG - Bulgaria BH - Bahrain BI - Burundi BJ - Benin BM - Bermuda BN - Brunei Darussalam BO - Bolivia BR - Brazil BS - Bahamas BT - Bhutan BV - Bouvet Island BW - Botswana BY - Belarus BZ - Belize CA - Canada CC - Cocos (Keeling) Islands CD - Congo - The Democratic Republic of the CF - Central African Republic CG - Congo CH - Switzerland CI - Cote d'Ivoire CK - Cook Islands CL - Chile CM - Cameroon CN - China CO - Colombia CR - Costa Rica CU - Cuba CV - Cape Verde CX - Christmas Island CY - Cyprus CZ - Czech Republic DE - Germany DJ - Djibouti DK - Denmark DM - Dominica DO - Dominican Republic DZ - Algeria EC - Ecuador EE - Estonia EG - Egypt EH - Western Sahara ER - Eritrea ES - Spain ET - Ethiopia EU - Europe FI - Finland FJ - Fiji FK - Falkland Islands (Malvinas) FM - Micronesia - Federated States of FO - Faroe Islands FR - France GA - Gabon GB - United Kingdom GD - Grenada GE - Georgia GF - French Guiana GG - Guernsey GH - Ghana GI - Gibraltar GL - Greenland GM - Gambia GN - Guinea GP - Guadeloupe GQ - Equatorial Guinea GR - Greece GS - South Georgia and the South Sandwich Islands GT - Guatemala GU - Guam GW - Guinea-Bissau GY - Guyana HK - Hong Kong HM - Heard Island and McDonald Islands HN - Honduras HR - Croatia HT - Haiti HU - Hungary ID - Indonesia IE - Ireland IL - Israel IM - Isle of Man IN - India IO - British Indian Ocean Territory IQ - Iraq IR - Iran - Islamic Republic of IS - Iceland IT - Italy JE - Jersey JM - Jamaica JO - Jordan JP - Japan KE - Kenya KG - Kyrgyzstan KH - Cambodia KI - Kiribati KM - Comoros KN - Saint Kitts and Nevis KP - Korea - Democratic People's Republic of KR - Korea - Republic of KW - Kuwait KY - Cayman Islands KZ - Kazakhstan LA - Lao People's Democratic Republic LB - Lebanon LC - Saint Lucia LI - Liechtenstein LK - Sri Lanka LR - Liberia LS - Lesotho LT - Lithuania LU - Luxembourg LV - Latvia LY - Libyan Arab Jamahiriya MA - Morocco MC - Monaco MD - Moldova - Republic of ME - Montenegro MG - Madagascar MH - Marshall Islands MK - Macedonia ML - Mali MM - Myanmar MN - Mongolia MO - Macao MP - Northern Mariana Islands MQ - Martinique MR - Mauritania MS - Montserrat MT - Malta MU - Mauritius MV - Maldives MW - Malawi MX - Mexico MY - Malaysia MZ - Mozambique NA - Namibia NC - New Caledonia NE - Niger NF - Norfolk Island NG - Nigeria NI - Nicaragua NL - Netherlands NO - Norway NP - Nepal NR - Nauru NU - Niue NZ - New Zealand OM - Oman PA - Panama PE - Peru PF - French Polynesia PG - Papua New Guinea PH - Philippines PK - Pakistan PL - Poland PM - Saint Pierre and Miquelon PN - Pitcairn PR - Puerto Rico PS - Palestinian Territory PT - Portugal PW - Palau PY - Paraguay QA - Qatar RE - Reunion RO - Romania RS - Serbia RU - Russian Federation RW - Rwanda SA - Saudi Arabia SB - Solomon Islands SC - Seychelles SD - Sudan SE - Sweden SG - Singapore SH - Saint Helena SI - Slovenia SJ - Svalbard and Jan Mayen SK - Slovakia SL - Sierra Leone SM - San Marino SN - Senegal SO - Somalia SR - Suriname ST - Sao Tome and Principe SV - El Salvador SY - Syrian Arab Republic SZ - Swaziland TC - Turks and Caicos Islands TD - Chad TF - French Southern Territories TG - Togo TH - Thailand TJ - Tajikistan TK - Tokelau TL - Timor-Leste TM - Turkmenistan TN - Tunisia TO - Tonga TR - Turkey TT - Trinidad and Tobago TV - Tuvalu TW - Taiwan TZ - Tanzania - United Republic of UA - Ukraine UG - Uganda UM - United States Minor Outlying Islands US - United States UY - Uruguay UZ - Uzbekistan VA - Holy See (Vatican City State) VC - Saint Vincent and the Grenadines VE - Venezuela VG - Virgin Islands - British VI - Virgin Islands - U.S. VN - Vietnam VU - Vanuatu WF - Wallis and Futuna WS - Samoa YE - Yemen YT - Mayotte ZA - South Africa ZM - Zambia ZW - Zimbabwe
23-03-2016 01:55:33systeminfoMicrosoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:UsersAshish Ranjan>systeminfo Host Name: ASHISHRANJAN-PC OS Name: Microsoft Windows 7 Ultimate OS Version: 6.1.7601 Service Pack 1 Build 7601 OS Manufacturer: Microsoft Corporation OS Configuration: Standalone Workstation OS Build Type: Multiprocessor Free Registered Owner: Ashish Ranjan Registered Organization: Product ID: 00426-OEM-8992662-_____ Original Install Date: 12/28/2015, 2:40:29 PM System Boot Time: 3/23/2016, 12:34:37 AM System Manufacturer: TOSHIBA System Model: Satellite C640 System Type: X86-based PC Processor(s): 1 Processor(s) Installed. [01]: x64 Family 6 Model 37 Stepping 5 GenuineIntel ~ 1319 Mhz BIOS Version: INSYDE 2.00, 6/28/2011 Windows Directory: C:Windows System Directory: C:Windowssystem32 Boot Device: DeviceHarddiskVolume2 System Locale: en-us;English (United States) Input Locale: en-us;English (United States) Time Zone: (UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi Total Physical Memory: 1,910 MB Available Physical Memory: 850 MB Virtual Memory: Max Size: 3,820 MB Virtual Memory: Available: 2,132 MB Virtual Memory: In Use: 1,688 MB Page File Location(s): C:pagefile.sys Domain: WORKGROUP Logon Server: \ASHISHRANJAN-PC Hotfix(s): 3 Hotfix(s) Installed. [01]: KB971033 [02]: KB2999226 [03]: KB976902 Network Card(s): 3 NIC(s) Installed. [01]: Atheros AR9285 Wireless Network Adapter Connection Name: Wireless Network Connection DHCP Enabled: Yes DHCP Server: 192.168.1.1 IP address(es) [01]: 192.168.___.___ [02]: fe80::5987:4c7:____:____ [02]: Atheros AR8152 PCI-E Fast Ethernet Controller Connection Name: Local Area Connection Status: Media disconnected [03]: Bluetooth Device (Personal Area Network) Connection Name: Bluetooth Network Connection Status: Media disconnected
18-03-2016 19:26:35reliable way to make a script load after pageloadA pretty reliable way to make a script load after pageload is to write out the script include itself in javascript. var theScript = document.createElement(script); theScript.setAttribute(type,text/javascript); theScript.setAttribute(src,//www.mysite.com/script.js); document.getElementsByTagName(head)[0].appendChild(theScript);
17-03-2016 17:26:52Three Ways to Animate SVG1. Animating with CSS @keyframes SVG elements can be targeted and styled with CSS. Meaning, you can apply animation through @keyframes. Like this: <svg viewBox=0 0 127.9 178.4> <path id=left-leg d=M37.6,138.8c0 ... /> </svg> .left-leg { fill: orange; animation: dance 2s infinite alternate; } @keyframes dance { 100% { transform: rotate(3deg); } } 2. Animating with SMIL There is a syntax for animations built right into SVG. Here_s a very simple example: <svg viewBox=0 0 127.9 178.4> <path d=M37.6,138.8c0 ... > <animate attributeName=fill dur=5000ms to=#f06d06 fill=freeze /> </path> </svg> 3. Animating with JavaScript With JavaScript, you have access to things like requestAnimationFrame (or other loops), so you can animate just by way of rapidly changing property values. There are also frameworks out there for working with SVG that typically have animation stuff built in. Or animation frameworks that work with SVG. Like SnapSVG, GreenSock, SVG.js, or Velocity.js. Here_s an example with SnapSVG: <svg id=robot viewBox=0 0 127.9 178.4> <circle id=left-pupil cx=34.4 cy=15.4 r=4.8 /> </svg> var s = Snap(#robot); var leftPupil = s.select(#left-pupil); leftPupil.animate({ r: 50, fill: lightgreen }, 1000);
12-03-2016 00:15:15pageX, pageY, screenX, screenY, clientX and clientYpageX, pageY, screenX, screenY, clientX and clientY returns a number which indicates the number of physical css pixels a point is from the reference point. The event point is where the user clicked, the reference point is a point in the upper left. These properties return the horizontal and vertical distance from that reference point. pageX and pageY: Relative to the top left of the fully rendered content area in the browser. This reference point is below the url bar and back button in the upper left. This point could be anywhere in the browser window and can actually change location if there are embedded scrollable pages embedded within pages and the user moves a scrollbar. screenX and screenY: Relative to the top left of the physical screen/monitor, this reference point only moves if you increase or decrease the number of monitors or the monitor resolution. clientX and clientY: Relative to the upper left edge of the content area (the viewport) of the browser window. This point does not move even if the user moves a scrollbar from within the browser.
11-03-2016 06:31:27Reasons not to serve responsive web apps within iframesYour app is going to have some major issues if you're not careful! Chrome has a weird fixed scroll-bar bug (The scroll bar handle does not appear to move when you scroll) - The only solution is for every window re-size event (you can de-bounce it with caution), send a message from the child to the parent frame asking for a window re-size to the height of the content (passed as a param). - This means for Chrome (if you're just sniffing for window.chrome) the iframe will potentially be thousands of pixels high, and the scroll-bar works because it's actually scrolling the parent page and not the child. A reprocussion of this is that no scroll events get fired on the child page, so avoid relying on scroll events all together. - If you de-bounce the re-sizing be careful, as some suppressed re-size events may be significant ones, which may cause double scroll-bars and a rare phenomenon what I like to call 'iframe dancing'. This is where the client sends a re-size request, the parent re-sizes (but adds an extra scroll-bar temporarily), then due to the extra scroll-bar the client width changes and some content wraps, so the client sends another re-size request, the parent scroll-bar disappears, then the whole thing is repeated. etc, etc. You're basically going to need some additional logic within the re-size request code to make sure you're not sending a re-size request which is going to cause this loop. If you're struggling with this, get in touch! It's not pretty. Mobile Safari re-sizing iframes by default, and you can't override it! - Mobile Safari will resize the iframe to the height of the content, regardless of any styles or attributes declared on the iframe (including !important rules). - The solution is to wrap the iframe in a div with overflow:auto, but this may have some reprocussions for other mobile browsers. Avoid fixed position elements at all costs.(Politely TELL your UX that 'sticky' navigation is NOT an option!) - Due to the above Chrome scroll bug fix, fixed position elements will not appear fixed, as the child page never scrolls (the parent page simply scrolls it's view of the iframe). - Due to the mobile safari fix, it's exactly the same situation, fixed position elements will never appear to be fixed, they'll simply scroll away with the content. Mobile Safari applies the elastic out-of-bounds effect to the x-axis as well.(This is due to the app being a page within an iframe.) - There may be a fix for this, but I've avoided supressing touch move events as it's bad practice. CSS Hardware Acceleration appears to be affected - On some mobile devices performance for transformed layers is jerky and flickers. This is not apparent when the app is served outside the iframe. I haven't found a fix for this yet, and I'm not really a fan of applying hardware acceleration to large elements due to the memory and GPU consumption. - If somebody insists on serving an app within an iframe, they can't expect a smooth native app experience, so my advice is to remove transitions on transforms so they move between states discretely. Summary (If you are restricted to serving your app within an iframe:) - Avoid all fixed position elements. Rethink your sticky navigation. - Accept that CSS animation is not going to be smooth on some mobile devives. - Chrome will need a scroll fix, unless you want to take an accessibility hit and expose a rare bug in the latest modern browser. This means you will need JavaScript on the parent page to respond to resize requests via postMessage from the client, or you'll see multiple scrollbars. - You shouldn't be doing anything on scroll events.
11-03-2016 03:55:57scrollelement.scrollTop - is the pixels hidden in top due to the scroll. With no scroll its value is 0. element.scrollHeight - is the pixels of the whole div. element.clientHeight - is the pixels that you see in your browser. var a = element.scrollTop; will be the position. var b = element.scrollHeight - element.clientHeight; will be the maximum value for scrollTop. var c = a / b; will be the percent of scroll
10-03-2016 16:07:27D3.jsD3.js (or just D3 for Data-Driven Documents) is a JavaScript library for producing dynamic, interactive data visualizations in web browsers. It makes use of the widely implemented SVG, HTML5, and CSS standards. It is the successor to the earlier Protovis framework. In contrast to many other libraries, D3.js allows great control over the final visual result. Its development was noted in 2011, as version 2.0.0 was released in August 2011. Protovis - a graphical data visualization framework using JavaScript and SVG
10-03-2016 04:07:11Before the PC: Remembering Kaypro and Osborne Computers - part 2 to license the CP/M operating system for what would eventually become known as the IBM Personal Computer. Digital Research didn_t play ball, so IBM worked out a deal with Microsoft to supply the PC_s operating system, in the form of PC DOS. Had IBM used CP/M instead, we may have been telling a different history today. As it turned out, the IBM PC (released in 1981) was a hit, and the microcomputing world became a race between IBM and various companies selling IBM-compatible models - all running PC DOS or its generic variant, MS-DOS. Computers running CP/M became also rans. Osborne was one of the first casualties of IBM_s entry into the personal computer market - although, truth be told, competitor Kaypro had paved the ground for the company_s demise. Osborne didn_t release a successor to the Osborne 1 until 1985, two years after the company had filed for bankruptcy in 1983. Kaypro lasted a little longer, thanks to its large consumer base. It hung on through the 1980s, selling non-descript IBM clones, but eventually faded into irrelevance. Kaypro initially filed for bankruptcy in 1990, restructured for a bit, and finally went out of business in 1992. Today_s computer users probably don_t recognize the debt today_s PCs owe to the Osborne 1 and Kaypro II. Those two ancient units defined the desktop PC as we know it today, and helped inspire IBM to enter the market. Without Adam Osborne or Andrew Kay, who knows how the market for personal computers would have developed.
10-03-2016 04:05:11Before the PC: Remembering Kaypro and Osborne ComputersWe didn_t always live in a Windows and Mac world. Before the IBM PC, before the Apple Macintosh, there were pioneering personal computers from companies like Kaypro and Osborne. Before there were IBM and Compaq, before there were MS-DOS and PC DOS, there were two companies selling primitive microcomputers to businesses and hobbyists, both running a now-obscure operating system called CP/M. Those companies - Osborne Computer Corporation and Kaypro Corporation - and their namesake computers had a tremendous impact on the now ubiquitous personal computer market, and are fondly remembered by pioneering computer users of the time. CPM: The Pre-DOS OS It all started with the operating system. Most techies are familiar with the story of how Bill Gates and his accomplices developed (or stole, depending on which version of the story you believe) the Disk Operating System, or DOS, for IBM to use in its initial personal computers. But DOS, in both its MS-DOS and PC DOC variants, was not the first operating system for desktop computers. That distinction belongs to the CP/M operating system. CP/M stands for Control Program for Microcomputers (originally Control Program/Monitor), and was developed by Gary Kildall of Digital Research, Inc., in 1973-1974. The original version of CP/M was a single-tasking OS for 8-bit processors, and could utilize up to 64KB of memory. Later versions of CP/M added multi-user capability and the ability to work with 16-bit processors. CP/M looked a lot like DOS, in that it utilized a character-based (non-graphic) interface. To perform any task, you had to use the keyboard to enter the appropriate command at the prompt. That required an intimate knowledge of dozens of essential commands, or a handy dandy command reference of some sort. (This was before the era of computer book publishing - several years before Que published its first books, in fact.) There were a number of popular productivity programs written for computers running CP/M, including WordStar (word processor), Multiplan (spreadsheet), dBASE (database), and AutoCAD. In addition, a number of widely-used programming languages of the time - including BASIC, FORTRAN, and Turbo Pascal - were available in CP/M versions. CP/M quickly became the industry standard OS for the microcomputers of the late 1970s/early 1980s. It was widely used in both home - and business-oriented computers, including the Altair 8800, Atari 800, AT&T 6300, BBC Micro, Commodore 64 and 128, DEC Rainbow, Epson PX-4, NEC PC-8001, Tandy TRS-80, Texas Instruments TI-99/4A, and ZX Spectrum +3, - and, of course, the Osborne 1 and Kaypro series of computers. The Osborne 1: The First Successful Personal Computer Back in the late 1970s, personal computing was essentially a hobbyist_s endeavor. There were toy computers such as the Commodore 64 and TI-99/4A, as well as higher-end projects such as the TRS-80 and ZX Spectrum. There were even a few microcomputers pitched at the business market, although none really reached a critical mass in sales. Into this environment marched Adam Osborne, former book and software publisher. His company published some of the first computer books before it was acquired (in 1979) by the larger McGraw-Hill publishing company. (The computer book publishing unit is now known as Osborne/McGraw Hill.) Osborne was also somewhat of a computer hobbyist, known to frequent meetings of the famous Homebrew Computer Club. In April, 1981, his new company, Osborne Computer Corporation, released its first microcomputer. The Osborne 1, as it was called, was designed by Lee Felsenstein, based loosely on Xerox_s NoteTaker PC prototype. It ran the CP/M operating system and cost just $1,795 - a bargain compared to similar microcomputers of that era. The Osborne 1 resembled nothing more than an hard-sided suitcase. It weighed 23.5 pounds and came with a built-in keyboard (that also functioned as the unit_s fold-down lid) and tiny 5-inch monochrome CRT monitor that displayed 52 characters by 24 lines. It was called a portable and, in the sense that it was a relatively compact all-in-one unit, could function as such -- although that weight made it more of a luggable. Let_s be kind and just refer to it as a suitcase computer. Technology-wise, the Osborne 1 didn_t really break much ground. It ran a 4 MHz Z80 CPU, with 64Kb main memory, and included a single IEEE-488 port configurable as a parallel printer port. Like other computers of the time, the Osborne 1 used two single-sided/single density 5 1/4 inches floppy disks. It did not include a hard disk; those would not become common for another year or more. As such, users had to do a lot of disk swapping to load programs into memory (from one diskette) and then access data (from another disk). Software-wise, the Osborne 1 included a large bundle of popular productivity software, almost equal in value to the price of the computer alone. The software included WordStar, SuperCalc, and (later in production) dBASE II. The Osborne 1 was an immediate critical hit. InfoWorld gave it a front-page article, while BYTE wrote - There are two particular interesting points about this computer: (1) it will cost $1795, and (2) it_s portable! - Tech writer Jerry Pournelle wrote that - You can_t beat it for the price, under $2000 bucks with over a thousand dollars worth of software. - It also sold a lot of units for the day. In its first eight months of release, the company sold more than 11,000 units of the Osborne 1. At its peak, the company was selling close to 10,000 units per month. Many early computer users earned their stripes at the fold-down keyboard of an Osborne 1. It wasn_t a particularly enjoyable experience - that 5-inch screen was painful to look at for extended periods of time, and all that floppy swapping got old real fast - but it did put significant computing power in the hands of businesses and individuals at what was then a relatively affordable price. The Osborne 1 truly pioneered the era of desktop computers for productivity. With every success, however, comes competition - the chief of which was a model that looked a lot like the Osborne 1, at a similar price and with similar bundled software, but with a bigger display and more storage capacity. Kaypro: Competition Comes in Small(ish) Packages Andrew Kay was an engineer and the founder of Non-Linear Systems, a digital instruments manufacturer. While there he invented the digital voltmeter - and later came up with the idea of a personal microcomputer to compete with the Osborne 1. The Kaypro Corporation was created to design and market these computers, and met with tremendous initial success. Kaypro_s first market-ready computer, in 1982, was called the Kaypro II. (The Kaypro 1 never made it to market.) Like the Osborne 1, it was a portable (in name only) that ran CP/M on a 2.5 MHz Z80 CPU, with 64 Kb of RAM. It featured a fold-down keyboard and built-in monochrome CRT display, and weighed 29 pounds. It also came bundled with a lot of expensive productivity software (Perfect Software_s office suite of PerfectWriter, PerfectCalc, PerfectFiler, and PerfectSpeller) at a comparable $1,795 price. The Kaypro II upped the ante, however, with a larger 9-inch screen with 80 column display. In addition, it included single-sided/double-density 5 1/4-inch disk drives, which doubled the storage capacity of the Osborne 1. It also featured an aluminum case, which appeared more rugged than the Osborne_s plastic case. A year or so later, the company revamped the Kaypro II with half-height drives and simple block-style graphics. This version came bundled with WordStar, SuperCalc, and dBASE II, as well as then-popular Space Invaders game. The company also cut the price to $1,595. Those added features resulted in unprecedented sales for the Kaypro II. The company was selling more than 10,000 units per month, and the unit_s popularity inspired a network of Kaypro-based user groups across the U.S. It also helped to kill sales of the competing Osborne 1. The Kaypro II was the first personal computer I used for productivity purposes. (I_d used the Commodore VIC 20 and 64, but those weren_t really productivity machines.) We were looking for a business-oriented machine for my father_s retail business, and our choices were the Apple II (not businessy enough), the IBM PC (not yet proven), and the Kaypro II/Osborne 1 machines. The Kaypro seemed to be the best bargain of the bunch, so that_s the way we went. I ended up spending untold hours in front of that 9-inch green screen, creating newsletters with WordStar and managing inventory with dBASE II. Yeah, I did a lot of floppy swapping (the dBASE program was on one disk and the inventory file on another), but the machine worked surprisingly well and did exactly what I needed it to do. I also think the Kaypro_s firm and clicky keyboard outshone the Chiclet keyboards we have today. Anyway, the success of the Kaypro II let to the introduction of several follow-up models. In 1983, the company introduced the Kaypro IV, with increased-capacity double-sided/double-density floppy drives. The same year saw the release of the Kaypro 10, one of the first computers to feature hard disk storage - in this instance a whopping 10MB hard drive. Additional models followed, including the Kaypro Robie, a non-portable jet-black desktop model that some dubbed - Darth Vader_s lunchbox. By 1985 CP/M machines had been roundly beaten by DOS-based PCs from IBM, Compaq, and others. Kaypro tried to jump on the IBM-compatible bandwagon with the Kaypro PC and Kaypro 286i models, but they were too little too late. Enter IBM: The World Changes It didn_t take long for the world_s largest manufacturer of mainframe and mini computers to recognize the potential of the burgeoning personal computer market. IBM started nosing around the market in the late 70s, and in 1980 approached Digital Research
06-03-2016 04:34:33Active Gzip CompressionThe HTML5 Boilerplate project offers server configs for all the popular servers. This is it's version for .htaccess <IfModule mod_filter.c> AddOutputFilterByType DEFLATE "application/atom+xml" "application/javascript" "application/json" "application/ld+json" "application/manifest+json" "application/rdf+xml" "application/rss+xml" "application/schema+json" "application/vnd.geo+json" "application/vnd.ms-fontobject" "application/x-font-ttf" "application/x-javascript" "application/x-web-app-manifest+json" "application/xhtml+xml" "application/xml" "font/eot" "font/opentype" "image/bmp" "image/svg+xml" "image/vnd.microsoft.icon" "image/x-icon" "text/cache-manifest" "text/css" "text/html" "text/javascript" "text/plain" "text/vcard" "text/vnd.rim.location.xloc" "text/vtt" "text/x-component" "text/x-cross-domain-policy" "text/xml" </IfModule>
29-02-2016 21:18:50IDLE (Python)IDLE (Integrated DeveLopment Environment or Integrated Development and Learning Environment) is an integrated development environment for Python, which has been bundled with the default implementation of the language since 1.5.2b1. It is packaged as an optional part of the Python packaging with many Linux distributions. It is completely written in Python and the Tkinter GUI toolkit (wrapper functions for Tcl/Tk). IDLE is intended to be a simple IDE and suitable for beginners, especially in an educational environment. To that end, it is cross-platform, and avoids feature clutter. According to the included README, its main features are: - Multi-window text editor with syntax highlighting, auto completion, smart indent and other. - Python shell with syntax highlighting. - Integrated debugger with stepping, persistent breakpoints, and call stack visibility. IDLE has been criticized for various usability issues, including losing focus, lack of copying to clipboard feature, lack of line numbering options, and general user interface design; it has been called a disposable IDE, because users frequently move on to a more advanced IDE as they gain experience. Author Guido van Rossum says IDLE stands for Integrated DeveLopment Environment, and since van Rossum named the language Python partly to honor British comedy group Monty Python, the name IDLE was probably also chosen partly to honor Eric Idle, one of Monty Python_s founding members.
28-02-2016 04:42:20Snap.svgWhy SVG (and Snap) ? SVG is an excellent way to create interactive, resolution-independent vector graphics that will look great on any size screen. And the Snap.svg JavaScript library makes working with your SVG assets as easy as jQuery makes working with the DOM. Modern features for modern browsers Snap.svg is designed for modern browsers and therefore supports the newest SVG features like masking, clipping, patterns, full gradients, groups, and more.
26-02-2016 21:52:15Return array from php to javascript using ajaxPHP echo json_encode($cars); JavaScript Native: var foo = JSON.parse(xmlhttp.responseText); With jQuery: var foo = $.parseJSON(xmlhttp.responseText); or $.getJSON(url, function(data) { data is your array }); If you want to use jQuery, put this in head: script type=text/javascript src=link/to/the/file/jquery.js
23-02-2016 14:50:52What is ECMAScript?When reading about Javascript, you may come across the term ECMAScript. ECMAScript is a standard for a scripting language, and the Javascript language is based on the ECMAScript standard. Is Javascript exactly the same as ECMAScript? No, Javascript is not exactly equivalent to ECMAScript. The core features of Javascript are based on the ECMAScript standard, but Javascript also has other additional features that are not in the ECMA specifications/standard. Do other languages use the ECMAScript standard? Yes, there are languages other than Javascript that also implement the ECMAScript Standard as their core. ActionScript (used by Adobe Flash) and JScript (used by Microsoft) are both languages that implement the ECMAScript standard. The best way to think of languages that implement the ECMAScript standard (including Javascript) is as dialects that all share the same core structure, but each language adds their own style and tone on top of the ECMAScript standard. What is the latest version of ECMAScript? ECMAScript version 5 was finished in December 2009, the latest versions of all major browsers (Chrome, Safari, Firefox, and IE) have implemented version 5. Version 5.1 was finished in June, 2011. Why is it called ECMAScript? Javascript was originally created at Netscape, and they wanted to standardize the language. So, they submitted the language to the European Computer Manufacturer_s Association (ECMA) for standardization. But, there were trademark issues with the name Javascript, and the standard became called ECMAScript, which is the name it holds today as well. Also because of trademark issues, Microsoft_s version of the language is called JScript - even though JScript is, at it_s core, the same language as Javascript.
20-02-2016 12:50:26IBM WatsonIBM Watson is a technology platform that uses natural language processing and machine learning to reveal insights from large amounts of unstructured data. Watson can - Answer your customers' most pressing questions - Quickly extract key information from all documents - Reveal insights, patterns and relationships across data Watson analyzes unstructured data. 80% of all data today is unstructured. This includes news articles, research reports, social media posts and enterprise system data. Analyzes unstructured data - Uses natural language processing to understand grammar and context. Understands complex questions - Evaluates all possible meanings and determines what is being asked. Presents answers and solutions - Based on supporting evidence and quality of information found How Watson answers questions - Watson first needs to learn a new subject before it can answer questions about it. - All related materials are loaded into Watson, such as Word documents, PDFs and web pages. - Questions and answers pairs are added to train Watson on the subject. - Watson is automatically updated as new information is published. - Watson searches millions of documents to find thousands of possible answers. - Collects evidence and uses a scoring algorithm to rate the quality of this evidence. - Ranks all possible answers based on the score of its supporting evidence.
20-02-2016 08:19:23Select records from last 24 hours using SQLIn MySQL: SELECT * FROM mytable WHERE record_date >= CURDATE() - INTERVAL 1 DAY In SQL Server: SELECT * FROM mytable WHERE record_date >= DATEADD(day, -1, GETDATE()) In Oracle: SELECT * FROM mytable WHERE record_date >= SYSDATE - 1 In PostgreSQL: SELECT * FROM mytable WHERE record_date >= NOW() - '1 day'::INTERVAL In Redshift: SELECT * FROM mytable WHERE record_date >= GETDATE() - '1 day'::INTERVAL In SQLite: SELECT * FROM mytable WHERE record_date >= datetime('now','-1 day') In MS Access: SELECT * FROM mytable WHERE record_date >= (Now - 1)
19-02-2016 11:45:53Javascript: Create new div dynamically, change it, move it, modify it in every way possible- Creation:: var div = document.createElement('div'); - Addition:: document.body.appendChild(div); - Style manipulation Positioning div.style.left = '32px'; div.style.top = '-16px'; Classes div.className = 'ui-modal'; - Modification ID div.id = 'test'; contents (using HTML) div.innerHTML = '<span class="msg">Hello world.</span>'; contents (using text) div.textContent = 'Hello world.'; - Removal div.parentNode.removeChild(div); - Accessing by ID div = document.getElementById('test'); by tags array = document.getElementsByTagName('div'); by class array = document.getElementsByClassName('ui-modal'); by CSS selector (single) div = document.querySelector('div #test .ui-modal'); by CSS selector (multi) array = document.querySelectorAll('div'); - Relations (text nodes included) children node = div.childNodes[i]; sibling node = div.nextSibling; - Relations (HTML elements only) children element = div.children[i]; sibling element = div.nextElementSibling; This covers the basics of DOM manipulation. Remember, element addition to the body or a body-contained node is required for the newly created node to be visible within the document. getElementsByClassName doesn't work in IE prior to 9
17-02-2016 16:52:03Five-dimensional spaceA five-dimensional space is a space with five dimensions. If interpreted physically, that is one more than the usual three spatial dimensions and the fourth dimension of time used in relativitistic physics. It is an abstraction which occurs frequently in mathematics, where it is a legitimate construct. In physics and mathematics, a sequence of N numbers can be understood to represent a location in an N-dimensional space. Whether or not the actual universe in which we live is five-dimensional is a topic of debate.
17-02-2016 16:47:06JavaCPPJavaCPP provides efficient access to native C++ inside Java, not unlike the way some C/C++ compilers interact with assembly language. No need to invent new languages such as with SWIG, SIP, C++/CLI, Cython, or RPython as required by cppyy. Instead, it exploits the syntactic and semantic similarities between Java and C++. Under the hood, it uses JNI, so it works with all implementations of Java SE, in addition to Android, Avian, and RoboVM (instructions). More specifically, when compared to the approaches above or elsewhere (CableSwig, JNIGeneratorApp, cxxwrap, JNIWrapper, Platform Invoke, GlueGen, LWJGL Generator, JNIDirect, ctypes, JNA, JNIEasy, JniMarshall, JNative, J/Invoke, HawtJNI, JNR, BridJ, fficxx, etc.), it maps naturally and efficiently many common features afforded by the C++ language and often considered problematic, including overloaded operators, class and function templates, callbacks through function pointers, function objects (aka functors), virtual functions and member function pointers, nested struct definitions, variable length arguments, nested namespaces, large data structures containing arbitrary cycles, virtual and multiple inheritance, passing/returning by value/reference/string/vector, anonymous unions, bit fields, exceptions, destructors and shared pointers (via either try-with-resources or garbage collection), and documentation comments. Obviously, neatly supporting the whole of C++ would require more work (although one could argue about the intrinsic neatness of C++), but we are releasing it here as a proof of concept. As a case in point, we have already used it to produce complete interfaces to OpenCV, FFmpeg, libdc1394, PGR FlyCapture, OpenKinect, videoInput, ARToolKitPlus, and others as part of the JavaCPP Presets subproject, also demonstrating early parsing capabilities of C/C++ header files that show promising and useful results.
17-02-2016 12:09:34GMap3GMap3 is the ultimate plugin to create and manage Google Maps to jQuery. Based on an advanced managment system, GMap3 allows you to finely manipulate your markers and others objects, to associate custom data usable in each event.
16-02-2016 17:24:19Radio-frequency identification (RFID)Radio-frequency identification (RFID) is a technology to record the presence of an object using radio signals. It is used for inventory control or timing sporting events. RFID is not a replacement for the barcoding, but a complement for distant reading of codes. The technology is used for automatically identifying a person, a package or an item. To do this, it relies on RFID tags. These are small transponders (combined radio receiver and transmitter) that will transmit identity information over a short distance, when asked. The other piece to make use of RFID tags is an RFID tag reader. An RFID tag is an object that can be applied to or incorporated into a product, animal, or person for the purpose of identification and tracking using radio waves. Some tags can be read from several meters away and beyond the line of sight of the reader. Most tags carry a plain text inscription and a barcode as complements for direct reading and for cases of any failure of radio frequency electronics. Most RFID tags contain at least two parts. One is an integrated circuit for storing and processing information, modulating and de-modulating a radio-frequency (RF) signal, and other specialized functions. The second is an antenna for receiving and transmitting the signal. There are generally two types of RFID tags: active RFID tags, which contain a battery, and passive RFID tags, which have no battery. Uses - General transport (logistics), tracking a package, parcel; replacing barcodes - Tracking vehicles for road toll - Many countries have started using RFID chips in passports - Making products harder to falsify; currently proposed for drugs - Tags in clothing, e.g. in Jeans - Sealing for containers (for the shipping industry). Not required yet. - Identifying animals; used for tracking pets, but also for research, for example on turtles. - Keys for vehicles. The vehicle key has an RFID tag inside; only the key with the right RFID tag can start the vehicle (this makes copying vehicle keys harder). Also used for locking/unlocking vehicles from a distance. - Contactless identity cards, for example to regulate entry into certain areas; also used for ticketing, or public transport - Transponder timing of sporting events. - making attendance of students
15-02-2016 22:22:17Raphael.jsRaphael.js is a JavaScript library that allows you to create SVG scenes programmatically. It uses a unified API to create SVG scenes where it is supported or VML(Vector Modeling Language) where it is now, namely Internet Explorer versions before IE9.
15-02-2016 22:19:44SVG vs CanvasGiven that they are both methods to draw objects on the screen, it_s often not immediately clear why you should use one over the other. The two mediums have vastly different approaches. Canvas is an immediate mode API is much like drawing with crayons. You can clear or destroy part of the drawing but you can_t by default revert or alter a previous stroke. Canvas is also a raster bitmap so it is very much subject to pixelation when images are scaled. SVG on the other hand, as previously mentioned can serve multiple resolutions with the same level of detail and can be scripted. Whether to use SVG or Canvas for game programming is fairly simple. Besides the normal constraints of whether you plan to deploy to desktop or mobile, it really comes down to sprite count. SVG lends itself to what I_d call low-fidelty games. I describe those as games that have limited concurrent movement of objects and sprite removal and creation. Many board games like Chess, Checkers, or Battleship, as well as card games like BlackJack, Poker, and Hearts fall into this category. Another unifying thread is that in many of these games, a player will need to move an arbitrary object and SVG_s scriptability makes object picking easy.
15-02-2016 02:15:43NetImpactNetImpact is easy to use APIs provide powerful data that enables you to build more intelligence applications for dynamic content delivery, location-aware applications, enhanced e-commerce, security and more. How Does NetImpac Work? After creating your free account, start building API strings using our WYSIWYG API widget. Simply choose which real-time data sets you want returned, how it is delimited, and any other specific information needed. How Much Does NetImpact Cost? NetImpact is a freemium model, meaning you can create an account and use the APIs in a limited fashion, at no cost. As your development increases, we offer very flexible pricing plans to suit your needs.
15-02-2016 00:24:22www.naturalearthdata.comNatural Earth is a public domain map dataset available at 1:10m, 1:50m, and 1:110 million scales. Featuring tightly integrated vector and raster data, with Natural Earth you can make a variety of visually pleasing, well-crafted maps with cartography or GIS software. Natural Earth was built through a collaboration of many volunteers and is supported by NACIS (North American Cartographic Information Society), and is free for use in any type of project. Convenience: Natural Earth solves a problem: finding suitable data for making small-scale maps. In a time when the web is awash in geospatial data, cartographers are forced to waste time sifting through confusing tangles of poorly attributed data to make clean, legible maps. Because your time is valuable, Natural Earth data comes ready-to-use. Neatness Counts The carefully generalized linework maintains consistent, recognizable geographic shapes at 1:10m, 1:50m, and 1:110m scales. Natural Earth was built from the ground up so you will find that all data layers align precisely with one another. For example, where rivers and country borders are one and the same, the lines are coincident. GIS Attributes Natural Earth, however, is more than just a collection of pretty lines. The data attributes are equally important for mapmaking. Most data contain embedded feature names, which are ranked by relative importance. Other attributes facilitate faster map production, such as width attributes assigned to river segments for creating tapers.
14-02-2016 15:46:30jVectorMap- Works in all modern browsers (including IE6-8) - Looks great on any resolution because of its vector nature - Many maps are available - Custom maps could be created using converter Features - JavaScript-based:: jVectorMap uses only native browser technologies like JavaScript, CSS, HTML, SVG or VML. No Flash or any other proprietary browser plug-in is required. This allows jVectorMap to work in all modern mobile browsers. - Interactivity:: Using documented API you can handle various events from the map like hovers, clicks, label displaying and customize the behavior of the plug-in. - Maps:: Many maps of the world, world regions, countries and cities are available for download from this site. All of them are made from the data in public domain or data licensed under the free licenses, so you can use them for any purpose without of charge. - Converter:: Plug-in package includes maps converter written in Python. It_s used to create maps available on this site. If you want to create some custom map you can create it using data in common GIS formats like Shapefile for example. - Standard compliant:: For identification of the countries and regions ISO 3166 standard is used. So you easily visualize data which is compliant with this standard.
11-02-2016 23:47:27Google_s Speed Tracer and YUI ProfilerGoogle_s Speed Tracer. It_s a Chrome extension. Speed Tracer is a tool to help you identify and fix performance problems in your web applications. It visualizes metrics that are taken from low level instrumentation points inside of the browser and analyzes them as your application runs. Speed Tracer is available as a Chrome extension and works on all platforms where extensions are currently supported (Windows and Linux). Alternatively, you have Yahoo!_s YUI 2: Profiler. The YUI Profiler is a simple, non-visual code profiler for JavaScript. Unlike most code profilers, this one allows you to specify exactly what parts of your application to profile. You can also programmatically retrieve profiling information as the application is running, allowing you to create performance tests YUI Test or other unit testing frameworks.
11-02-2016 03:05:25The DOCTYPE comes firstThe first element in every of your HTML pages should always be the DOCTYPE declaration. There are various DOCTYPES out there, but most of them are obsolete today. An example of the current HTML5 DOCTPYE: !DOCTYPE html and an older HTML 4 DOCTYPE: !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01//EN http://www.w3.org/TR/html4/strict.dtd Why bother? Nearly all modern browsers know two (or more) rendering modes: Standards and Quirks mode. The DOCTYPE helps the browser to decide which rendering mode to use. The Quirks mode In Quirksmode the browser tries to render your page based on old web standards or no standards at all. The Quirks mode is used to display old and legacy web pages and should be avoided nowadays. If the browser renders in Quirks mode you will see some weird CSS and JavaScript effects as well as different (and wrong) BOX-Model calculations. The Standards mode In standards mode the browser renders the web page according to current web standards. You can prevent many cross-browser compatibility problems by simply enabling the standards mode in all browsers. How to get into Standards mode The browser switches between quirks and standards mode based on (or the lack of) the DOCTYPE. To choose the right DOCTYPE for your page or application can be tricky. !DOCTYPE html This is the current HTML5 DOCTYPE. If you want to support all the latest browsers and need to use HTML5 features (like video, audio and canvas) you should use this DOCTYPE. !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01//EN http://www.w3.org/TR/html4/struct.dtd This DOCTYPE triggers the standards mode in all browsers but doesn_t validate new HTML5 features. If you have a valid reason to validate with HTML 4 and don_t plan to use any new feature you can stick to this DOCTYPE. No DOCTYPE In nearly every case this is a very bad idea. This will always come back to hunt you (or your coworkers) if you ever plan to switch to a current DOCTYPE (and you will). If you really need to support Internet Explorer 6 there is the possibility to use conditional comments. The Internet Explorer compatibility modes So why not just use the HTML 5 DOCTYPE and be done with it? Unfortunately, the Internet Explorer knows more than standards and quirks mode. The Internet Explorer is capable of simulating older versions (also known as compatibility modes). You can toggle these modes by using an X-UA-Compatible HTTP header or meta tag. If you don_t, Internet Explorer 8 and 9 let the user drop there and render to Internet Explorer 7 mode - even if you have declared a proper DOCTYPE. And believe me: The users will blame your web page, not their browser. Which X-UA-Compatible header/meta tag? There are 3 possibilities: meta http-equiv=X-UA-Compatible content=IE=Edge This meta tag (or similar HTTP header) tells the Internet Explorer to render with the most current engine. Moreover, the user is not allowed to pick an older version. meta http-equiv=X-UA-Compatible content=IE=EmulateIE8 This meta tag (or similar HTTP header) renders the page in Internet Explorer 8 mode. meta http-equiv=X-UA-Compatible content=IE=EmulateIE7 This meta tag (or similar HTTP header) renders the page in Internet Explorer 7 mode. Now tell me: What should I use? If you are building a new website I would strongly recommend the use of the current HTML5 DOCTYPE <!DOCTYPE html> and the meta tag meta http-equiv=X-UA-Compatible content=IE=Edge to toggle the standards mode in every browser. If you have control over the hosting environment you should use the HTTP header instead of the meta tag (the meta tag will not validate as HTML 5 and thus your page will fail validation if you include it).
11-02-2016 01:26:54What is Webswing ?Webswing is a web server that allows to run any swing application inside your web browser using only pure HTML5. The best days of swing framework are gone. Desktop applications lost popularity and everything is forced to be online and mobile. But what about existing application? Using applet technology proved to be insecure, rewriting the application to web technology is too expensive. This is where Webswing can help you. With Webswing, your application is securely running on server and user_s browser only displays the application window. All this without changing single line of source code.
11-02-2016 01:15:26Jetty (web server)Jetty is a Java HTTP (Web) server and Java Servlet container. While Web Servers are usually associated with serving documents to people, Jetty is now often used for machine to machine communications, usually within larger software frameworks. Jetty is developed as a free and open source project as part of the Eclipse Foundation. The web server is used in products such as Apache ActiveMQ, Alfresco, Apache Geronimo, Apache Maven, Apache Spark, Google App Engine, Eclipse, FUSE, iDempiere, Twitter_s Streaming API and Zimbra. Jetty is also the server in open source projects such as Lift, Eucalyptus, Red5, Hadoop and I2P. Jetty supports the latest Java Servlet API (with JSP support) as well as protocols HTTP-2 and WebSocket.
08-02-2016 23:59:43Google Web Toolkit (GWT)Google Web Toolkit (GWT), or GWT Web Toolkit, is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files. It is licensed under the Apache License version 2.0. GWT emphasizes reusable approaches to common web development tasks, namely asynchronous remote procedure calls, history management, bookmarking, UI abstraction, internationalization, and cross-browser portability.
08-02-2016 03:25:54What is Quartz?Quartz is a richly featured, open source job scheduling library that can be integrated within virtually any Java application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components that may execute virtually anything you may program them to do. The Quartz Scheduler includes many enterprise-class features, such as support for JTA transactions and clustering. Quartz is freely usable, licensed under the Apache 2.0 license.
05-02-2016 07:28:01ActionScriptActionScript is an object-oriented programming language originally developed by Macromedia Inc. (now dissolved into Adobe Systems). It is a derivation of HyperTalk, the scripting language for HyperCard. It is now a dialect of ECMAScript (meaning it is a superset of the syntax and semantics of the language more widely known as JavaScript), though it originally arose as a sibling, both being influenced by HyperTalk. ActionScript is used primarily for the development of websites and software targeting the Adobe Flash Player platform, used on Web pages in the form of embedded SWF files. ActionScript 3 is also used with Adobe AIR system for the development of desktop and mobile applications. The language itself is open-source in that its specification is offered free of charge and both an open source compiler (as part of Apache Flex) and open source virtual machine (Mozilla Tamarin) are available. ActionScript is also used with Scaleform GFx for the development of 3D video game user interfaces and HUDs.
05-02-2016 07:23:13HaxeHaxe is an open source high-level multi-platform programming language and compiler that can produce applications and source code for many different platforms from a single code-base. Haxe includes a set of common functionality that is supported across all platforms, such as numeric data types, text, arrays, binary and some common file formats. Haxe also includes platform-specific API for Adobe Flash, C++, PHP and other languages. Code written in the Haxe language can be source-to-source compiled into ActionScript 3 code, JavaScript programs, Java, C#, C++ standalone applications, Python, PHP, Apache CGI, and Node.js server-side applications. Haxe is also a full-featured ActionScript 3-compatible Adobe Flash compiler, that can compile a SWF file directly from Haxe code. Haxe can also compile to Neko applications, built by the same developer. Major users of Haxe include TiVo, Prezi, Nickelodeon, Disney, Mattel, Hasbro, Coca Cola, Toyota and BBC. OpenFL and Flambe are popular Haxe frameworks that enable the creation of multi-platform content from a single codebase. With HTML5 dominating over Adobe Flash in recent years, Haxe, Unity and other cross-platform tools are increasingly necessary to target modern platforms while providing backward compatibility with Adobe Flash Player.
05-02-2016 06:39:03FlashDevelopFlashDevelop is an integrated development environment (IDE) for development of Adobe Flash websites, web applications, desktop applications and video games. The resulting applications run in Adobe Flash Player or Adobe AIR, on Microsoft Windows, Mac OS X, Android or iOS. The primary purpose of FlashDevelop is enabling developers to edit, compile, debug and publish a Flash ActionScript project. It supports ActionScript 2.0, ActionScript 3.0, Haxe and other upcoming languages. It has code completion, syntax highlighting, snippets and other features similar to Microsoft Visual Studio. FlashDevelop is free and open source software, mostly written in C# and is built on the efficient Scintilla editor component. It is extensible with a plugin architecture and is a .NET Framework 2.0 application only available for Microsoft Windows. As an open source project with a modular plugin system, users are able to improve and optimize the program, as well as write plugins for features that may be missing. The project is primarily funded by donations. FlashDevelop uses the free Adobe Flex SDK to build ActionScript 3 and MXML applications, the free MTASC compiler to build ActionScript 2 applications, and the free Haxe toolkit to build ActionScript 3, PHP, Neko or JavaScript applications. It also has code completion and highlighting for XML, HTML, PHP, and CSS.
05-02-2016 06:24:48Apache FlexApache Flex, formerly Adobe Flex, is a software development kit (SDK) for the development and deployment of cross-platform rich Internet applications based on the Adobe Flash platform. Initially developed by Macromedia and then acquired by Adobe Systems, Adobe donated Flex to the Apache Software Foundation in 2011 and promoted to a top-level project in December 2012. The Flex 3 SDK was released under the open source Mozilla Public License in 2008. Consequently, Flex applications can be developed using standard IDEs, for example IntelliJ IDEA, Eclipse, the free and open source IDE FlashDevelop, as well as the proprietary Adobe Flash Builder. The latest version of the SDK is version 4.14.1. It is released under version 2 of the Apache License.
03-02-2016 11:13:51Ractive.jsLive, reactive templating Ractive.js is a template-driven UI library, but unlike other tools that generate inert HTML, it transforms your templates into blueprints for apps that are interactive by default. Powerful and extensible Two-way binding, animations, SVG support and more are provided out-of-the-box - but you can add whatever functionality you need by downloading and creating plugins. Optimised for your sanity Some tools force you to learn a new vocabulary and structure your app in a particular way. Ractive works for you, not the other way around - and it plays well with other libraries.
02-02-2016 15:11:28Node.jsNode.js is an open-source, cross-platform runtime environment for developing server-side Web applications. Node.js is not a JavaScript framework, but its applications are written in JavaScript and can be run within the Node.js runtime on a wide variety of platforms, including FreeBSD, IBM AIX, IBM i, IBM System z, Linux, Microsoft Windows, NonStop and OS X. Its work is hosted and supported by the Node.js Foundation, a collaborative project at the Linux Foundation. Node.js provides an event-driven architecture and a non-blocking I/O API designed to optimize an application_s throughput and scalability for real-time Web applications. It uses Google V8 JavaScript engine to execute code, and a large percentage of the basic modules are written in JavaScript. Node.js contains a built-in library to allow applications to act as a stand-alone Web server. Node.js is used by GoDaddy, Groupon, IBM, LinkedIn, Microsoft, Netflix, PayPal, Rakuten, SAP, Voxer, Walmart, and Yahoo!. Node.js is typically used where light-weight, real-time response is needed, like communication apps and Web-based gaming. It is used to build large, scalable network applications.
28-01-2016 12:57:12Why is there no method to get the actual size of the stack?The only things that are stored on the stack are primitive types and references. Objects are always created on the heap, so the data types that would be stored on the stack are Local Variables of type byte, char, int, long, float, double the longest of these are double which is 8 bytes References to objects are 4 bytes on 32 bit vm, 8 bytes on 64 bit vms (possibly shorter, 48 bit references are used to save space) Note that arrays are objects types so they are stored on the heap, also if you have a primitive that is a field in a class then the primitive is part of an object and therefore will be stored on the heap. So its pretty hard to run out of stack space for a thread unless you have runway recursion. I would imagine that is the reason why the Java designers do not give you a way to find out the stack size. Another reason not to give the stack size is that it would be an implementation details that you can not really do anything with, you can not change the size of a thread stack after you have created the thread, and you can not do pointer arithmetic so what the point of knowing the stack size?
25-01-2016 19:38:49How can I take thread dumps from a JVM on Unix or Windows?There are several ways to take thread dumps from a JVM. It is highly recommended to take more than 1 thread dump. A good practice is to take 10 thread dumps at a regular interval (eg. 1 thread dump every 10 seconds). Step 1: Get the PID of your java process The first piece of information you will need to be able to obtain a thread dump is your java process_s PID. The java JDK ships with the jps command which lists all java process ids. You can run this command like this: jps -l 70660 sun.tools.jps.Jps 70305 Note: In Linux and UNIX, you may have to run this command as sudo -u user jps -l, where user is the username of the user that the java process is running as. If this does not work or you still cannot find your java process, (path not set, JDK not installed, or older Java version), use UNIX, Linux and Mac OSX: ps -el | grep java Windows: Press Ctrl+Shift+Esc to open the task manager and find the PID of the java process Step 2: Request a Thread Dump from the JVM jstack If installed/available, we recommend using the jstack tool. It prints thread dumps to the command line console. To obtain a thread dump using jstack, run the following command: jstack < pid > You can output consecutive thread dumps to a file by using the console output redirect/append directive: jstack < pid > >> threaddumps.log Notes: The jstack tool is available since JDK 1.5 (for JVM on Windows it_s available in some versions of JDK 1.5 and JDK 1.6 only). jstack works even if the -Xrs jvm parameter is enabled It_s not possible to use the jstack tool from JDK 1.6 to take threaddumps from a process running on JDK 1.5. In Linux and UNIX, you may need to run this command as sudo -u user jstack <pid> >> threaddumps.log, where user is the user that the java process is running as. In Windows, if you run jstack and get the error Not enough storage is available to process this command then you must run jstack as the windows SYSTEM user. You can do this by using psexec which you can download here. Then you can run jstack like this: psexec -s jstack <pid> >> threaddumps.log jstack script Here_s a script, taken from eclipse.org that will take a series of thread dumps using jstack. #!/bin/bash if [ $# -eq 0 ]; then echo >&2 Usage: jstackSeries <pid> <run_user> [ <count> [ <delay> ] ] echo >&2 Defaults: count = 10, delay = 0.5 (seconds) exit 1 fi pid=$1 # required user=$2 # required count=${3:-10} # defaults to 10 times delay=${4:-0.5} # defaults to 0.5 seconds while [ $count -gt 0 ] do sudo -u $user jstack -l $pid >jstack.$pid.$(date +%H%M%S.%N) sleep $delay let count-- echo -n . done Just run it like this: sh jstackSeries.sh [pid] [cq5serveruser] [count] [delay] For example: sh jstackSeries.sh 1234 cq5serveruser 10 3 1234 is the pid of the java process cq5serveruser is the Linux or Unix user that the java process runs as 10 is how many thread dumps to take 3 is the delay between each dump): Alternative Ways to Obtain a Thread Dump If the jstack tool is not available to you then you can take thread dumps as follows: Note: Some tools cannot take thread dumps from the JVM if the commandline parameter -Xrs is enabled. If you are having trouble taking thread dumps then please see if this option is enabled. Unix, Mac OSX and Linux (JDK 1.4 or lesser version) On Unix, Mac OSX and Linux, you can send a QUIT signal to the java process to tell it to output a thread dump to standard output. Run this command to do this: kill -QUIT <pid> You may need to run this command as sudo -u user kill -QUIT <pid> where user is the user that the java process is running as. If you are starting CQSE using the crx-quickstart/server/start script then your thread dumps will be output to crx-quickstart/server/logs/startup.log. If you are using a 3rd party application server such as JBoss, WebSphere, Tomcat, or other then please see the server_s documentation to find out which file the standard output is directed to. Windows: JDK 1.X Download javadump.exe (Attached below) Start the JVM with these 3 arguments. They must be in the right order. -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=C: mpjvmoutput.log Press Ctrl+Shift+Esc to open the task manager Find the PID of the java process From the command line run javadump.exe [pid] The thread dump will appear in the jvmoutput.log file mentioned in step 2. JDK 1.6 Get a thread dump from jconsole tool, by using a plugin : [0] Here_s how you can request a thread dump: Add the following parameter to the jvm running Communique : -Dcom.sun.management.jmxremote Download and install JDK 1.6 (if not done yet) Download and extract the Thread Dump Analyzer utility Run jconsole.exe of JDK 1.6 jconsole.exe -pluginpath /path/to/file/tda.jar Click on the Thread dumps tab Click on the Request Thread Dump ... link Note: If you are running CQ5 and or CRX (with Sling) and want to observe the running threads, you can request http://<host>:<port>/system/console/threads to get a thread list. However, please note that these thread dumps will not work with thread dump analysis tools such as samurai or tda.
12-01-2016 13:37:44BlueCoveBlueCove is a JSR-82 J2SE implementation that currently interfaces with the Mac OS X, WIDCOMM, BlueSoleil and Microsoft Bluetooth stack found in Windows XP SP2 and newer. Originally developed by Intel Research and currently maintained by volunteers. BlueCove runs on any JVM starting from version 1.1 or newer on Windows Mobile, Windows XP and Windows Vista, Mac OS X. Since version 2.1 BlueCove distributed under the Apache Software License, Version 2.0 Linux BlueZ support added in BlueCove version 2.0.3 as additional GPL licensed module. BlueCove provides Java API for Bluetooth JSR 82.
02-01-2016 03:53:18Project Valhalla (Java language)Project Valhalla is an experimental OpenJDK project to develop major new language features for Java 10 and beyond. The project was announced in July 2014 and is an experimental effort by Oracle, led by engineer Brian Goetz. Planned Features - Value Types; highly-efficient small objects without inheritance. - Generic Specialization; List&lt;int&gt; for example. - Reified Generics; retaining actual type at runtime. - improved volatile support. These features will require both syntax & VM-level changes.
27-12-2015 22:29:30faXcooL.exefaXcooL.exe is a Hack tool used for disabling Windows Genuine Advantage Checks, it is what they call a Remove WAT tool, if your computer found this, either you installed a pirated version of Windows or whoever installed Windows on your computer used a pirated copy. Or you or someone downloaded the tool to Remove WAT, or you downloaded it on accident, either way its not going to harm your computer, just dont run it if you have a legit copy of windows.
27-12-2015 22:26:12BluesnarfingBluesnarfing is the unauthorized access of information from a wireless device through a Bluetooth connection, often between phones, desktops, laptops, and PDAs (personal digital assistant.). This allows access to a calendar, contact list, emails and text messages, and on some phones, users can copy pictures and private videos. Both Bluesnarfing and Bluejacking exploit others Bluetooth connections without their knowledge. While Bluejacking is essentially harmless as it only transmits data to the target device, Bluesnarfing is the theft of information from the target device. Current mobile software generally must allow a connection using a temporary state initiated by the user in order to be paired with another device to copy content. There seem to have been, in the past, available reports of phones being Bluesnarfed without pairing being explicitly allowed. After the disclosure of this vulnerability, vendors of mobile phone patched their Bluetooth implementations and, at the time of writing, no current phone models are vulnerable to this attack. Any device with its Bluetooth connection turned on and set to discoverable (able to be found by other Bluetooth devices in range) may be susceptible to Bluejacking and possibly to Bluesnarfing if there is a vulnerability in the vendors software. By turning off this feature, the potential victim can be safer from the possibility of being Bluesnarfed; although a device that is set to hidden may be Bluesnarfable by guessing the devices MAC address via a brute force attack. As with all brute force attacks, the main obstacle to this approach is the sheer number of possible MAC addresses. Bluetooth uses a 48-bit unique MAC Address, of which the first 24 bits are common to a manufacturer. The remaining 24 bits have approximately 16.8 million possible combinations, requiring an average of 8.4 million attempts to guess by brute force. Attacks on wireless systems have increased along with the popularity of wireless networks. Attackers often search for rogue access points, or unauthorized wireless devices installed in an organizations network and allow an attacker to circumvent network security. Rogue access points and unsecured wireless networks are often detected through war driving, which is using an automobile or other means of transportation to search for a wireless signal over a large area. Bluesnarfing is an attack to access information from wireless devices that transmit using the Bluetooth protocol. With mobile devices, this type of attack is often used to target the international mobile equipment identity (IMEI). Access to this unique piece of data, enable the attackers to divert incoming calls and messages to another device without the users knowledge. Bluetooth vendors advise customers with vulnerable bluetooth devices to either turn them off in areas regarded as unsafe or set them to undiscoverable. This bluetooth setting allows users to keep their bluetooth on so that compatible bluetooth products can be used but other bluetooth devices cannot discover them. Because Bluesnarfing is an invasion of privacy, it is illegal in many countries.
27-12-2015 22:22:21BluebuggingBluebugging is a form of Bluetooth attack often caused by a lack of awareness. It was developed after the onset of bluejacking and bluesnarfing. Similar to bluesnarfing, bluebugging accesses and uses all phone features but is limited by the transmitting power of class 2 Bluetooth radios, normally capping its range at 10-15 meters. However, the operational range has been increased with the advent of directional antennas.
27-12-2015 21:36:41BluejackingBluejacking is the sending of unsolicited messages over Bluetooth to Bluetooth-enabled devices such as mobile phones, PDAs or laptop computers, sending a vCard which typically contains a message in the name field (i.e., for bluedating or bluechat) to another Bluetooth-enabled device via the OBEX protocol. Bluetooth has a very limited range, usually around 10 metres (32.8 ft) on mobile phones, but laptops can reach up to 100 metres (328 ft) with powerful (Class 1) transmitters. Origins Bluejacking was reportedly first carried out by a Malaysian IT consultant who used his phone to advertise Sony Ericsson. He also invented the name, which he claims is an amalgam of Bluetooth and ajack, his username on Esato, a Sony Ericsson fan online forum. Jacking is, however, an extremely common shortening of hijack, the act of taking over something. Usage Bluejacking is usually harmless, but because bluejacked people generally do not know what has happened, they may think that their phone is malfunctioning. Usually, a bluejacker will only send a text message, but with modern phones it is possible to send images or sounds as well. Bluejacking has been used in guerrilla marketing campaigns to promote advergames. With the increase in the availability of Bluetooth enabled devices, it is often reported that devices have become vulnerable to virus attacks and even complete take over of devices through a trojan horse program although most of these reports are easily debunked. Bluejacking is also confused with Bluesnarfing which is the way in which mobile phones are illegally hacked via Bluetooth.
22-12-2015 03:37:27SevenSegmentDisplayA seven-segment display (SSD), or seven-segment indicator, is a form of electronic display device for displaying decimal numerals that is an alternative to the more complex dot matrix displays. Seven-segment displays are widely used in digital clocks, electronic meters, basic calculators, and other electronic devices that display numerical information.
11-12-2015 18:11:44UTF-8 ArrowsRange: Decimal 8592-8703. Hex 2190-21FF. If we want any of these characters displayed in HTML, we can use the HTML entity found in the table below. If the character does not have an HTML entity, we can use the decimal (dec) or hexadecimal (hex) reference. Some browsers may not support all HTML5 entities in the table below. Currently, only IE 11 and Firefox 35 support all HTML5 entities. Char Dec Hex Entity Name &#8592; 8592 2190 &larr; LEFTWARDS ARROW &#8593; 8593 2191 &uarr; UPWARDS ARROW &#8594; 8594 2192 &rarr; RIGHTWARDS ARROW &#8595; 8595 2193 &darr; DOWNWARDS ARROW &#8596; 8596 2194 &harr; LEFT RIGHT ARROW &#8597; 8597 2195 UP DOWN ARROW &#8598; 8598 2196 NORTH WEST ARROW &#8599; 8599 2197 NORTH EAST ARROW &#8600; 8600 2198 SOUTH EAST ARROW &#8601; 8601 2199 SOUTH WEST ARROW &#8602; 8602 219A LEFTWARDS ARROW WITH STROKE &#8603; 8603 219B RIGHTWARDS ARROW WITH STROKE &#8604; 8604 219C LEFTWARDS WAVE ARROW &#8605; 8605 219D RIGHTWARDS WAVE ARROW &#8606; 8606 219E LEFTWARDS TWO HEADED ARROW &#8607; 8607 219F UPWARDS TWO HEADED ARROW &#8608; 8608 21A0 RIGHTWARDS TWO HEADED ARROW &#8609; 8609 21A1 DOWNWARDS TWO HEADED ARROW &#8610; 8610 21A2 LEFTWARDS ARROW WITH TAIL &#8611; 8611 21A3 RIGHTWARDS ARROW WITH TAIL &#8612; 8612 21A4 LEFTWARDS ARROW FROM BAR &#8613; 8613 21A5 UPWARDS ARROW FROM BAR &#8614; 8614 21A6 RIGHTWARDS ARROW FROM BAR &#8615; 8615 21A7 DOWNWARDS ARROW FROM BAR &#8616; 8616 21A8 UP DOWN ARROW WITH BASE &#8617; 8617 21A9 LEFTWARDS ARROW WITH HOOK &#8618; 8618 21AA RIGHTWARDS ARROW WITH HOOK &#8619; 8619 21AB LEFTWARDS ARROW WITH LOOP &#8620; 8620 21AC RIGHTWARDS ARROW WITH LOOP &#8621; 8621 21AD LEFT RIGHT WAVE ARROW &#8622; 8622 21AE LEFT RIGHT ARROW WITH STROKE &#8623; 8623 21AF DOWNWARDS ZIGZAG ARROW &#8624; 8624 21B0 UPWARDS ARROW WITH TIP LEFTWARDS &#8625; 8625 21B1 UPWARDS ARROW WITH TIP RIGHTWARDS &#8626; 8626 21B2 DOWNWARDS ARROW WITH TIP LEFTWARDS &#8627; 8627 21B3 DOWNWARDS ARROW WITH TIP RIGHTWARDS &#8628; 8628 21B4 RIGHTWARDS ARROW WITH CORNER DOWNWARDS &#8629; 8629 21B5 &crarr; DOWNWARDS ARROW WITH CORNER LEFTWARDS &#8630; 8630 21B6 ANTICLOCKWISE TOP SEMICIRCLE ARROW &#8631; 8631 21B7 CLOCKWISE TOP SEMICIRCLE ARROW &#8632; 8632 21B8 NORTH WEST ARROW TO LONG BAR &#8633; 8633 21B9 LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR &#8634; 8634 21BA ANTICLOCKWISE OPEN CIRCLE ARROW &#8635; 8635 21BB CLOCKWISE OPEN CIRCLE ARROW &#8636; 8636 21BC LEFTWARDS HARPOON WITH BARB UPWARDS &#8637; 8637 21BD LEFTWARDS HARPOON WITH BARB DOWNWARDS &#8638; 8638 21BE UPWARDS HARPOON WITH BARB RIGHTWARDS &#8639; 8639 21BF UPWARDS HARPOON WITH BARB LEFTWARDS &#8640; 8640 21C0 RIGHTWARDS HARPOON WITH BARB UPWARDS &#8641; 8641 21C1 RIGHTWARDS HARPOON WITH BARB DOWNWARDS &#8642; 8642 21C2 DOWNWARDS HARPOON WITH BARB RIGHTWARDS &#8643; 8643 21C3 DOWNWARDS HARPOON WITH BARB LEFTWARDS &#8644; 8644 21C4 RIGHTWARDS ARROW OVER LEFTWARDS ARROW &#8645; 8645 21C5 UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW &#8646; 8646 21C6 LEFTWARDS ARROW OVER RIGHTWARDS ARROW &#8647; 8647 21C7 LEFTWARDS PAIRED ARROWS &#8648; 8648 21C8 UPWARDS PAIRED ARROWS &#8649; 8649 21C9 RIGHTWARDS PAIRED ARROWS &#8650; 8650 21CA DOWNWARDS PAIRED ARROWS &#8651; 8651 21CB LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON &#8652; 8652 21CC RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON &#8653; 8653 21CD LEFTWARDS DOUBLE ARROW WITH STROKE &#8654; 8654 21CE LEFT RIGHT DOUBLE ARROW WITH STROKE &#8655; 8655 21CF RIGHTWARDS DOUBLE ARROW WITH STROKE &#8656; 8656 21D0 &lArr; LEFTWARDS DOUBLE ARROW &#8657; 8657 21D1 &uArr; UPWARDS DOUBLE ARROW &#8658; 8658 21D2 &rArr; RIGHTWARDS DOUBLE ARROW &#8659; 8659 21D3 &dArr; DOWNWARDS DOUBLE ARROW &#8660; 8660 21D4 &hArr; LEFT RIGHT DOUBLE ARROW &#8661; 8661 21D5 UP DOWN DOUBLE ARROW &#8662; 8662 21D6 NORTH WEST DOUBLE ARROW &#8663; 8663 21D7 NORTH EAST DOUBLE ARROW &#8664; 8664 21D8 SOUTH EAST DOUBLE ARROW &#8665; 8665 21D9 SOUTH WEST DOUBLE ARROW &#8666; 8666 21DA LEFTWARDS TRIPLE ARROW &#8667; 8667 21DB RIGHTWARDS TRIPLE ARROW &#8668; 8668 21DC LEFTWARDS SQUIGGLE ARROW &#8669; 8669 21DD RIGHTWARDS SQUIGGLE ARROW &#8670; 8670 21DE UPWARDS ARROW WITH DOUBLE STROKE &#8671; 8671 21DF DOWNWARDS ARROW WITH DOUBLE STROKE &#8672; 8672 21E0 LEFTWARDS DASHED ARROW &#8673; 8673 21E1 UPWARDS DASHED ARROW &#8674; 8674 21E2 RIGHTWARDS DASHED ARROW &#8675; 8675 21E3 DOWNWARDS DASHED ARROW &#8676; 8676 21E4 LEFTWARDS ARROW TO BAR &#8677; 8677 21E5 RIGHTWARDS ARROW TO BAR &#8678; 8678 21E6 LEFTWARDS WHITE ARROW &#8679; 8679 21E7 UPWARDS WHITE ARROW &#8680; 8680 21E8 RIGHTWARDS WHITE ARROW &#8681; 8681 21E9 DOWNWARDS WHITE ARROW &#8682; 8682 21EA UPWARDS WHITE ARROW FROM BAR &#8683; 8683 21EB UPWARDS WHITE ARROW ON PEDESTAL &#8684; 8684 21EC UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR &#8685; 8685 21ED UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR &#8686; 8686 21EE UPWARDS WHITE DOUBLE ARROW &#8687; 8687 21EF UPWARDS WHITE DOUBLE ARROW ON PEDESTAL &#8688; 8688 21F0 RIGHTWARDS WHITE ARROW FROM WALL &#8689; 8689 21F1 NORTH WEST ARROW TO CORNER &#8690; 8690 21F2 SOUTH EAST ARROW TO CORNER &#8691; 8691 21F3 UP DOWN WHITE ARROW &#8692; 8692 21F4 RIGHT ARROW WITH SMALL CIRCLE &#8693; 8693 21F5 DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW &#8694; 8694 21F6 THREE RIGHTWARDS ARROWS &#8695; 8695 21F7 LEFTWARDS ARROW WITH VERTICAL STROKE &#8696; 8696 21F8 RIGHTWARDS ARROW WITH VERTICAL STROKE &#8697; 8697 21F9 LEFT RIGHT ARROW WITH VERTICAL STROKE &#8698; 8698 21FA LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE &#8699; 8699 21FB RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE &#8700; 8700 21FC LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE &#8701; 8701 21FD LEFTWARDS OPEN-HEADED ARROW &#8702; 8702 21FE RIGHTWARDS OPEN-HEADED ARROW &#8703; 8703 21FF LEFT RIGHT OPEN-HEADED ARROW
09-12-2015 22:19:44The Difference Between FAT32, exFAT, and NTFSFAT32: FAT32 is the oldest file system here. It was introduced all the way back in Windows 95 to replace the older FAT16 file system. Compatibility: Works with all versions of Windows, Mac, Linux, game consoles, and practically anything with a USB port. Limits: 4 GB maximum file size, 8 TB maximum partition size. Ideal Use: Use it on removable drives for maximum compatibility with the widest range of devices, assuming you dont have any files 4 GB or larger in size. NTFS: NTFS is the modern file system Windows likes to use. When you install Windows, it formats your system drive with the NTFS file system. NTFS has file size and partition size limits that are so theoretically huge you won't run up against them. NTFS first appeared in consumer versions of Windows with Windows XP. Compatibility: Works with all versions of Windows, but read-only with Mac by default, and may be read-only by default with some Linux distributions. Other devices - with the exception of Microsoft's Xbox One - probably won't support NTFS. Limits: No realistic file-size or partition size limits. Ideal Use: Use it for your Windows system drive and other internal drives that will just be used with Windows. exFAT: exFAT was introduced in 2006, and was added to older versions of Windows with updates to Windows XP and Windows Vista. Compatibility: Works with all versions of Windows and modern versions of Mac OS X, but requires additional software on Linux. More devices support exFAT than support NTFS, but some - particularly older ones - may only support FAT32. Limits: No realistic file-size or partition-size limits. Ideal Use: Use it for USB flash drives and other external drives, especially if you need files of over 4 GB in size. Assuming every device you want to use the drive with supports exFAT, you should format your device with exFAT instead of FAT32.
25-11-2015 16:14:02cygwin commandspwd - present working directory C:cygwinhomeAshish Ranjan (my home directory) touch - create empty file touch FirstTextFile.txt cd - change directory cd f: ls - listing of all the files in present directory cd ~ - change to home directory
25-11-2015 15:33:40CygwinCygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment. Thus it is possible to launch Windows applications from the Cygwin environment, as well as to use Cygwin tools and applications within the Windows operating context. Cygwin consists of two parts: a dynamic-link library (DLL) as an API compatibility layer providing a substantial part of the POSIX API functionality, and an extensive collection of software tools and applications that provide a Unix-like look and feel. Cygwin was originally developed by Cygnus Solutions, which was later acquired by Red Hat. It is free and open source software, released under the GNU General Public License version 3. Today it is maintained by employees of Red Hat, NetApp and many other volunteers.
17-11-2015 15:47:30WhatsApp is developed by using which languageWhatsapp uses the Erlang Programming Language. Erlang Programming Language was developed by telecom giant called Ericsson List of technologies they use OS: freeBSD Server : yaws Server application : custom ejabberd Language : erlang Technology : custom XMPP PHP for web Database : mnesia Encryption: RC4
11-11-2015 19:57:17lingua francaA lingua franca, also known as a bridge language, common language, trade language or vehicular language, is a language or dialect systematically (as opposed to occasionally, or casually) used to make communication possible between people who do not share a native language or dialect, in particular when it is a third language, distinct from both native languages. Lingua francas have developed around the world throughout human history, sometimes for commercial reasons (so-called trade languages) but also for cultural, religious, diplomatic and administrative convenience, and as a means of exchanging information between scientists and other scholars of different nationalities. The term originates with one such language, Mediterranean Lingua Franca.
07-11-2015 20:26:49Television Rating Point (TRP)Television Rating Point (TRP) is a tool provided to judge which programmes are viewed the most. This gives us an index of the choice of the people and also the popularity of a particular channel. For calculation purpose, a device is attached to the TV set in a few thousand viewers houses for judging purpose.
07-11-2015 19:33:56doctype &amp;&amp; quirksmodeA document type declaration, or DOCTYPE, is an instruction that associates a particular SGML (Standard Generalized Markup Language) or XML (Extensible Markup Language) document (for example, a webpage) with a document type definition (DTD) (for example, the formal definition of a particular version of HTML). In the serialized form of the document, it manifests as a short string of markup that conforms to a particular syntax. The HTML layout engines in modern web browsers perform DOCTYPE sniffing or switching, wherein the DOCTYPE in a document served as text/html determines a layout mode, such as quirks mode or standards mode. The text/html serialization of HTML5, which is not SGML-based, uses the DOCTYPE only for mode selection. Since web browsers are implemented with special-purpose HTML parsers, rather than general-purpose DTD-based parsers, they do not use DTDs and will never access them even if a URL is provided. The DOCTYPE is retained in HTML5 as a mostly useless, but required header only to trigger standards mode in common browsers. In computing, quirks mode refers to a technique used by some web browsers for the sake of maintaining backward compatibility with web pages designed for Internet Explorer 5 and earlier, instead of strictly complying with W3C and IETF standards in standards mode.
22-10-2015 03:15:26affine transformationIn geometry, an affine transformation, affine map or an affinity (from the Latin, affinis, connected with) is a function between affine spaces which preserves points, straight lines and planes. Also, sets of parallel lines remain parallel after an affine transformation. An affine transformation does not necessarily preserve angles between lines or distances between points, though it does preserve ratios of distances between points lying on a straight line. Examples of affine transformations include translation, scaling, homothety, similarity transformation, reflection, rotation, shear mapping, and compositions of them in any combination and sequence. For many purposes an affine space can be thought of as Euclidean space, though the concept of affine space is far more general (i.e., all Euclidean spaces are affine, but there are affine spaces that are non-Euclidean). In affine coordinates, which include Cartesian coordinates in Euclidean spaces, each output coordinate of an affine map is a linear function (in the sense of calculus) of all input coordinates. Another way to deal with affine transformations systematically is to select a point as the origin; then, any affine transformation is equivalent to a linear transformation (of position vectors) followed by a translation.
22-10-2015 01:54:11jagged arrayIn computer science, a jagged array, also known as a ragged array, is an array of arrays of which the member arrays can be of different sizes, producing rows of jagged edges when visualized as output. In contrast, C-styled arrays are always rectangular. Arrays of arrays in languages such as Java, Python (multidimensional lists), Ruby, Visual Basic.NET, Perl, PHP, JavaScript, Objective-C, Swift, and Atlas Autocode are implemented as Iliffe vectors.
17-10-2015 12:33:03GlassWireGlassWire is a commercial Personal Firewall and Network Monitor with a free and limited version, developed by SecureMix. The software includes a network security monitoring feature that alerts the user to online threats including changes in network related files, ARP spoofing, Proxy changes, DNS changes, Host File changes, and suspicious hosts. GlassWire visualizes all end-point network activity on an easy to use graph that helps the user understand what their computer is doing in the background. Users can block any network connection connection via the Firewall tab that shows a list of applications currently accessing the network along with what host they are currently communicating with. The GlassWire Usage tab show more detailed information about what hosts and applications are generating the most data over the network. GlassWire can alert the user if their device is getting close to using a certain amount of bandwidth so the user can stay under their ISP data limit. GlassWire was given a 4.5 out of 5 stars by PCWorld Magazine.
15-10-2015 01:37:13cross-browser-snippet-for-finding-the-size-of-the-browser-windowfunction browserWindowSize() { var browserWinWidth = 0, browserWinHeight = 0; if( typeof( window.innerWidth ) == number ) { //Non-IE browserWinWidth = window.innerWidth; browserWinHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in standards compliant mode browserWinWidth = document.documentElement.clientWidth; browserWinHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible browserWinWidth = document.body.clientWidth; browserWinHeight = document.body.clientHeight; } winW = browserWinWidth; winH = browserWinHeight; // alert( Browser Window Width = + browserWinWidth + Browser Window Height = +browserWinHeight); }
14-10-2015 23:35:09Contact Form 7Contact Form 7 is a free, simple and flexible (in WordPress this usually means there is a simple set-up for those who like it simple, and a lot of depth and complexity for people who like fiddling) contact form plugin by Takayuki Miyoshi. Some say that Contact Form 7 is one of the best form plugins for our favorite content management system. The plugin was last updated in February and has been downloaded 6,457,967 times in total. The plugin can handle multiple contact forms as well and supports AJAX submitting, CAPTCHA, Akismet spam filtering and file uploading. The latest version at the writing of this article is 3.1.1. The official website is ContactForm7.com. Download can be made from the WordPress Plugin Directory. Detailed documentation can be reached in the official docs.
09-10-2015 10:37:18SOAPSOAP, originally an acronym for Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of web services in computer networks. It uses XML Information Set for its message format, and relies on other application layer protocols, most notably Hypertext Transfer Protocol (HTTP) or Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission.
09-10-2015 10:34:55Representational state transfer (REST)In computing, Representational State Transfer (REST) is the software architectural style of the World Wide Web. REST gives a coordinated set of constraints to the design of components in a distributed hypermedia system that can lead to a higher performing and more maintainable architecture. To the extent that systems conform to the constraints of REST they can be called RESTful. RESTful systems typically, but not always, communicate over the Hypertext Transfer Protocol with the same HTTP verbs (GET, POST, PUT, DELETE, etc.) which web browsers use to retrieve web pages and to send data to remote servers. REST interfaces usually involve collections of resources with identifiers, for example /people/tom, which can be operated upon using standard verbs, such as DELETE /people/tom. REST was initially proposed by Roy Thomas Fielding in his 2000 PhD dissertation "Architectural Styles and the Design of Network-based Software Architectures". Fielding developed the REST architectural style in parallel with HTTP 1.1 of 1996-1999, based on the existing design of HTTP 1.0 of 1996.
19-09-2015 20:47:38What is the difference between these three events? The KeyDown event, The KeyUp event, The KeyPressThe KeyDown event is triggered when the user presses a Key. The KeyUp event is triggered when the user releases a Key. The KeyPress event is triggered when the user presses and releases a Key. (onKeyDown followed by onKeyUp) onkeydown is fired when the key is down (like in shortcuts; for example, in Ctrl+A, Ctrl is held down. onkeyup is fired when the key is released (including modifier/etc keys) onkeypress is fired as a combination of onkeydown and onkeyup, or depending on keyboard repeat (when onkeyup is not fired). textInput (webkit only) is fired when some text is entered (for example, Shift+A would enter uppercase A, but Ctrl+A would select text and not enter any text input. In that case, all other events are fired)
09-08-2015 03:33:01BluejackingBluejacking is the sending of unsolicited messages over Bluetooth to Bluetooth-enabled devices such as mobile phones, PDAs or laptop computers, sending a vCard which typically contains a message in the name field (i.e., for bluedating or bluechat) to another Bluetooth-enabled device via the OBEX protocol. Bluetooth has a very limited range, usually around 10 metres (32.8 ft) on mobile phones, but laptops can reach up to 100 metres (328 ft) with powerful (Class 1) transmitters.
09-08-2015 03:31:26OBEXOBEX (abbreviation of OBject EXchange, also termed IrOBEX) is a communications protocol that facilitates the exchange of binary objects between devices. It is maintained by the Infrared Data Association but has also been adopted by the Bluetooth Special Interest Group and the SyncML wing of the Open Mobile Alliance (OMA). One of OBEX_s earliest popular applications was in the Palm III personal digital assistant. This PDA and its many successors use OBEX to exchange business cards, data, even applications. Although OBEX was initially designed for infrared, it has now been adopted by Bluetooth, and is also used over RS-232, USB, WAP, and in devices such as Livescribe smartpens.
08-08-2015 20:39:50List of Bluetooth protocolsThe wireless data exchange standard Bluetooth uses a variety of protocols. Core protocols are defined by the trade organization Bluetooth SIG (The Bluetooth Special Interest Group (SIG) is the body that oversees the development of Bluetooth standards and the licensing of the Bluetooth technologies and trademarks to manufacturers. The SIG is a not-for-profit, non-stock corporation founded in September 1998. The SIG is headquartered in Kirkland, Washington. The SIG has local offices in Beijing, Seoul, Tokyo, and Malmo. The SIG does not make, manufacture or sell Bluetooth enabled products.). Additional protocols have been adopted from other standards bodies. The Bluetooth protocol stack is split in two parts: a controller stack containing the timing critical radio interface, and a host stack dealing with high level data. The controller stack is generally implemented in a low cost silicon device containing the Bluetooth radio and a microprocessor. The host stack is generally implemented as part of an operating system, or as an installable package on top of an operating system. For integrated devices such as Bluetooth headsets, the host stack and controller stack can be run on the same microprocessor to reduce mass production costs; this is known as a hostless system. => Controller stack =>=> Asynchronous connection-less [logical transport] (ACL) =>=> Synchronous connection-oriented (SCO) link =>=> Link manager protocol (LMP) =>=> Host controller interface (HCI) =>=> Low-energy link layer (LE LL) => Host stack =>=> Logical link control and adaptation protocol (L2CAP) =>=> Bluetooth network encapsulation protocol (BNEP) =>=> Radio frequency communication (RFCOMM) =>=> Service discovery protocol (SDP) =>=> Telephony Control Protocol Specification (TCS) =>=> Audio/video control transport protocol (AVCTP) =>=> Audio/video distribution transport protocol (AVDTP) =>=> Object exchange (OBEX) =>=> Low Energy Attribute Protocol (ATT) =>=> Low Energy Security Manager Protocol (SMP)
06-08-2015 14:40:30Android Big Three definitionsXML, Fields, Functions/Binding
04-08-2015 12:57:16Storing the data in android1. Shared Preferences: Primitive data storage (Boolean, Strings, ints etc.). 2. Internal Storage: Device memory storage. 3. External Storage: Store public data on storage media, like SD cards. 4. SQLite Database.
24-07-2015 12:43:20IntelliJ IDEAIntelliJ IDEA is a Java integrated development environment (IDE) for developing computer software. It is developed by JetBrains (formerly known as IntelliJ), and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition. IntelliJ IDEA is not based on Eclipse like MyEclipse or Oracle Enterprise Pack for Eclipse.
22-07-2015 23:39:18Scalable Vector Graphics (SVG)Scalable Vector Graphics (SVG) is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium (W3C) since 1999. SVG images and their behaviors are defined in XML text files. This means that they can be searched, indexed, scripted, and compressed. As XML files, SVG images can be created and edited with any text editor, but are more often created with drawing software. All major modern web browsers-including Mozilla Firefox, Internet Explorer, Google Chrome, Opera, and Safari-have at least some degree of SVG rendering support.
16-07-2015 19:40:29ArduinoArduino is an open-source computer hardware and software company, project and user community that designs and manufactures microcontroller-based kits for building digital devices and interactive objects that can sense and control the physical world. The project is based on a family of microcontroller board designs manufactured primarily by SmartProjects in Italy, and also by several other vendors, using various 8-bit Atmel AVR microcontrollers or 32-bit Atmel ARM processors. These systems provide sets of digital and analog I/O pins that can be interfaced to various expansion boards (shields) and other circuits. The boards feature serial communications interfaces, including USB on some models, for loading programs from personal computers. For programming the microcontrollers, the Arduino platform provides an integrated development environment (IDE) based on the Processing project, which includes support for C and C++ programming languages. The first Arduino was introduced in 2005, aiming to provide an inexpensive and easy way for novices and professionals to create devices that interact with their environment using sensors and actuators. Common examples of such devices intended for beginner hobbyists include simple robots, thermostats, and motion detectors. Arduino boards are available commercially in preassembled form, or as do-it-yourself kits. The hardware design specifications are openly available, allowing the Arduino boards to be manufactured by anyone. Adafruit Industries estimated in mid-2011 that over 300,000 official Arduinos had been commercially produced, and in 2013 that 700,000 official boards were in users hands.
16-07-2015 17:51:39MinGWMinGW (Minimalist GNU for Windows), formerly mingw32, is a free and open source development environment for Microsoft Windows applications. It includes a port of the GNU Compiler Collection (GCC), GNU Binutils for Windows (assembler, linker, archive manager), a set of freely distributable Windows specific header files and static import libraries which enable the use of the Windows API, a Windows native build of the GNU debugger, and miscellaneous utilities. MinGW does not rely on third-party C runtime DLL files, and because the runtime libraries are not distributed using GNU_s General Public License (GPL), it is not necessary to distribute the source code with the programs produced, unless a GPL library is used elsewhere in the program. MinGW can be run either on the native MS-Windows platform or cross-hosted on GNU/Linux. An alternative called MinGW-w64 was created by a different author to include several new APIs and provide 64-bit support.
16-07-2015 17:48:09VimVim, a contraction of Vi IMproved, is a clone of Bill Joy_s vi editor for Unix. It was written by Bram Moolenaar based on source for a port of the Stevie editor to the Amiga and first released publicly in 1991. Vim is designed for use both from a command-line interface and as a standalone application in a graphical user interface. Vim is free and open source software and is released under a license that includes some charity-ware clauses, encouraging users who enjoy the software to consider donating to children in Uganda. The license is compatible with the GNU General Public License. Although Vim was originally released for the Amiga, Vim has since been developed to be cross-platform, supporting many other platforms. In 2006, it was voted the most popular editor amongst Linux Journal readers.
16-07-2015 17:46:07CygwinCygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment. Thus it is possible to launch Windows applications from the Cygwin environment, as well as to use Cygwin tools and applications within the Windows operating context. Cygwin consists of two parts: a dynamic-link library (DLL) as an API compatibility layer providing a substantial part of the POSIX API functionality, and an extensive collection of software tools and applications that provide a Unix-like look and feel. Cygwin was originally developed by Cygnus Solutions, which was later acquired by Red Hat. It is free and open source software, released under the GNU General Public License version 3. Today it is maintained by employees of Red Hat, NetApp and many other volunteers.
16-07-2015 17:44:12GitGit is a distributed revision control system with an emphasis on speed, data integrity, and support for distributed, non-linear workflows. Git was initially designed and developed by Linus Torvalds for Linux kernel development in 2005, and has since become the most widely adopted version control system for software development. As with most other distributed revision control systems, and unlike most client-server systems, every Git working directory is a full-fledged repository with complete history and full version-tracking capabilities, independent of network access or a central server. Like the Linux kernel, Git is free software distributed under the terms of the GNU General Public License version 2.
16-07-2015 17:37:16The Apache HTTP ServerThe Apache HTTP Server, colloquially called Apache, is the world_s most widely used web server software. Originally based on the NCSA HTTPd server, development of Apache began in early 1995 after work on the NCSA code stalled. Apache played a key role in the initial growth of the World Wide Web, quickly overtaking NCSA HTTPd as the dominant HTTP server, and has remained the most popular HTTP server since April 1996. In 2009, it became the first web server software to serve more than 100 million websites.
16-07-2015 17:33:13Apache AntApache Ant is a software tool for automating software build processes. It originally came from the Apache Tomcat project in early 2000. It was a replacement for the unix make build tool, and was created due to a number of problems with the unix make. It is similar to Make but is implemented using the Java language, requires the Java platform, and is best suited to building Java projects. The most immediately noticeable difference between Ant and Make is that Ant uses XML to describe the build process and its dependencies, whereas Make uses Makefile format. By default the XML file is named build.xml. Ant is an Apache project. It is open source software, and is released under the Apache License. Make (software) - In software development, Make is a utility that automatically builds executable programs and libraries from source code by reading files called makefiles which specify how to derive the target program. Though integrated development environments and language-specific compiler features can also be used to manage a build process, Make remains widely used, especially in Unix. Besides building programs, Make can be used to manage any project where some files must be updated automatically from others whenever the others change.
16-07-2015 17:02:44Android Librariescore APIs; all Android devices will offer support for at least these APIs: == android.util == android.os == android.graphics == android.text == android.database == android.content == android.view == android.widget == com.google.android.maps == android.app == android.provider == android.telephony == android.webkit In addition to the Android APIs, the Android stack includes a set of C C++ libraries that are exposed through the application framework. These libraries include: == OpenGL == FreeType == SGL == libc == SQLite == SSL Advanced Android Libraries == android.location == android.media == android.opengl == android.hardware == android.bluetooth, android.net.wifi , and android.telephony
16-07-2015 16:38:35The Dalvik Virtual MachineOne of the key elements of Android is the Dalvik virtual machine. Rather than use a traditional Java virtual machine (VM) such as Java ME (Java Mobile Edition), Android uses its own custom VM designed to ensure that multiple instances run efficiently on a single device. The Dalvik VM uses the device_s underlying Linux kernel to handle low-level functionality including security, threading, and process and memory management. It_s also possible to write C-C++ applications that run directly on the underlying Linux OS. While we can do this, in most cases there_s no reason we should need to. All Android hardware and system service access is managed using Dalvik as a middle tier. By using a VM to host application execution, developers have an abstraction layer that ensures they never have to worry about a particular hardware implementation. The Dalvik VM executes Dalvik executable files, a format optimized to ensure minimal memory footprint. The .dex executables are created by transforming Java language compiled classes using the tools supplied within the SDK.
16-07-2015 15:55:18Dalvik Debug Monitor Service (DDMS)The Dalvik Debug Monitor Service (DDMS) is a debugging tool used in the Android platform. The Dalvik Debug Monitor Service is downloaded as part of the Android SDK. Some of the services provided by the DDMS are port forwarding, on-device screen capture, on-device thread and heap monitoring, and radio state information.
16-07-2015 10:45:46Symmetric vs. asymmetric algorithmsWhen using symmetric algorithms, both parties share the same key for en- and decryption. To provide privacy, this key needs to be kept secret. Once somebody else gets to know the key, it is not safe any more. Symmetric algorithms have the advantage of not consuming too much computing power. A few well-known examples are: DES, Triple-DES (3DES), IDEA, CAST5, BLOWFISH, TWOFISH. Asymmetric algorithms use pairs of keys. One is used for encryption and the other one for decryption. The decryption key is typically kept secretly, therefore called private key or secret key, while the encryption key is spread to all who might want to send encrypted messages, therefore called public key. Everybody having the public key is able to send encrypted messages to the owner of the secret key. The secret key can not be reconstructed from the public key. The idea of asymmetric algorithms was first published 1976 by Diffie and Hellmann. Asymmetric algorithms seem to be ideally suited for real-world use: As the secret key does not have to be shared, the risk of getting known is much smaller. Every user only needs to keep one secret key in secrecy and a collection of public keys, that only need to be protected against being changed. With symmetric keys, every pair of users would need to have an own shared secret key. Well-known asymmetric algorithms are RSA, DSA, ELGAMAL. However, asymmetric algorithms are much slower than symmetric ones. Therefore, in many applications, a combination of both is being used. The asymmetric keys are used for authentication and after this has been successfully done, one or more symmetric keys are generated and exchanged using the asymmetric encryption. This way the advantages of both algorithms can be used. Typical examples of this procedure are the RSA/IDEA combination of PGP2 or the DSA/BLOWFISH used by GnuPG.
10-07-2015 20:19:11What is HAXM?Intel(r) HAXM is the Intel Hardware Accelerated Execution Manager is a hardware-assisted virtualization engine (hypervisor) that uses Intel Virtualization Technology (Intel(r) VT) to speed up Android app emulation on a host machine. In combination with Android x86 emulator images provided by Intel and the official Android SDK Manager, HAXM allows for faster Android emulation on Intel VT enabled systems. The Intel HAXM driver runs inside the emulator as well as on the host machine. It runs on various versions of Windows, Linux and Mac OS.
10-07-2015 18:22:36IntelliJ IDEAIntelliJ IDEA is a Java integrated development environment (IDE) for developing computer software. It is developed by JetBrains (formerly known as IntelliJ), and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition. IntelliJ IDEA is not based on Eclipse like MyEclipse or Oracle Enterprise Pack for Eclipse.
08-07-2015 19:53:43AbandonwareAbandonware is a product, typically software, ignored by its owner and manufacturer, and for which no product support is available. Although such software is usually still under copyright, the owner may not be tracking or enforcing copyright violations. Abandonware is one case of the general concept of orphan works.
08-07-2015 19:51:11DOSBoxDOSBox is an emulator program that emulates an IBM PC compatible computer running a DOS operating system. Many IBM PC compatible graphics and sound cards are also emulated. This means that original DOS programs (including PC games) are provided an environment in which they can run correctly, even though the modern computers have dropped support for that old environment. DOSBox is free software written primarily in C++ and distributed under the GNU General Public License. DOSBox has been downloaded over 25 million times since its release on SourceForge in 2002. DOSBox can run old DOS software on modern computers which would not work otherwise, because of incompatibilities between the older software and modern hardware and operating systems. A number of usability enhancements have been added to DOSBox beyond emulating DOS. The added features include virtual hard drives, peer-to-peer networking, screen capture and screencasting from the emulated screen. Original DOSBox has not been updated in a long time. Active development is happening on forks of DOSBox. Forks such as SVN Daum and DOSBox-X provide additional features, which include support for save states and long filenames. A number of vintage DOS games have been re-released by video game developers to run on modern computers by encapsulating them inside DOSBox.
06-07-2015 23:55:17Video.jsVideo.js is a JavaScript and CSS library that makes it easier to work with and build on HTML5 video. This is also known as an HTML5 Video Player. Video.js provides a common controls skin built in HTML/CSS, fixes cross-browser inconsistencies, adds additional features like fullscreen and subtitles, manages the fallback to Flash or other playback technologies when HTML5 video isn't supported, and also provides a consistent JavaScript API for interacting with the video.
06-07-2015 23:47:26Less (stylesheet language)Less (sometimes stylized as LESS) is a dynamic style sheet language that can be compiled into Cascading Style Sheets (CSS) and run on the client-side or server-side. Designed by Alexis Sellier, Less is influenced by Sass and has influenced the newer "SCSS" syntax of Sass, which adapted its CSS-like block formatting syntax. Less is open-source. Its first version was written in Ruby, however in the later versions, use of Ruby has been deprecated and replaced by JavaScript. The indented syntax of Less is a nested metalanguage, as valid CSS is valid Less code with the same semantics. Less provides the following mechanisms: variables, nesting, mixins, operators and functions; the main difference between Less and other CSS precompilers being that Less allows real-time compilation via less.js by the browser.
30-06-2015 14:47:31Windows SysinternalsWindows Sysinternals is a part of the Microsoft TechNet website which offers technical resources and utilities to manage, diagnose, troubleshoot, and monitor a Microsoft Windows environment. Originally, the Sysinternals website (formerly known as Winternals) was created in 1996 and was operated by the company Winternals Software LP, which was located in Austin, Texas. It was started by software developers Bryce Cogswell and Mark Russinovich. Microsoft acquired Winternals and its assets on July 18, 2006. The website featured several freeware tools to administer and monitor computers running Microsoft Windows. The software can now be found at Microsoft. The company also sold data recovery utilities and professional editions of their freeware tools.
30-06-2015 13:03:47windows.hwindows.h is a Windows-specific header file for the C/C++ programming language which contains declarations for all of the functions in the Windows API, all the common macros used by Windows programmers, and all the data types used by the various functions and subsystems. It defines a very large number of Windows specific functions that can be used in C. The Win32 API can be added to a C programming project by including the windows.h header file and linking to the appropriate libraries. To use functions in xxxx.dll, the program must be linked to xxxx.lib (or libxxxx.dll.a in MinGW). Some headers are not associated with a .dll but with a static library (e.g. scrnsave.h needs scrnsave.lib). MinGW (Minimalist GNU for Windows), formerly mingw32, is a free and open source development environment for Microsoft Windows applications. It includes a port of the GNU Compiler Collection (GCC), GNU Binutils for Windows (assembler, linker, archive manager), a set of freely distributable Windows specific header files and static import libraries which enable the use of the Windows API, a Windows native build of the GNU debugger, and miscellaneous utilities. MinGW does not rely on third-party C runtime DLL files, and because the runtime libraries are not distributed using GNU's General Public License (GPL), it is not necessary to distribute the source code with the programs produced, unless a GPL library is used elsewhere in the program. MinGW can be run either on the native MS-Windows platform or cross-hosted on GNU/Linux. An independent reimplementation called MinGW-w64 was created by a different author to include several new APIs and provide 64-bit support.
30-06-2015 12:07:55Problem Steps RecorderSteps Recorder is a tool available in Windows 8 and Windows 7 that helps you document an issue with your computer so someone else can help you troubleshoot it and figure out whatz wrong. With Steps Recorder, formerly called Problem Steps Recorder or PSR, a recording is made of the actions you take on your computer which you can then send to the person or group helping you with your problem. Making a recording with Steps Recorder is extremely easy to do which is a big reason itz such a valuable tool. Steps Recorder is only available in Windows 8 (as well as Windows 8.1) and Windows 7. Open it with WinKey+R psr There is an option to add comments too and an option for setting no of screen shots to be captured.
29-06-2015 13:18:09Northwind DatabaseNorthwind Database is a sample database that is shipped along with Microsoft Access application. Basically, the database is about a company named "Northwind Traders". The database captures all the sales transactions that occurs between the company i.e. Northwind traders and its customers as well as the purchase transactions between Northwind and its suppliers. It contains the following detailed information : Suppliers/Vendors of Northwind - who supply to the company. Customers of Northwind - who buy from Northwind Employee details of Northwind traders - who work for Northwind The product information - the products that Northwind trades in The inventory details - the details of the inventory held by Northwind traders. The shippers - details of the shippers who ship the products from the traders to the end-customers PO transactions i.e Purchase Order transactions - details of the transactions taking place between vendors & the company. Sales Order transaction - details of the transactions taking place between the customers and the company. Inventory transactions - details of the transactions taking place in the inventory Invoices - details of the invoice raised against the order. Entity/Transactions(No. of Tables) Suppliers(1) Customers(1) Employees(3) Products(1) Inventory(2) Shippers(1) PO Transactions(3) Sales Transactions(7) Others (Strings)(1) All these information is held in different tables. The tables have been appropriately named - hence you wont have a problem identifying which table contains which information.
24-06-2015 18:35:19Fourth-generation programming languageA fourth-generation programming language (4GL) is a computer programming language envisioned as a refinement of the style of languages classified as third-generation programming language (3GL). Each of the programming language generations aims to provide a higher level of abstraction of the internal computer hardware details, making the language more programmer-friendly, powerful and versatile. While the definition of 4GL has changed over time, it can be typified by operating more with large collections of information at once rather than focus on just bits and bytes. Languages claimed to be 4GL may include support for database management, report generation, mathematical optimization, GUI development, or web development. Fourth-generation languages have often been compared to domain-specific languages (DSLs). Some researchers state that 4GLs are a subset of DSLs. The concept of 4GL was developed from the 1970s through the 1990s, overlapping most of the development of 3GL. While 3GLs like C, C++, C#, Java, and JavaScript remain popular for a wide variety of uses, 4GLs as originally defined found narrower uses. Some advanced 3GLs like Python, Ruby, and Perl combine some 4GL abilities within a general-purpose 3GL environment. Also, libraries with 4GL-like features have been developed as add-ons for most popular 3GLs. This has blurred the distinction of 4GL and 3GL. In the 1980s and 1990s, there were efforts to develop fifth-generation programming languages (5GL).
23-06-2015 19:16:00AJAX - Asynchronous JavaScript and XMLAjax (Asynchronous JavaScript and XML) is a group of interrelated Web development techniques used on the client-side to create asynchronous Web applications. With Ajax, web applications can send data to and retrieve from a server asynchronously (in the background) without interfering with the display and behavior of the existing page. Data can be retrieved using the XMLHttpRequest object. Despite the name, the use of XML is not required (JSON - JavaScript Object Notation, is often used in the AJAJ - Asynchronous JavaScript and JSON, variant), and the requests do not need to be asynchronous. Ajax is not a single technology, but a group of technologies. HTML and CSS can be used in combination to mark up and style information. The DOM - Document Object Model, is accessed with JavaScript to dynamically display - and allow the user to interact with - the information presented. JavaScript and the XMLHttpRequest object provide a method for exchanging data asynchronously between browser and server to avoid full page reloads.
23-06-2015 19:11:59Google SuggestGoogle Suggest is a service that provides real-time keyword suggestions as users type in the search box. On the server side, Google Suggest use a wide range of information retrieval algorithms to predict the queries users are most likely to want to see. For example, Google Suggest uses data about the overall popularity of various searches to help rank the refinements it offers. Google Suggest makes heavy use of AJAX technolgoies, and the following is a brief summary of these technologies and their corresponding roles: CSS High-lighting of selected suggestion XML Server sends the suggestions in XML format XMLHTTPRequest Object for Asynchronous communication between Google Suggest back-end server and front-end interface DOM Keypress Handler up arrow: move up the cursor by changing the style/className of span down arrow: move down the cursor by changing the style/className of span tab key: fill the input field with the selected suggestion and hide the suggestion list backspace key: if present in cache, display the cached suggestions; otherwise, send a new XMLHTTPRequest Mouse Handler mouseover: high-light a suggestion by changing the className mouseout: restore style by changing the className mousedown: fill the input field with the selected suggestion and hide the suggestion list XMLHTTPRequest onreadystatechange Handler dynamically display suggestion list XML Parser parse the XML file retrieved from the server and make it accessible by the XMLHTTPRequest onreadystatechange handler Javascript Make the above technologies possible
23-06-2015 17:28:47SQL injectionSQL injection is a code injection technique, used to attack data-driven applications, in which malicious SQL statements are inserted into an entry field for execution (e.g. to dump the database contents to the attacker). SQL injection must exploit a security vulnerability in an application_s software, for example, when user input is either incorrectly filtered for string literal escape characters embedded in SQL statements or user input is not strongly typed and unexpectedly executed. SQL injection is mostly known as an attack vector for websites but can be used to attack any type of SQL database. In a 2012 study, security company Imperva observed that the average web application received 4 attack campaigns per month, and retailers received twice as many attacks as other industries.
23-06-2015 16:15:13Prepared statementIn database management systems, a prepared statement or parameterized statement is a feature used to execute the same or similar database statements repeatedly with high efficiency. Typically used with SQL statements such as queries or updates, the prepared statement takes the form of a template into which certain constant values are substituted during each execution. The typical workflow: 1. Prepare: The statement template is created by the application and sent to the database management system (DBMS). Certain values are left unspecified, called parameters, placeholders or bind variables (labelled ? below): INSERT INTO PRODUCT (name, price) VALUES (?, ?) 2. The DBMS parses, compiles, and performs query optimization on the statement template, and stores the result without executing it. 3. Execute: At a later time, the application supplies (or binds) values for the parameters, and the DBMS executes the statement (possibly returning a result). The application may execute the statement as many times as it wants with different values. As compared to executing SQL statements directly, prepared statements offer two main advantages: 1. The overhead of compiling and optimizing the statement is incurred only once, although the statement is executed multiple times. Not all optimization can be performed at the time the prepared statement is compiled, for two reasons: the best plan may depend on the specific values of the parameters, and the best plan may change as tables and indexes change over time. 2. Prepared statements are resilient against SQL injection, because parameter values, which are transmitted later using a different protocol, need not be correctly escaped. If the original statement template is not derived from external input, SQL injection cannot occur. On the other hand, if a query is executed only once, server-side prepared statements can be slower because of the additional round-trip to the server. Implementation limitations may also lead to performance penalties: some versions of MySQL did not cache results of prepared queries, and some DBMSs such as PostgreSQL do not perform additional query optimization during execution. A stored procedure, which is also precompiled and stored on the server for later execution, has similar advantages. Unlike a stored procedure, a prepared statement is not normally written in a procedural language and cannot use or modify variables or use control flow structures, relying instead on the declarative database query language. Due to their simplicity and client-side emulation, prepared statements are more portable across vendors.
18-06-2015 16:28:54SQLiteSQLite is a relational database management system contained in a C programming library. In contrast to many other database management systems, SQLite is not a client-server database engine. Rather, it is embedded into the end program. SQLite is ACID(Atomicity, Consistency, Isolation, Durability)-compliant and implements most of the SQL standard, using a dynamically and weakly typed SQL syntax that does not guarantee the domain integrity. SQLite is a popular choice as embedded database software for local/client storage in application software such as web browsers. It is arguably the most widely deployed database engine, as it is used today by several widespread browsers, operating systems, and embedded systems, among others. SQLite has bindings to many programming languages. The source code for SQLite is in the public domain. SQLite is deployed with every Android and iPhone device along with the Chrome and Firefox browsers. In the second quarter of 2013 alone, 213 million smartphones shipped, of which 200 million were Android and iOS.
16-06-2015 18:25:56ROBOTCROBOTC (trademarked as ROBOTC and frequently spelled RobotC) is a commercial Integrated development environment targeted towards students that is used to program and control LEGO EV3, VEX, LEGO NXT, RCX, and Arduino robots using a programming language based on the ANSI C programming language. It allows users to move a code from one platform to another with little or no change in code.
09-05-2015 08:32:26The Spring FrameworkThe Spring Framework is an open source application framework and inversion of control container for the Java platform. The framework_s core features can be used by any Java application, but there are extensions for building web applications on top of the Java EE platform. Although the framework does not impose any specific programming model, it has become popular in the Java community as an alternative to, replacement for, or even addition to the Enterprise JavaBean (EJB) model.
07-05-2015 06:13:58Garry KasparovGarry Kimovich Kasparov born Garik Kimovich Weinstein, 13 April 1963) is a Russian (formerly Soviet) chess Grandmaster, former World Chess Champion, writer, and political activist, considered by many to be the greatest chess player of all time. From 1986 until his retirement in 2005, Kasparov was ranked world No. 1 for 225 out of 228 months. His peak rating of 2851, achieved in 1999, was the highest recorded until being passed by Magnus Carlsen in 2013. Kasparov also holds records for consecutive professional tournament victories (15) and Chess Oscars (11). Kasparov became the youngest ever undisputed World Chess Champion in 1985 at age 22 by defeating then-champion Anatoly Karpov. He held the official FIDE world title until 1993, when a dispute with FIDE led him to set up a rival organization, the Professional Chess Association. In 1997 he became the first world champion to lose a match to a computer under standard time controls, when he lost to the IBM supercomputer Deep Blue in a highly publicized match. He continued to hold the Classical World Chess Championship until his defeat by Vladimir Kramnik in 2000.
29-04-2015 17:49:10Microsoft AzureMicrosoft Azure (formerly Windows Azure before 25 March 2014) is a cloud computing platform and infrastructure, created by Microsoft, for building, deploying and managing applications and services through a global network of Microsoft-managed data centers. It provides both PaaS and IaaS services and supports many different programming languages, tools and frameworks, including both Microsoft-specific and third-party software and systems. Azure was released on 1 February 2010. PaaS - Platform as a service (PaaS) is a category of cloud computing services that provides a platform allowing customers to develop, run and manage Web applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app. PaaS can be delivered in two ways: as a public cloud service from a provider, where the consumer controls software deployment and configuration settings, and the provider provides the networks, servers, storage and other services to host the consumer_s application; or as software installed in private data centers or public infrastructure as a service and managed by internal IT departments. IaaS - Infrastructure as a service (IaaS) - In the most basic cloud-service model & according to the IETF (Internet Engineering Task Force), providers of IaaS offer computers - physical or (more often) virtual machines - and other resources. (A hypervisor, such as Xen, Oracle VirtualBox, KVM, VMware ESX/ESXi, or Hyper-V or cloud.ca runs the virtual machines as guests. Pools of hypervisors within the cloud operational support-system can support large numbers of virtual machines and the ability to scale services up and down according to customers varying requirements.) IaaS clouds often offer additional resources such as a virtual-machine disk image library, raw block storage, and file or object storage, firewalls, load balancers, IP addresses, virtual local area networks (VLANs), and software bundles. IaaS-cloud providers supply these resources on-demand from their large pools installed in data centers. For wide-area connectivity, customers can use either the Internet or carrier clouds (dedicated virtual private networks).
16-03-2015 22:36:38RadixIn mathematical numeral systems, the radix or base is the number of unique digits, including zero, used to represent numbers in a positional numeral system. For example, for the decimal system (the most common system in use today) the radix is ten, because it uses the ten digits from 0 through 9.
24-02-2015 19:41:59Yellowdog Update, Modified (YUM)Yellowdog Update, Modified (YUM) is a program that manages installation, updates and removal for Red Hat package manager (RPM) systems. YUM allows the user to update groups of machines without having to update each RPM separately.
19-02-2015 12:20:43IBM MobileFirst Platform FoundationIBM MobileFirst Platform Foundation, formerly known as IBM Worklight, helps organizations extend their business to mobile devices. It provides an open and comprehensive platform to not only build, but test, run and manage native, hybrid and mobile web apps. Available as an on premises or private cloud solution, IBM MobileFirst Foundation can help reduce both application development and maintenance costs, improve time-to-market and enhance mobile application governance and security. IBM MobileFirst Foundation is comprised of five components: 1. IBM MobileFirst Studio offers leading tools for mobile app development that help maximize code reuse and accelerate development. 2. IBM MobileFirst Server is mobile-optimized middleware that serves as a gateway between applications, back-end systems and cloud-based services. 3. IBM MobileFirst Device Runtime Components offer runtime client application program interfaces (API) designed to enhance security, governance and usability. 4. IBM MobileFirst Application Center enables you to set up an enterprise app store that manages the distribution of production-ready mobile apps. 5. IBM MobileFirst Console is an administrative GUI designed to provide real-time operational analytics for the server, adapters, and applications and push services to help you manage, monitor and instrument mobile apps. With IBM MobileFirst Foundation you can: - Build apps for any mobile operating environment and device with your preferred development approach - native, hybrid or mobile web. - Connect and synchronize mobile apps with enterprise data, applications and cloud services, including IBM BlueMix. - Safeguard mobile security at the device, application, data and network layer. - Manage your mobile app portfolio from a single central interface with detailed operational analytics. IBM Bluemix is a cloud platform as a service (PaaS) developed by IBM. It supports several programming languages and services as well as integrated DevOps to build, run, deploy and manage applications on the cloud. Bluemix is based on Cloud Foundry open technology and runs on SoftLayer infrastructure. Bluemix supports Java, Node.js, Go, PHP, Python, Ruby Sinatra, Ruby on Rails and can be extended to support other languages such as Scala through the use of buildpacks. It took a team of people located in different places only 18 months to build Bluemix from initial concept to public availability. It was announced as a public beta in February 2014 and generally available in June. At the time of the announcement, Bluemix was one of the largest Cloud Foundry deployments in the world.
16-02-2015 16:48:32What does rt.jar stand for in Java/JDK/JRE?The most likely answer is, rt stands for RunTime. Some tend to think it stands for RooT, since this jar contains all java build-in classes.
16-02-2015 16:45:45rt.jarrt.jar contains all the RunTime classes that comprise the Java SE platform's core API's. In simple terms this is the jar which contains classes like java.lag.String, java.io package etc. The source code for these API's can be found in src.zip file in JAVA_HOME. Since all the classes in the rt.jar are known to the JVM, these classes tend to be left alone with various checks that JVM does while loading these classes onto it. This is also done for various performance reasons. These jars are loaded by primodial class loaders and that's the reason these classes avoid the basic security checks which the JVM does for other jars/classes.
13-02-2015 16:10:55JavaServer Faces (JSF)JavaServer Faces (JSF) is a Java specification for building component-based user interfaces for web applications and exposing them as server side Polyfills. It was formalized as a standard through the Java Community Process and is part of the Java Platform, Enterprise Edition. JSF 2 uses Facelets as its default templating system. Other view technologies such as XUL can also be employed. In contrast, JSF 1.x uses JavaServer Pages (JSP) as its default templating system. Polyfills - In web development, a polyfill (or polyfiller) is downloadable code which provides facilities that are not built into a web browser. It implements technology that a developer expects the browser to provide natively, providing a more uniform API landscape. For example, many features of HTML5 are not supported by versions of Internet Explorer older than version 8 or 9, but can be used by web pages if those pages install a polyfill. Web shims and HTML5 Shivs are related concepts. In computing, Facelets is an open source Web template system under the Apache license and the default view handler technology (aka view declaration language) for JavaServer Faces (JSF). The language requires valid input XML documents to work. Facelets supports all of the JSF UI components and focuses completely on building the JSF component tree, reflecting the view for a JSF application.
13-02-2015 11:30:37Google Guide For Technical DevelopmentHaving a solid foundation in Computer Science is important in being a successful Software Engineer. This guide is a suggested path for University students to develop their technical skills academically and non-academically through self paced hands-on learning. You may use this guide to determine courses to take but please make sure you are taking courses required for your major or faculty in order to graduate. The online resources provided in this guide are not meant to replace courses available at your University. However, they may help supplement your learnings or provide an introduction to the topic. Recommendations for Academic Learnings - Introduction to CS Course - Code in at least one object oriented programming language: C++, Java, or Python - Learn other Programming Languages - Test Your Code - Develop logical reasoning and knowledge of discrete math - Develop strong understanding of Algorithms and Data Structures - Develop a strong knowledge of operating systems - Learn Artificial Intelligence Online Resources: - Learn how to build compilers - Learn cryptography - Learn Parallel Programming Recommendations for Non-Academic Learnings - Work on project outside of the classroom. - Work on a small piece of a large system (codebase), read and understand existing code, track down documentation, and debug things. - Work on project with other programmers. - Practice your algorithmic knowledge and coding skills - Become a Teaching Assistant - Internship experience in software engineering
12-02-2015 20:59:479 Things You Need To Stop Doing If You Want To Be Successful1. Stop Expecting Perfection 2. Stop Saying Yes When You Want to Say No 3. Stop Negative Self-Dialogue 4. Stop Focusing On Just Today 5. Stop Ignoring Your Goals 6. Stop Isolating People 7. Stop Comparing Yourself To Everyone Else 8. Stop Living In The Past 9. Stop Tolerating Dishonest People
12-02-2015 16:52:49Java is always Pass-by-Value, Dammit!Java is always pass-by-value. The difficult thing to understand is that Java passes objects as references and those references are passed by value. It goes like this: public static void main( String[] args ){ Dog aDog = new Dog("Max"); foo(aDog); if( aDog.getName().equals("Max") ){ //true System.out.println( "Java passes by value." ); }else if( aDog.getName().equals("Fifi") ){ System.out.println( "Java passes by reference." ); } } public static void foo(Dog d) { d.getName().equals("Max"); // true d = new Dog("Fifi"); d.getName().equals("Fifi"); // true } In this example aDog.getName() will still return "Max". The value aDog within main is not overwritten in the function foo with the Dog "Fifi" as the object reference is passed by value. If it were passed by reference, then the aDog.getName() in main would return "Fifi" after the call to foo. Likewise: Dog aDog = new Dog("Max"); foo(aDog); aDog.getName().equals("Fifi"); // true public void foo(Dog d) { d.getName().equals("Max"); // true d.setName("Fifi"); }
12-02-2015 16:24:11JDBC DriverJDBC Driver is a software component that enables java application to interact with the database. There are 4 types of JDBC drivers: 1. JDBC-ODBC bridge driver 2. Native-API driver (partially java driver) 3. Network Protocol driver (fully java driver) 4. Thin driver (fully java driver)
11-02-2015 20:22:35JUnitJUnit is a unit testing framework for the Java programming language. JUnit has been important in the development of test-driven development, and is one of a family of unit testing frameworks which is collectively known as xUnit that originated with SUnit. JUnit is linked as a JAR at compile-time; the framework resides under package junit.framework for JUnit 3.8 and earlier, and under package org.junit for JUnit 4 and later. A research survey performed in 2013 across 10,000 GitHub projects found that JUnit, along with slf4j-api, are the most popular libraries. Each library was used by 30.7% of projects.
11-02-2015 16:10:13JConsoleJConsole is a graphical monitoring tool to monitor Java Virtual Machine (JVM) and Java applications both on a local or remote machine. JConsole uses underlying features of Java Virtual Machine to provide information on performance and resource consumption of applications running on the Java platform using Java Management Extensions (JMX) technology. JConsole comes as part of Java Development Kit (JDK) and the graphical console can be started using "jconsole" command. Java Management Extensions (JMX) is a Java technology that supplies tools for managing and monitoring applications, system objects, devices (e.g. printers) and service-oriented networks. Those resources are represented by objects called MBeans (for Managed Bean). In the API, classes can be dynamically loaded and instantiated. Managing and monitoring applications can be designed and developed using the Java Dynamic Management Kit. JMX 1.0, 1.1 and 1.2 were defined by JSR 003 of the Java Community Process. As of 2014, JMX 2.0 is being developed under JSR 255 but the development has been halted. The JMX Remote API 1.0 for remote management and monitoring is specified by JSR 160. An extension of the JMX Remote API for Web Services is being developed under JSR 262. Adopted early on by the J2EE community, JMX has been a part of J2SE since version 5.0. It is a trademark of Oracle Corporation.
08-02-2015 04:14:51KryoNetKryoNet is a Java library that provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO. KryoNet uses the Kryo serialization library to automatically and efficiently transfer object graphs across the network. KryoNet runs on both the desktop and on Android. KryoNet is ideal for any client/server application. It is very efficient, so is especially good for games. KryoNet can also be useful for inter-process communication. Running a server Connecting a client Registering classes TCP and UDP Buffer sizes Threading LAN server discovery Pluggable Serialization Logging Remote Method Invocation (RMI) KryoNet versus ? Maven Build Further reading
30-01-2015 16:10:39jLibraryjLibrary is a CMS engine oriented both for personal and enterprise use. The variety of functions and possibilities available make jLibrary a very flexible system that can almost be used for any information management purpose. In the following listing you can find some of its most notable features: => Support for local and remote repositories => Interoperability => Standards compatible => Categorization => Relationships => Favorites => Document metadata => Annotations => Multiple editors => Resources management => Repository import/export => Search => Web browsing => Web spidering
30-01-2015 16:03:10Selenium (software)Selenium is a portable software testing framework for web applications. Selenium provides a record/playback tool for authoring tests without learning a test scripting language (Selenium IDE). It also provides a test domain-specific language (Selenese) to write tests in a number of popular programming languages, including Java, C#, Groovy, Perl, PHP, Python and Ruby. The tests can then be run against most modern web browsers. Selenium deploys on Windows, Linux, and Macintosh platforms. It is open-source software, released under the Apache 2.0 license, and can be downloaded and used without charge.
23-01-2015 17:29:29NetlibNetlib is a repository of software for scientific computing maintained by AT&T, Bell Laboratories, the University of Tennessee and Oak Ridge National Laboratory. Netlib comprises a large number of separate programs and libraries. Most of the code is written in Fortran, with some programs in other languages.
22-01-2015 22:46:30J++Microsoft released a product called J++ with a programming language and virtual machine that was almost identical to Java. At this point, Microsoft is no longer supporting J++ and has instead introduced another language called C# that also has many similarities with Java but runs on a different virtual machine. There is even a J# for migrating J++ applications to the virtual machine used by C#.
22-01-2015 22:01:35Java main method without publicSeveral versions of the Java launcher were willing to execute Java programs even when the main method was not public. A programmer filed a bug report. To see it, visit http://bugs.sun.com/bugdatabase/index.jsp and enter the bug identification number 4252539. That bug was marked as "closed, will not be fixed." A Sun engineer added an explanation that the Java Virtual Machine Specification (at http://docs.oracle.com/javase/specs/jvms/se7/html) does not mandate that main is public and that "fixing it will cause potential troubles." The Java launcher in Java SE 1.4 and beyond enforces that the main method is public.
22-01-2015 21:45:43javap - The Java Class File DisassemblerThe javap command disassembles a class file. Its output depends on the options used. If no options are used, javap prints out the package, protected, and public fields and methods of the classes passed to it. javap prints its output to stdout.
18-01-2015 11:20:56Swift (programming language)Swift is a multi-paradigm compiled programming language created by Apple for iOS and OS X development. Introduced at Apple's 2014 Worldwide Developers Conference, Swift is designed to work with Apple's Cocoa and Cocoa Touch frameworks and the large body of existing Objective-C code written for Apple products. Swift is intended to be more resilient to erroneous code ("safer") than Objective-C, and also more concise (the same idea can be expressed with a smaller quantity of code). It is built with the LLVM compiler framework included in Xcode 6, and uses the Objective-C runtime, allowing C, Objective-C, C++ and Swift code to run within a single program. Xcode is an integrated development environment (IDE) containing a suite of software development tools developed by Apple for developing software for OS X and iOS. First released in 2003, the latest stable release is version 6.1 and is available via the Mac App Store free of charge for Mac OS X Lion, OS X Mountain Lion, OS X Mavericks and OS X Yosemite users. Registered developers can download preview releases and previous versions of the suite through the Apple Developer website. However, Apple recently made a beta version of version 6.x of the software available to those of the public with Apple Developer accounts. The LLVM compiler infrastructure project (formerly Low Level Virtual Machine) is a compiler infrastructure designed as a set of reusable libraries with well-defined interfaces. It is written in C++ and is designed for compile-time, link-time, run-time, and "idle-time" optimization of programs written in arbitrary programming languages. Originally implemented for C and C++, the language-agnostic design (and the success) of LLVM has since spawned a wide variety of front ends: languages with compilers that use LLVM include Common Lisp, ActionScript, Ada, D, Fortran, Ocaml, OpenGL Shading Language, Go, Haskell, Java bytecode, Julia, Objective-C, Swift, Python, Ruby, Rust, Scala, C# and Lua.
18-01-2015 11:02:44Agile software developmentAgile software development is a group of software development methods in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change. The Manifesto for Agile Software Development, also known as the Agile Manifesto, which first laid out the underlying concepts of Agile development, introduced the term in 2001. 12 Principles behind the Agile Manifesto => Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. => Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. => Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. => Business people and developers must work together daily throughout the project. => Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. => The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. => Working software is the primary measure of progress. => Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. => Continuous attention to technical excellence and good design enhances agility. => Simplicity--the art of maximizing the amount of work not done--is essential. => The best architectures, requirements, and designs emerge from self-organizing teams. => At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
15-01-2015 18:01:07ZamzarZamzar is a web application to convert files. It was created by brothers Mike and Chris Whyley in England. It allows user to convert files without downloading a software tool, and supports over 1,000 different conversion types. Users can type in a URL or upload one or more files (if they are all of the same format) from their computer, Zamzar then converts the file(s) to another user-specified format. For example, from an Adobe PDF file to a Microsoft Word document. Users receive an email with a URL from where they can download the converted file. It is also possible to send files for conversion by emailing them to Zamzar.
15-01-2015 13:41:35Fire OSFire OS is a Linux kernel-based mobile operating system produced by Amazon for its Fire Phone and Kindle Fire range of tablets, and other content delivery devices like the Fire TV. It is forked from Android. Fire OS primarily centers on content consumption, with a customized user interface and heavy ties to content available from Amazon's own storefronts and services.
15-01-2015 13:23:28Fork (software development)In software engineering, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software. The term often implies not merely a development branch, but a split in the developer community, a form of schism. Free and open-source software is that which, by definition, may be forked from the original development team without prior permission without violating any copyright law. However, licensed forks of proprietary software (e.g. Unix) also happen.
15-01-2015 13:16:03EPUBReader:: Firefox Add OnWith EPUBReader you can read ePub files just in Firefox. No additional software needed!
15-01-2015 12:48:04Amazon KindleThe Amazon Kindle is a series of e-book readers designed and marketed by Amazon.com. Amazon Kindle devices enable users to shop for, download, browse, and read e-books, newspapers, magazines and other digital media via wireless networking. The hardware platform, developed by Amazon.com subsidiary Lab126, began as a single device and now comprises a range of devices, including dedicated e-readers with E Ink electronic paper displays, and Android-based tablets with color LCD screens. There are currently about 3 million books in the Kindle book store. Lab126, Inc is a subsidiary of Amazon.com, widely known for developing Amazon's Kindle devices. It is based in Cupertino, California and is led by Gregg Zehr. In addition to the Kindle, Lab126 is developing other "easy-to-use, highly integrated consumer products to serve Amazon customers". In 2014, Lab126 developed the Amazon Fire TV set-top device. In June 2014, the Lab126-developed Fire Phone was announced with cameras to track the user's eyes to give the impression of 3D. The Fire Phone is a 3D-enabled smartphone designed and developed by Amazon.com. It was announced on June 18, 2014, and marks Amazon's first foray into the smartphone market, following the success of the Kindle Fire tablets running the Fire OS operating system. It was available for pre-order on the day it was announced. In the United States, it launched as an AT&T exclusive on July 25, 2014. The phone is notable for its hallmark feature "Dynamic Perspective": using four front-facing cameras and the gyroscope to track the user's movements, the OS adjusts the UI so that it gives the impression of depth and 3D. Other notable Amazon services on the phone include X-Ray, used for identifying and finding information about media; Mayday, the 24-hour customer service tool; and Firefly, a tool that automatically recognizes text, sounds, and objects, then offering a way to buy recognized items through Amazon's online store. Amazon has not released sales figures for any of its devices, but based in part on its quickly declining prices and the announced $170 million write-down of costs associated with the phone, analysts have judged that it has not been commercially successful.
13-01-2015 14:06:31Extensions to the Java collections frameworkJava collections framework is extended by the Apache Commons Collections library, which adds collection types such as a bag and bidirectional map, as well utilities for creating unions and intersections. Google has released its own collections libraries as part of the guava libraries.
13-01-2015 13:51:57Google GuavaThe Google Guava is an open-source set of common libraries for Java, mainly developed by Google engineers.
13-01-2015 13:51:12Apache CommonsThe Apache Commons is a project of the Apache Software Foundation, formerly under the Jakarta Project. The purpose of the Commons is to provide reusable, open source Java software. The Commons is composed of three parts: proper, sandbox, and dormant.
13-01-2015 13:50:05Java collections framework (JCF)The Java collections framework (JCF) is a set of classes and interfaces that implement commonly reusable collection data structures. Although referred to as a framework, it works in a manner of a library. The JCF provides both interfaces that define various collections and classes that implement them.
13-01-2015 13:48:07Generics in JavaGenerics are a facility of generic programming that were added to the Java programming language in 2004 within J2SE 5.0. They allow "a type or method to operate on objects of various types while providing compile-time type safety." This feature specifies the type of objects stored in a Java Collection. In the year 1998, Philip Wadler created Generic Java, an extension to the Java language to support generic types. Generic Java was incorporated, with the addition of wildcards, into the official Java language version J2SE 5.0.
13-01-2015 13:46:28Pizza (programming language)Pizza is an open-source superset of the Java programming language with the following new features: => Generics => Function pointers => Case classes and pattern matching (a.k.a. Algebraic types) In August 2001, the developers made a compiler capable of working with Java. Most Pizza applications can run in a Java environment, but certain cases will cause problems. Work on Pizza has more or less stopped since 2002. Its main developers have concentrated instead on the Generic Java project, another attempt to add generics to Java which was eventually adopted into the official language version 1.5. The pattern matching and other functional programming-like features have been further developed in the Scala programming language. Martin Odersky remarked, "we wanted to integrate the functional and object-oriented parts in a cleaner way than what we were able to achieve before with the Pizza language. [...] In Pizza we did a clunkier attempt, and in Scala I think we achieved a much smoother integration between the two."
13-01-2015 13:42:58Generic JavaGeneric Java (Generic Java or GJ) is a programming language that is a superset of Java which adds support for generic programming. It was designed by Gilad Bracha, Martin Odersky, David Stoutamire, and Philip Wadler to offer developers a smoother transition and better Java compatibility than the Pizza programming language, previously created by Odersky and Wadler. Generic Java was incorporated, with the addition of wildcards, into the official Java language version J2SE 5.0.
13-01-2015 04:00:23What is an XML Sitemap?An XML (Extensible Markup Language) Sitemap is the text file containing all the URLs on a site. It may also include metadata about each URL, telling you when it was last updated, how significant it is and how it is related to other URLs on the site. All this is done to guide the search engines so they crawl your site efficiently and stay updated on any changes made on your site, such as adding a new page or changing an existing web page. There is no guarantee that an XML Sitemap will get your pages crawled and indexed by search engines but having one certainly increases your probability.
13-01-2015 03:36:18Ratproxy - A Passive Web Application Security Assessment ToolRatproxy is a semi-automated, largely passive web application security audit tool, optimized for an accurate and sensitive detection, and automatic annotation, of potential problems and security-relevant design patterns based on the observation of existing, user-initiated traffic in complex web 2.0 environments. Ratproxy also detects and prioritizes broad classes of security problems, such as dynamic cross-site trust model considerations, script inclusion issues, content serving problems, insufficient XSRF and XSS defenses, and much more. Ratproxy is a local program designed to sit between your Web browser and the application you want to test. It logs outgoing requests and responses from the application, and can generate its own modified transactions to determine how an application responds to common attacks. The list of low-level tests it runs is extensive, and includes: potentially unsafe JSON-like responses bad caching headers on sensitive content suspicious cross-domain trust relationships queries with insufficient XSRF defenses suspected or confirmed XSS and data injection vectors
13-01-2015 03:30:29skipfishSkipfish is an active web application security reconnaissance tool. It prepares an interactive sitemap for the targeted site by carrying out a recursive crawl and dictionary-based probes. The resulting map is then annotated with the output from a number of active (but hopefully non-disruptive) security checks. The final report generated by the tool is meant to serve as a foundation for professional web application security assessments. Key features: => High speed: pure C code, highly optimized HTTP handling, minimal CPU footprint - easily achieving 2000 requests per second with responsive targets. => Ease of use: heuristics to support a variety of quirky web frameworks and mixed-technology sites, with automatic learning capabilities, on-the-fly wordlist creation, and form auto completion. => Cutting-edge security logic: high quality, low false positive, differential security checks, capable of spotting a range of subtle flaws, including blind injection vectors. The tool is believed to support Linux, FreeBSD, MacOS X, and Windows (Cygwin) environments.
12-01-2015 23:57:10CLSID List (Windows Class Identifiers)::{d20ea4e1-3957-11d2-a40b-0c5020524153} Administrative Tools ::{85bbd92o-42a0-1o69-a2e4-08002b30309d} Briefcase ::{21ec2o2o-3aea-1o69-a2dd-08002b30309d} Control Panel ::{d20ea4e1-3957-11d2-a40b-0c5020524152} Fonts ::{ff393560-c2a7-11cf-bff4-444553540000} History ::{00020d75-0000-0000-c000-000000000046} Inbox ::{00028b00-0000-0000-c000-000000000046} Microsoft Network ::{20d04fe0-3aea-1069-a2d8-08002b30309d} My Computer ::{450d8fba-ad25-11d0-98a8-0800361b1103} My Documents ::{208d2c60-3aea-1069-a2d7-08002b30309d} My Network Places ::{1f4de370-d627-11d1-ba4f-00a0c91eedba} Network Computers ::{7007acc7-3202-11d1-aad2-00805fc1270e} Network Connections ::{2227a280-3aea-1069-a2de-08002b30309d} Printers and Faxes ::{7be9d83c-a729-4d97-b5a7-1b7313c39e0a} Programs Folder ::{645ff040-5081-101b-9f08-00aa002f954e} Recycle Bin ::{e211b736-43fd-11d1-9efb-0000f8757fcd} Scanners and Cameras ::{d6277990-4c6a-11cf-8d87-00aa0060f5bf} Scheduled Tasks ::{48e7caab-b918-4e58-a94d-505519c795dc} Start Menu Folder ::{7bd29e00-76c1-11cf-9dd0-00a0c9034933} Temporary Internet Files ::{bdeadf00-c265-11d0-bced-00a0c90ab50f} Web Folders
12-01-2015 19:26:48Type safetyIn computer science, type safety is the extent to which a programming language discourages or prevents type errors. A type error is erroneous or undesirable program behaviour caused by a discrepancy between differing data types for the program's constants, variables, and methods (functions), e.g., treating an integer (int) as a floating-point number (float). Type safety is sometimes alternatively considered to be a property of a computer program rather than the language in which that program is written; that is, some languages have type-safe facilities that can be circumvented by programmers who adopt practices that exhibit poor type safety. The formal type-theoretic definition of type safety is considerably stronger than what is understood by most programmers. Type enforcement can be static, catching potential errors at compile time, or dynamic, associating type information with values at run-time and consulting them as needed to detect imminent errors, or a combination of both. The behaviors classified as type errors by a given programming language are usually those that result from attempts to perform operations on values that are not of the appropriate data type. This classification is partly based on opinion; it may imply that any operation not leading to program crashes, security flaws or other obvious failures is legitimate and need not be considered an error, or it may imply that any contravention of the programmer's explicit intent (as communicated via typing annotations) to be erroneous and not "type-safe". In the context of static (compile-time) type systems, type safety usually involves (among other things) a guarantee that the eventual value of any expression will be a legitimate member of that expression's static type. The precise requirement is more subtle than this - see, for example, subtype and polymorphism for complications. Type safety is closely linked to memory safety, a restriction on the ability to copy arbitrary bit patterns from one memory location to another. For instance, in an implementation of a language that has some type , such that some sequence of bits (of the appropriate length) does not represent a legitimate member of , if that language allows data to be copied into a variable of type , then it is not type-safe because such an operation might assign a non-value to that variable. Conversely, if the language is type-unsafe to the extent of allowing an arbitrary integer to be used as a pointer, then it is not memory-safe. Most statically typed languages provide a degree of type safety that is strictly stronger than memory safety, because their type systems enforce the proper use of abstract data types defined by programmers even when this is not strictly necessary for memory safety or for the prevention of any kind of catastrophic failure.
12-01-2015 14:46:20Robustness (computer science)In computer science, robustness is the ability of a computer system to cope with errors during execution. Robustness can also be defined as the ability of an algorithm to continue operating despite abnormalities in input, calculations, etc. Robustness can encompass many areas of computer science, such as robust programming, robust machine learning, and Robust Security Network form, the more robust the software. Formal techniques, such as fuzz testing, are essential to showing robustness since this type of testing involves invalid or unexpected inputs. Alternatively, fault injection can be used to test robustness. Various commercial products perform robustness testing of software systems, and is a process of failure assessment analysis. Fuzz testing or fuzzing is a software testing technique, often automated or semi-automated, that involves providing invalid, unexpected, or random data to the inputs of a computer program. The program is then monitored for exceptions such as crashes, or failing built-in code assertions or for finding potential memory leaks. Fuzzing is commonly used to test for security problems in software or computer systems. It is a form of random testing which has been used for testing hardware or software. In software testing, fault injection is a technique for improving the coverage of a test by introducing faults to test code paths, in particular error handling code paths, that might otherwise rarely be followed. It is often used with stress testing and is widely considered to be an important part of developing robust software. Robustness testing (also known as Syntax Testing, Fuzzing or Fuzz testing) is a type of fault injection commonly used to test for vulnerabilities in communication interfaces such as protocols, command line parameters, or APIs. Stress testing (sometimes called torture testing) is a form of deliberately intense or thorough testing used to determine the stability of a given system or entity. It involves testing beyond normal operational capacity, often to a breaking point, in order to observe the results. Reasons can include: => to determine breaking points or safe usage limits => to confirm intended specifications are being met => to determine modes of failure (how exactly a system fails) => to test stable operation of a part or system outside standard usage Reliability engineers often test items under expected stress or even under accelerated stress in order to determine the operating life of the item or to determine modes of failure. The term "stress" may have a more specific meaning in certain industries, such as material sciences, and therefore stress testing may sometimes have a technical meaning - one example is in fatigue testing for materials.
12-01-2015 14:01:32Reverse engineeringReverse engineering, also called back engineering, is the process of extracting knowledge or design information from anything man-made and re-producing it or reproducing anything based on the extracted information. The process often involves disassembling something (a mechanical device, electronic component, computer program, or biological, chemical, or organic matter) and analyzing its components and workings in detail. The reasons and goals for obtaining such information vary widely from everyday or socially beneficial actions, to criminal actions, depending upon the situation. Often no intellectual property rights are breached, such as when a person or business cannot recollect how something was done, or what something does, and needs to reverse engineer it to work it out for themselves. Reverse engineering is also beneficial in crime prevention, where suspected malware is reverse engineered to understand what it does, and how to detect and remove it, and to allow computers and devices to work together ("interoperate") and to allow saved files on obsolete systems to be used in newer systems. Used harmfully, reverse engineering can be used to "crack" software and media to remove their copy protection, or to create a (possibly improved) copy or even a knockoff; this is usually the goal of a competitor. Reverse engineering has its origins in the analysis of hardware for commercial or military advantage. However, the reverse engineering process in itself is not concerned with creating a copy or changing the artifact in some way; it is only an analysis in order to deduce design features from products with little or no additional knowledge about the procedures involved in their original production. In some cases, the goal of the reverse engineering process can simply be a redocumentation of legacy systems. Even when the product reverse engineered is that of a competitor, the goal may not be to copy them, but to perform competitor analysis. Reverse engineering may also be used to create interoperable products; despite some narrowly tailored US and EU legislation, the legality of using specific reverse engineering techniques for this purpose has been hotly contested in courts worldwide for more than two decades.
10-01-2015 17:22:24What is the difference between a mobile hotspot and tethering?Mobile hotspots and tethering services offer similar results for users, but work a little bit differently. A mobile hotspot is an offering by various telecom providers that consists of an adapter or device that will allow computer users to hook up to the Internet from wherever they happen to be. Mobile hotspots are advertised as an alternative to the traditional practice of logging onto a local area network or other wireless network from a PC. Although mobile hotspots could be used for other kinds of devices, they are most commonly associated with laptop computers, because laptop computers are a type of "hybrid" device that may roam, but doesn't usually come with built-in mobile Wi-Fi. Tethering is slightly different. A tethering strategy involves connecting one device without Wi-Fi to another device that has Wi-Fi connectivity. For example, a user could tether a laptop to a smartphone through cabling or through a wireless connection. This would allow for using the computer on a connected basis. Experts point out that when tethering involves a wireless setup, it can look and seem a lot like a mobile hotspot. One of the differences is in provider models. Most telecom operators offering mobile hotspots sell a box or adapter for a fixed price, and offer the mobile hotspot service on a monthly basis. With tethering, the offer could involve simple cable connectors to hook up an existing mobile wireless device to a laptop, without any monthly charge. However, mobile hotspots seem to be a popular option because of convenience.
08-01-2015 16:51:30VoIP - Voice over Internet ProtocolVoIP is short for Voice over Internet Protocol. Voice over Internet Protocol is a category of hardware and software that enables people to use the Internet as the transmission medium for telephone calls by sending voice data in packets using IP rather than by traditional circuit transmissions of the PSTN. One advantage of VoIP is that the telephone calls over the Internet do not incur a surcharge beyond what the user is paying for Internet access, much in the same way that the user doesn't pay for sending individual emails over the Internet. PSTN - Public Switched Telephone Network It refers to the international telephone system based on copper wires carrying analog voice data. This is in contrast to newer telephone networks based on digital technologies, such as ISDN and FDDI. Telephone service carried by the PSTN is often called plain old telephone service (POTS). ISDN - integrated services digital network FDDI - Fiber Distributed Data Interface
08-01-2015 13:07:30Robots exclusion standardThe Robot Exclusion Standard, also known as the Robots Exclusion Protocol or robots.txt protocol, is a convention to advising cooperating web crawlers and other web robots about accessing all or part of a website which is otherwise publicly viewable. Robots are often used by search engines to categorize and archive web sites, or by webmasters to proofread source code. The standard is different from, but can be used in conjunction with, Sitemaps, a robot inclusion standard for websites.
06-01-2015 11:07:37Android RuntimeAndroid Runtime (ART) is an application runtime environment used by the Android mobile operating system. ART replaces Dalvik*, which is the process virtual machine originally used by Android, and performs transformation of the application's bytecode into native instructions that are later executed by the device's runtime environment. *Dalvik (software) Dalvik is the process virtual machine (VM) in Google's Android operating system, which, specifically, executes applications written for Android. This makes Dalvik an integral part of the Android software stack, which is typically used on mobile devices such as mobile phones and tablet computers, as well as more recently on devices such as smart TVs and wearables.
05-01-2015 16:46:28SVG-editSVG-edit is a vector graphics editor intended for users who need to do quick edits to existing Scalable Vector Graphics (SVG) images, all within their existing web browser, not requiring additional software installation. SVG-edit works in any modern browser: => Firefox 1.5+ => Opera 9.50+ => Safari 4+ => Chrome 1+ => Internet Explorer 6+ had been supported as of version 2.6 (with the Chrome Frame plugin) and may still work for some features, but only IE 9+ will be supported going forward. SVG-edit is a cross-browser web-based, JavaScript-driven web tool, and has also been made into browser addons, such as an addon for Firefox, a Chrome App and a standalone widget for Opera. An experimental SVG editing extension to MediaWiki uses SVG-edit. SVG-edit consists of two major components: svg-editor.js and svgcanvas.js. These components work cooperatively. File svgcanvas.js can be used outside of SVG-edit, allowing developers to create alternative interfaces to the canvas. Do not confuse this term with HTML5 Canvas element, canvas is a drawing area (div) here. Features in current stable release Free-hand drawing Lines, Polylines Rects/Squares Ellipses/Circles Polygons/Curved Paths Stylable Text Raster Images Select/move/resize/rotate Undo/Redo Color/Gradient picker * Group/ungroup Align Zoom Layers Convert Shapes to Path Wireframe Mode Save drawing to SVG Linear Gradient Picking View and Edit SVG Source UI Localization Resizable Canvas Change Background Draggable Dialogs Resizable UI (SVG icons) Open Local Files (Fx 3.6 only) Import SVG into Drawing (Fx 3.6 only) Connector lines and Arrows Plugin Architecture Editing outside the canvas Add/edit Sub-paths Multiple path segment selection Support for foreign markup (MathML) Radial Gradients Configurable Options Eye-dropper tool Stroke linejoin and linecap Export to PNG
04-01-2015 13:32:18HadoopHadoop is an open-source software framework for storing and processing big data in a distributed fashion on large clusters of commodity hardware. Essentially, it accomplishes two tasks: massive data storage and faster processing. => Open-source software. --- Open source software differs from commercial software due to the broad and open network of developers that create and manage the programs. Traditionally, it's free to download, use and contribute to, though more and more commercial versions of Hadoop are becoming available. => Framework. --- In this case, it means everything you need to develop and run your software applications is provided - programs, tool sets, connections, etc. => Distributed. --- Data is divided and stored across multiple computers, and computations can be run in parallel across multiple connected machines. => Massive storage. --- The Hadoop framework can store huge amounts of data by breaking the data into blocks and storing it on clusters of lower-cost commodity hardware. => Faster processing. --- How? Hadoop processes large amounts of data in parallel across clusters of tightly connected low-cost computers for quick results. With the ability to economically store and process any kind of data (not just numerical or structured data), organizations of all sizes are taking cues from the corporate web giants that have used Hadoop to their advantage (Google, Yahoo, Etsy, eBay, Twitter, etc.), and they're asking "What can Hadoop do for me?"
04-01-2015 12:55:35mIRCmIRC is an Internet Relay Chat (IRC) client for Windows, created in 1995 and developed by Khaled Mardam-Bey. Although it is a fully functional chat utility, its integrated scripting language makes it extensible and versatile. mIRC has been described as "one of the most popular IRC clients available for Windows." It has been downloaded over 40 million times from CNET's Download.com service. In 2003, Nielsen/NetRatings ranked mIRC among the top ten most popular Internet applications.
04-01-2015 12:49:25Ping PongCommunication between network devices allowing each computer to know if the opposite end is still present and available. In a ping pong communication, the ping is the transmission of the packet to the opposite computer and the pong is the response from the other computer. When connected through an IRC client such as mIRC you can see this action taking place while connected.
04-01-2015 12:38:42IRC botAn IRC bot is a set of scripts or an independent program that connects to Internet Relay Chat as a client, and so appears to other IRC users as another user. An IRC bot differs from a regular client in that instead of providing interactive access to IRC for a human user, it performs automated functions.
02-01-2015 12:01:22Tech Skills And Courses Google Recommends For Software EngineersHaving a solid foundation in Computer Science is important in being a successful Software Engineer. This guide is a suggested path for University students to develop their technical skills academically and non-academically through self paced hands-on learning. You may use this guide to determine courses to take but please make sure you are taking courses required for your major or faculty in order to graduate. The online resources provided in this guide are not meant to replace courses available at your University. However, they may help supplement your learnings or provide an introduction to the topic. Using this guide: Please use this guide at your discretion - There may be other things you want to learn or do outside of this guide - go for it! - Checking off all items in this guide does not guarantee a job at Google - This guide will evolve or change - check back for updates - Follow our Google for Students + Page to get additional tips, resources, and other students interested in development. Recommendations for Academic Learnings - Introduction to CS Course Notes: Introduction to Computer Science Course that provides instructions on coding Online Resources: Udacity - intro to CS course, Coursera - Computer Science 101 - Code in at least one object oriented programming language: C++, Java, or Python Beginner Online Resources: Coursera - Learn to Program: The Fundamentals, MIT Intro to Programming in Java, Google's Python Class, Coursera - Introduction to Python, Python Open Source E-Book Intermediate Online Resources: Udacity's Design of Computer Programs, Coursera - Learn to Program: Crafting Quality Code, Coursera - Programming Languages, Brown University - Introduction to Programming Languages - Learn other Programming Languages Notes: Add to your repertoire - Java Script, CSS, HTML, Ruby, PHP, C, Perl, Shell. Lisp, Scheme. Online Resources: w3school.com - HTML Tutorial, CodeAcademy.com - Test Your Code Notes: Learn how to catch bugs, create tests, and break your software Online Resources: Udacity - Software Testing Methods, Udacity - Software Debugging - Develop logical reasoning and knowledge of discrete math Online Resources: MIT Mathematics for Computer Science, Coursera - Introduction to Logic, Coursera - Linear and Discrete Optimization, Coursera - Probabilistic Graphical Models, Coursera - Game Theory - Develop strong understanding of Algorithms and Data Structures Notes: Learn about fundamental data types (stack, queues, and bags), sorting algorithms (quicksort, mergesort, heapsort), and data structures (binary search trees, red-black trees, hash tables), Big O. Online Resources: MIT Introduction to Algorithms, Coursera Introduction to Algorithms Part 1 & Part 2, List of Algorithms, List of Data Structures, Book: The Algorithm Design Manual - Develop a strong knowledge of operating systems Online Resources: UC Berkeley Computer Science 162 - Learn Artificial Intelligence Online Resources: Stanford University - Introduction to Robotics, Natural Language Processing, Machine Learning - Learn how to build compilers Online Resources: Coursera - Compilers - Learn cryptography Online Resources: Coursera - Cryptography, Udacity - Applied Cryptography - Learn Parallel Programming Online Resources: Coursera - Heterogeneous Parallel Programming Recommendations for Non-Academic Learnings Work on project outside of the classroom. Notes: Create and maintain a website, build your own server, or build a robot. Online Resources: Apache List of Projects, Google Summer of Code, Google Developer Group Work on a small piece of a large system (codebase), read and understand existing code, track down documentation, and debug things. Notes: Github is a great way to read other people's code or contribute to a project. Online Resources: Github, Kiln Work on project with other programmers. Notes: This will help you improve your ability to work well in a team and enable you to learn from others. Practice your algorithmic knowledge and coding skills Notes: Practice your algorithmic knowledge through coding competitions like CodeJam or ACM's International Collegiate Programming Contest. Online Resources: CodeJam, ACM ICPC Become a Teaching Assistant Notes: Helping to teach other students will help enhance your knowledge in the subject matter. Internship experience in software engineering Notes: Make sure you apply for internships well in advance of the period internships take place. In the US, internships take place during the summer, May-September, and applications are usually open several months in advance.
25-12-2014 06:52:27Java APIs for BluetoothJava APIs for Bluetooth Wireless Technology (JABWT) is a J2ME specification for APIs that allows Java MIDlets running on embedded devices such as mobile phones to use Bluetooth for short-range wireless communication. JABWT was developed as JSR-82 under the Java Community Process. JSR 82 implementations for Java 2 Platform Standard Edition (J2SE) are also available.
25-12-2014 04:19:10Event Dispatching Thread (EDT)The event dispatching thread (EDT) is a background thread used in Java to process events from the Abstract Window Toolkit (AWT) graphical user interface event queue. These events are primarily update events that cause user interface components to redraw themselves, or input events from input devices such as the mouse or keyboard. The AWT uses a single-threaded painting model in which all screen updates must be performed from a single thread. The event dispatching thread is the only valid thread to update the visual state of visible user interface components. Updating visible components from other threads is the source of many common bugs in Java programs that use Swing. The event dispatching thread is called the primordial worker in Adobe Flash and the UI thread in SWT, .NET Framework and Android.
24-12-2014 13:33:54java - the Java application launcherSYNOPSIS java [ options ] class [ argument ... ] java [ options ] -jar file.jar [ argument ... ] javaw [ options ] class [ argument ... ] javaw [ options ] -jar file.jar [ argument ... ] options Command-line options. class Name of the class to be invoked. file.jar Name of the jar file to be invoked. Used only with -jar. argument Argument passed to the main function. DESCRIPTION The java tool launches a Java application. It does this by starting a Java runtime environment, loading a specified class, and invoking that class's main method. The method must be declared public and static, it must not return any value, and it must accept a String array as a para meter. The method declaration must look like the following: public static void main(String args[]) By default, the first non-option argument is the name of the class to be invoked. A fully-qualified class name should be used. If the -jar option is specified, the first non-option argument is the name of a JAR archive containing class and resource f iles for the application, with the startup class indicated by the Main-Class manifest header. The Java runtime searches for the startup class, and other classes used, in three sets of locations: the bootstrap class path, the installed extensions, and the user class path. Non-option arguments after the class name or JAR file name are passed to the main function. The javaw command is identical to java, except that with javaw there is no associated console window. Use javaw when you don't want a command prompt window to appear. The javaw launcher will, however, display a dialog box with error information if a launch fails for some reason. OPTIONS The launcher has a set of standard options that are supported on the current runtime environment and will be supported in future releases. In addition, the default Java HotSpot VMs provide a set of non-standard options that are subject to change in future releases. Standard Options -client Select the Java HotSpot Client VM. A 64-bit capable jdk currently ignores this option and instead uses the Java HotSpot Server VM. For default VM selection, see Server-Class Machine Detection -server Select the Java HotSpot Server VM. On a 64-bit capable jdk only the Java HotSpot Server VM is supported so the -server option is implicit. This is subject to change in a future release. For default VM selection, see Server-Class Machine Detection -agentlib:libname[=options] Load native agent library libname, e.g. -agentlib:hprof -agentlib:jdwp=help -agentlib:hprof=help For more information, see JVMTI Agent Command Line Options. -agentpath:pathname[=options] Load a native agent library by full pathname. For more information, see JVMTI Agent Command Line Options. -classpath classpath -cp classpath Specify a list of directories, JAR archives, and ZIP archives to search for class files. Class path entries are separated by semicolons (;). Specifying -classpath or -cp overrides any setting of the CLASSPATH environment variable. If -classpath and -cp are not used and CLASSPATH is not set, the user class path consists of the current directory (.). As a special convenience, a class path element containing a basename of * is considered equivalent to specifying a list of all the files in the directory with the extension .jar or .JAR (a java program cannot tell the difference between the two invocations). For example, if directory foo contains a.jar and b.JAR, then the class path element foo/* is expanded to a A.jar:b.JAR, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of * expands to a list of all the jar files in the current directory. The CLASSPATH environment variable, where defined, will be similarly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started -- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking System.getenv("CLASSPATH"). For more information on class paths, see Setting the Class Path. -Dproperty=value Set a system property value. If value is a string that contains spaces, you must enclose the string in double quotes: java -Dfoo="some string" SomeClass -enableassertions[:package name"..." | :class name ] -ea[:package name"..." | :<class name> ] Enable assertions. Assertions are disabled by default. With no arguments, enableassertions or -ea enables assertions. With one argument ending in "...", the switch enables assertions in the specified package and any subpackages. If the argument is simply "...", the switch enables assertions in the unnamed package in the current working directory. With one argument not ending in "...", the switch enables assertions in the specified class. If a single command line contains multiple instances of
23-12-2014 14:04:10CronThe software utility Cron is a time-based job scheduler in Unix-like computer operating systems. People who set up and maintain software environments use cron to schedule jobs (commands or shell scripts) to run periodically at fixed times, dates, or intervals. It typically automates system maintenance or administration-though its general-purpose nature makes it useful for things like connecting to the Internet and downloading email at regular intervals. The name cron comes from the Greek word for time, xpovoc cronos.
22-12-2014 15:08:29Do it yourself (DIY)Do it yourself (DIY) is the method of building, modifying, or repairing something without the aid of experts or professionals. Academic research describes DIY as behaviors where "individuals engage raw and semi-raw materials and component parts to produce, transform, or reconstruct material possessions, including those drawn from the natural environment (e.g. landscaping)". DIY behavior can be triggered by various motivations previously categorized as marketplace motivations (economic benefits, lack of product availability, lack of product quality, need for customization), and identity enhancement (craftsmanship, empowerment, community seeking, uniqueness). The term "do-it-yourself" has been associated with consumers since at least 1912 primarily in the domain of home improvement and maintenance activities. The phrase "do it yourself" had come into common usage (in standard English) by the 1950s, in reference to the emergence of a trend of people undertaking home improvement and various other small craft and construction projects as both a creative-recreational and cost-saving activity. Subsequently, the term DIY has taken on a broader meaning that covers a wide range of skill sets. DIY is associated with the international alternative rock, punk rock, and indie rock music scenes; indymedia networks, pirate radio stations, and the zine community. In this context, DIY is related to the Arts and Crafts movement, in that it offers an alternative to modern consumer culture's emphasis on relying on others to satisfy needs. The abbreviation DIY is also widely used in the military as a way to teach commanders or other types of units to take responsibility, so that they'd be able to do things themselves just as a preparation for their own future.
22-12-2014 14:46:11USB On-The-GoUSB On-The-Go, often abbreviated to USB OTG or just OTG, is a specification first used in late 2001, that allows USB devices such as digital audio players or mobile phones to act as a host, allowing other USB devices like a USB flash drive, digital camera, mouse, or keyboard to be attached to them. Use of USB OTG allows these devices to switch back and forth between the roles of host and client devices. For instance, a mobile phone may read from removable media as the host device, but present itself as a USB Mass Storage Device when connected to a host computer. In other words, USB On-The-Go introduces the concept that a device can perform both the master and slave roles - whenever two USB devices are connected and one of them is a USB On-The-Go device, they establish a communications link. Whichever device controls that link is called the master or host, while the other is called the slave or peripheral.
21-12-2014 23:07:21Rooting (Android OS)Rooting is the process of allowing users of smart phones, tablets and other devices running the Android mobile operating system to attain privileged control (known as root access) within Android_s sub-system. Rooting is often performed with the goal of overcoming limitations that carriers and hardware manufacturers put on some devices. Thus, rooting gives the ability (or permission) to alter or replace system applications and settings, run specialized apps that require administrator-level permissions, or perform other operations that are otherwise inaccessible to a normal Android user. On Android, rooting can also facilitate the complete removal and replacement of the device_s operating system, usually with a more recent release of its current operating system. As Android derives from the Linux kernel, rooting an Android device gives similar access administrative permissions as on Linux or any other Unix-like operating system such as FreeBSD or OS X. Root access is sometimes compared to jailbreaking devices running the Apple iOS operating system. However, these are different concepts. Jailbreaking describes the bypass of several types of Apple prohibitions for the end user: modifying the operating system (enforced by a locked bootloader), installing non-officially approved apps via sideloading, and granting the user elevated administration-level privileges. Only a minority of Android devices lock their bootloaders-and many vendors such as HTC, Sony, Asus and Google explicitly provide the ability to unlock devices, and even replace the operating system entirely. Similarly, the ability to sideload apps is typically permissible on Android devices without root permissions. Thus, it is primarily the third aspect of iOS jailbreaking relating to giving users superuser administrative privileges that most directly correlates to Android rooting.
21-12-2014 13:55:56WDDMWindows Display Driver Model (WDDM) is the graphic driver architecture for video card drivers running Microsoft Windows versions beginning with Windows Vista.
21-12-2014 13:52:36VirtualBoxOracle VM VirtualBox (formerly Sun VirtualBox, Sun xVM VirtualBox and innotek VirtualBox), a virtualization software package for x86 and AMD64/Intel64-based computers from Oracle Corporation, forms part of Oracle_s family of virtualization products. innotek GmbH first developed the product; Sun Microsystems purchased it in 2008; Oracle has continued development since 2010. The VirtualBox package installs on an existing host operating system as an application; this host application allows additional guest operating systems, each known as a Guest OS, to load and run, each with its own virtual environment. Supported host operating systems include Linux, Mac OS X, Windows XP, Windows Vista, Windows 7, Windows 8, Solaris, and OpenSolaris; there are also ports to FreeBSD and Genode. Supported guest operating systems include versions and derivations of Windows, Linux, BSD, OS/2, Solaris, Haiku and others. Since release 3.2.0, VirtualBox also allows limited virtualization of Mac OS X guests on Apple hardware, though OSX86 can also be installed using VirtualBox. Since version 4.3 (released in October 2013), Microsoft Windows guests on supported hardware can take advantage of the recently implemented WDDM driver included in the guest additions; this allows Windows Aero to be enabled along with Direct3D support. Guest Additions should be installed in order to achieve the best possible experience. The Guest Additions can be installed inside a virtual machine after the installation of the guest operating system. They consist of device drivers and system applications that optimize the guest operating system for better performance and usability.
21-12-2014 13:45:10Android Open Source Project (AOSP)Android has an active community of developers and enthusiasts who use the Android Open Source Project (AOSP) source code to develop and distribute their own modified versions of the operating system.
21-12-2014 13:42:28Android-x86Android-x86 is an unofficial initiative to port Google_s Android mobile operating system to run on devices powered by AMD and Intel x86 processors, rather than RISC-based ARM chips. The project began as a series of patches to the Android source code to enable Android to run on various netbooks and ultra-mobile PCs-particularly the ASUS Eee PC. Chih-Wei Huang and Yi Sun maintain the project. The OS is based on the AOSP, with some minor modifications which allow it to run on PC architecture. For instance, some low-level components are replaced to better suit the platform, such as the kernel (AOSP runs on a modified version of the Linux Kernel, whereas Android-x86 runs on the long-term Linux Kernel available at the time of release), the BIONIC library (replaced with components from GCC) and others. Android-x86 aims at delivering a full desktop Operating System based on the AOSP, which fully supports Android applications. The key component in delivering application support on x86 architecture is the Dalvik Virtual Machine (which went through major development for a port on PCs), although there are plans for porting the Android Runtime (required to run Android 5.0).
18-12-2014 17:23:04Create Hotspot on Win 7netsh wlan set hostednetwork mode=allow ssid=ashzHotspot key=ashzPassword netsh wlan start hostednetwork netsh wlan stop hostednetwork
18-12-2014 16:54:52How to use wget and get all the files from website?To filter for specific file extensions: wget -A pdf,jpg -m -p -E -k -K -np http://site/path/ Or, if you prefer long option names: wget --accept pdf,jpg --mirror --progress --adjust-extension --convert-links --backup-converted --no-parent http://site/path/
18-12-2014 16:22:12POSIXPOSIX, an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems. POSIX defines the application programming interface (API), along with command line shells and utility interfaces, for software compatibility with variants of Unix and other operating systems.
18-12-2014 16:20:24CygwinCygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment. Thus it is possible to launch Windows applications from the Cygwin environment, as well as to use Cygwin tools and applications within the Windows operating context. Cygwin consists of two parts: a dynamic-link library (DLL) as an API compatibility layer providing a substantial part of the POSIX API functionality, and an extensive collection of software tools and applications that provide a Unix-like look and feel. Cygwin was originally developed by Cygnus Solutions, which was later acquired by Red Hat. It is free and open source software, released under the GNU General Public License version 3. Today it is maintained by employees of Red Hat, NetApp and many other volunteers.
18-12-2014 15:56:1025 Best Windows Key (or Win Key) Shortcuts For Windows 71. The very basic and most known feature of the Windows key is to launch the Start Menu. It is equivalent to clicking on the Start Orb button. 2. Windows Run Dialog provides a quick way of starting certain applications and tools. When speed is a factor it would be waste of time to bring it up via GUI. Simply hit Win + R and it will get started. 3. Windows Explorer is our browser for Windows files and folders. And I believe that every user should imbibe Win + E combination to bring it up. 4. How often do you need to use the Search tool? If you are a frequent client to that then you should use the Win + F keys for quick access of the same. 5. You may not require Windows Help and Support on a daily basis but there is no harm in pinning the shortcut to your brain. It_s Win + F1. 6. Need to have a quick look at your System Properties? Why don_t you try Win + [Pause, Break]. 7. Window Mobility Center features items like volume control, brightness and battery options to change their settings quickly. Win + X is the shortcut for quick access. 8. Do you frequently need to switch the display modes like shown in the diagram? Then make use of the Presentation Display Mode with Win + P keys. 9. There are multiple ways to make your computer easy to use. Some of these features are placed under the Ease of Access Center and the quickest way to reach there is Win + U. 10. Do you use the Ctrl + Alt + Delete combination to launch the screen where you can choose to lock your computer? Well, Win + L will let you skip that screen and lock the computer directly. 11. When you have a number of applications open and you need to access the desktop quickly you can use Win + D keys. Don_t you think it is better than minimizing each application separately? 12. A higher version of the same, I consider is Win + M to be used to minimize all windows to the taskbar. Win + Shift + M will restore them back. 13. Win + Home interestingly minimizes all the windows except the one which you are viewing. This means that all the windows which are open and behind the current one will get minimized. 14. If you want to view your Desktop temporarily you can make all the open windows transparent by holding Win + Spacebar at a time. 15. If you need to start an instance of items pinned on the taskbar or you want to bring an open/minimized item on the top you can use Win + [1, 2, ..., 9]. Where, the numbers represent the items counting from left to right. 16. Shift + Win + [1, 2, ... 9] will help you start a new instance of an already open item. For example, if I want to open a new window of Firefox, I would hit Shift + Win + 5. 17. Alt + Tab is a well know feature as it lets you quickly toggle among open items. Now, Win + Tab allows you to cycle among them in 3D view. Again, Shift + Win + Tab does the same in reverse order. 18. Yet again, you can simply toggle among taskbar items right on the taskbar by using Win + T. Here, you will see the taskbar thumbnail preview as you switch between items. 19. Win + B pushes the control to System Tray Area. Once the control is there you may use the arrow keys and the Enter key to perform actions. 20. Win + F6 works as a toggle among desktop icons and taskbar sections including pinned items, open items, system tray and show desktop button. This works provided all items are minimized and the focus is on desktop. 21. If you want to quickly move windows on the screen to make space for other items you can use Win + [Up, Down, Left, Right] arrows. 22. On dual monitor setup you can use Shift + Win + [Right, Left] arrow to move the active application window to the right or left monitor. 23. What do you do if you ever need the Magnifier tool? I don_t even know where it is placed because I use Win + [+, -, Esc] to start Magnifier zoom in, zoom Out and close respectively. 24. If you have MS Office OneNote installed by any chance, Win + N creates a new note. 25. Win + S grays out the screen for taking a quick clip or a snip. The clip opens on MS Office OneNote when you release the mouse click. However, the item is also available on the clipboard to use it otherwise.
18-12-2014 13:55:12netshIn computing, netsh, or network shell, is a command-line utility included in Microsoft's Windows NT line of operating systems beginning with Windows 2000. It allows local or remote configuration of network devices such as the interface. A common use of netsh is to reset the TCP/IP stack to default, known-good parameters, a task that in Windows 98 required reinstallation of the TCP/IP adapter. In this mode, a log file must be provided, which will be filled with what values netsh affected. netsh, among many other things, also allows the user to change the IP address on their machine. Starting from Windows Vista, one can also edit wireless settings (for example, SSID) using netsh. netsh can also be used to read information from the IPv6 stack. The command "netsh winsock reset" can be used to reset TCP/IP problems when communicating with a networked device.
18-12-2014 13:20:39EthernetEthernet is a family of computer networking technologies for local area (LAN) and larger networks. It was commercially introduced in 1980 while it was first standardized in 1983 as IEEE 802.3, and has since been refined to support higher bit rates and longer link distances. Over time, Ethernet has largely replaced competing wired LAN technologies such as token ring, FDDI, and ARCNET. The primary alternative for contemporary LANs is not a wired standard, but instead a wireless LAN standardized as IEEE 802.11 and also known as Wi-Fi. The Ethernet standards comprise several wiring and signaling variants of the OSI physical layer in use with Ethernet. The original 10BASE5 Ethernet used coaxial cable as a shared medium. Later the coaxial cables were replaced with twisted pair and fiber optic links in conjunction with hubs or switches. Data rates have been incrementally increased from the original 3 megabits per second experimental version to a 100 gigabits per second standard over its history. Systems communicating over Ethernet divide a stream of data into shorter pieces called frames. Each frame contains source and destination addresses and error-checking data so that damaged data can be detected and re-transmitted. As per the OSI model, Ethernet provides services up to and including the data link layer. Since its commercial release, Ethernet has retained a good degree of backward compatibility. Features such as the 48-bit MAC address and Ethernet frame format have influenced other networking protocols.
18-12-2014 12:37:57Network Interface Controller (NIC)A network interface controller (NIC, also known as a network interface card, network adapter, LAN adapter, and by similar terms) is a computer hardware component that connects a computer to a computer network. Early network interface controllers were commonly implemented on expansion cards that plugged into a computer bus; the low cost and ubiquity of the Ethernet standard means that most newer computers have a network interface built into the motherboard. The network controller implements the electronic circuitry required to communicate using a specific physical layer and data link layer standard such as Ethernet, Wi-Fi or Token Ring. This provides a base for a full network protocol stack, allowing communication among small groups of computers on the same LAN and large-scale network communications through routable protocols, such as IP. Although other network technologies exist (e.g. token ring), Ethernet has achieved near-ubiquity since the mid-1990s. Every network controller for an IEEE 802 network such as Ethernet, Wi-Fi, or Token Ring, and every FDDI network controller, has a unique 48-bit serial number called a MAC address, which is stored in read-only memory. Every computer on an Ethernet network must have at least one controller. Normally it is safe to assume that no two network controllers will share the same address, because controller vendors purchase blocks of addresses from the Institute of Electrical and Electronics Engineers (IEEE) and assign a unique address to each controller at the time of manufacture. The NIC allows computers to communicate over a computer network. It is both an OSI layer 1 (physical layer) and layer 2 (data link layer) device, as it provides physical access to a networking medium and, for IEEE 802 networks and FDDI, provides a low-level addressing system through the use of MAC addresses. It allows users to connect to each other either by using cables or wirelessly.
17-12-2014 12:52:29BluestacksBluestacks is a Silicon Valley-based mobile company that produces the BlueStacks App Player and the GamePop microconsole. Both products are designed to enable Android applications to run on Windows PCs, Macintosh computers and televisions. The company was founded in 2009 by Rosen Sharma, former CTO at McAfee and a board member of Cloud.com. Investors include Andreessen-Horowitz, Redpoint, Samsung, Intel, Qualcomm, Citrix, Radar Partners, Ignition Partners and others. BlueStacks is Sharma's 8th company, with five acquisitions by Google, Microsoft, Citrix X 2 and McAfee. BlueStacks exited beta on June 7, 2014.
17-12-2014 11:37:21Mobile Development Platform: IBM Worklight StudioIn a mobile development platform, cross-platform portability of the application code is critical for mobile app development. A variety of methodologies exist to achieve this portability. IBM Worklight enables the development of rich multiplatform applications using its mobile development studio to address the unique requirements of the organization. Main mobile development platform features and benefits => Develop rich HTML5, hybrid and native applications for all supporting modern devices using native code, a bi-directional WYSIWYG, and standard web technologies and tools. => Maximize code sharing while defining custom behavior and styling guidelines that match the target environment => Access device APIs using native code or standard web languages over a uniform PhoneGap bridge => Utilize both native and standard web languages within the same app to balance development efficiency and a rich user experience => Leverage the growing ecosystem of 3rd-party tools, libraries and frameworks such as JQuery Mobile, Sencha Touch and Dojo Mobile = >Implement Runtime Skins to build apps that automatically adjust to environment guidelines such as form factor, screen density, HTML support and UI input methods Included Components => IBM Worklight Server => IBM Worklight Device Runtime Components => IBM Worklight Console
16-12-2014 17:59:41Is IsoPlex the Netflix of illegal movies?IsoHunt is a very big Torrent and P2P search index website. Not content to with that space they are entering media streaming market but not in the traditional way you might think. They have released a free media streaming service called IsoPlex. It's pretty much a clone of the short lived Popcorn Time streaming software. Popcorn Time was a free movie streaming website which was shutdown faster than the time it takes to send an iMessage over LTE. Although IsoPlex is in beta, I think the same thing will happen to it as well. but you should enjoy it now while you can. If you work for a media company I'm sorry to inform you your content is not safe. IsoPlex is available for Windows, Mac and Linux in the form of free zipfile. It is super simple to download and even easier to install. They offer movies in Full HD, HD, SD and low quality. IsoPlex said that they offer more than a million movies. However, after testing the service it is clear they are relying heavily on a backlog of old movies to come up with that total. It could just be that the search engine of the software needs work. You do not have to download any of the movies. You simply search for a movie, pick the quality and then hit play. IsoPlex starts streaming almost right away. The software works very well and no long buffering was noticeable. So what is the big deal with this program? IsoPlex lets its users stream hit movies for free. In some cases the movie is still in the theaters. IsoPlex is not limited to movies either. There are a lot of television shows on the software for users to watch. Again there is no downloading which means copyright content owners can't punish you for watching them. A person can only be punished for storing illegal content not streaming them. To sum it up think Netflix for Torrent movies and shows. Is this legal? Technically yes but morally... Use your best judgement. Press release from IsoHunt the creators of the software. Hey everyone! Hope you all guys have a nice warm summer. Cause today we got some hot news for you! We worked hard on this and finally are proud to announce Isoplex! It's an application for your PC or Mac where you can find and stream your favorite movies with no need to download them to your hard drive! It works completely standalone, without torrent clients or other additional software. You don't need to keep any huge movie files on your computer! We always think about what the future of torrents and online sharing can be and we think that Isoplex is a perfect solution! The software is in a very early stage (an open beta) right now and we need your feedback! If there is something wrong with the program, or you have any ideas on how to make it better please contact us via contact form. Thank you in advance for that! Only together we can make future of sharing a lot better! Keep isohunting and have a nice day! Yours truly, IsoHunt.to team
14-12-2014 16:16:13TeraCopyTeraCopy is designed to be used to move or copy computer files. As an alternative to the native copy operations within Windows, it is designed to be faster and have more functionality than the native tool. TeraCopy can automatically replace the native explorer copy and move functions, and is released as freeware.
14-12-2014 02:27:41How do I create a silent installation package?When deploying MSI installation packages through GPO or SMS or simply to your clients, you may want to make them silent. This can be done in several ways: 1. Basic user interface through Advanced Installer Advanced Installer allows you to make the installation package silent by setting the LIMITUI property inside the MSI. This is done automatically when you check the Limit to basic user interface (simple progress and error handling) option in the Install Parameters page. 2. Basic or no user interface through the MSIEXEC command line When launching the MSI package from the command line you can use multiple "msiexec.exe" parameters which affect the user interface: full UI: /qf (this is the default parameter used by the package) reduced UI: /qr (the user interface does not show any wizard dialogs) basic UI: /qb, /passive (only a progress bar will be showed during the installation) no UI: /qn, /quiet (no UI will be showed during the installation) On Windows Vista and above, in order to silently install a package you must use an elevated command prompt. If the package is run from a non-elevated command prompt the install will fail with the "Error 1925. You do not have sufficient privileges to complete this installation for all users of the machine. Log on as administrator and then retry this installation" displayed in the install log. 3. Basic or no user interface through the bootstrapper If your installation package uses an EXE bootstrapper then you can set it to launch the MSI package with a specific command line. In this command line you can use the same parameters used when launching the MSI with MSIEXEC. The command line of the MSI package can be specified in the MSI Command Line field on the Configuration tab in the Media page. The MSIEXEC parameters can also be used for the bootstrapper (for example test.exe /qn). In this case they will be passed to the MSI package. On Windows Vista and above, in order the install the package silently the installation package should run elevated. This can be achieved by using the "Run as administrator" context menu option from Windows Explorer or by setting the execution level to Run as administrator in the Installation Options section of the Install Parameters Page. In this case when launching the installation package the UAC prompt will appear asking for elevated rights.
14-12-2014 02:17:14Java Kernel InstallationThis document applies to JRE installers starting in Java SE 6 update 10 release. This feature is available only to installers running on Microsoft Windows. The Java Runtime Environment (JRE) provides many APIs like Swing, AWT, ImageIO, SQL, CORBA, RMI, math, XML, XSLT, concurrency and so on. This has led to the JRE becoming large and slow to download and install. This problem is solved by packaging a certain core set of JRE components ( kernel) in the Java Kernel installer. The Java Kernel installer is smaller and thus downloads and installs the JRE much more quickly when compared to the regular online or offline installer. The Java Kernel installer may be launched manually. Alternately, it may be launched via the Deployment Toolkit when deploying a rich internet application (RIA - applet or Java Web Start application). When a user triggers the Java Kernel Installer, the kernel is downloaded first. The additional packages required for a RIA are downloaded next. The RIA continues execution after all required classes have been downloaded. However, the download connection remains open and all remaining classes are downloaded in the background, with no impact on the currently executing RIA. The final JRE image created is identical to the image installed by the regular online or offline installer. Note that the Java Kernel installer does not support static installation.
14-12-2014 01:36:49The Apache HTTP ServerThe Apache HTTP Server, colloquially called Apache, is the world's most widely-used Web server software. Originally based on the NCSA HTTPd server, development of Apache began in early 1995 after work on the NCSA code stalled. Apache played a key role in the initial growth of the World Wide Web, quickly overtaking NCSA HTTPd as the dominant HTTP server, and has remained the most popular HTTP server since April 1996. In 2009, it became the first Web server software to serve more than 100 million Web sites. Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation. Most commonly used on a Unix-like system, the software is available for a wide variety of operating systems, including Unix, FreeBSD, Linux, Solaris, Novell NetWare, OS X, Microsoft Windows, OS/2, TPF, OpenVMS and eComStation. Released under the Apache License, Apache is open-source software. As of June 2013, Apache was estimated to serve 54.2% of all active Web sites and 53.3% of the top servers across all domains.
14-12-2014 01:32:44The Apache Software FoundationThe Apache Software Foundation (ASF) is an American non-profit corporation (classified as 501(c)(3) in the United States) to support Apache software projects, including the Apache HTTP Server. The ASF was formed from the Apache Group and incorporated in Delaware, U.S., in June 1999. The Apache Software Foundation is a decentralized community of developers. The software they produce is distributed under the terms of the Apache License and is therefore free and open source software (FOSS). The Apache projects are characterized by a collaborative, consensus-based development process and an open and pragmatic software license. Each project is managed by a self-selected team of technical experts who are active contributors to the project. The ASF is a meritocracy, implying that membership of the foundation is granted only to volunteers who have actively contributed to Apache projects. The ASF is considered a second generation open-source organization, in that commercial support is provided without the risk of platform lock-in. Among the ASF's objectives are: to provide legal protection to volunteers working on Apache projects; to prevent the Apache brand name from being used by other organizations without permission. The ASF also holds several ApacheCon conferences each year, highlighting Apache projects, related technology, and encouraging Apache developers to gather together.
14-12-2014 01:28:54Apache HarmonyApache Harmony was an open source, free Java implementation, developed by the Apache Software Foundation. It was announced in early May 2005 and on October 25, 2006, the Board of Directors voted to make Apache Harmony a top-level project. The Harmony project achieved (as of February 2011) 99% completeness for J2SE 5.0, and 97% for Java SE 6. On October 29, 2011 a vote was started by the project lead Tim Ellison whether to retire the project. The outcome was 20 to 2 in favor, and the project was retired on November 16, 2011.
14-12-2014 01:27:16J9J9 is a Java Virtual Machine program developed by IBM. The J9 VM is the basis of multiple IBM Java offerings, including WebSphere Micro Edition, as well as the basis of all IBM Java Development kits since version 5. IBM has also made the J9 VM available to the Apache Harmony project for use in running their class libraries. The design of the J9 VM has been aimed at portability to different platforms, as well as scaling from mobile phones all the way to IBM System z mainframes.
12-12-2014 10:07:44IBM developer kitsThe IBM Centre for Java Technology Development provides Developer Kits for creating and testing Java 2 Platform, Standard Edition applets and applications on some of IBM's most popular platforms.
12-12-2014 09:03:55Domain-driven design (DDD)Domain-driven design (DDD) is an approach to software development for complex needs by connecting the implementation to an evolving model. The premise of domain-driven design is the following: => Placing the project's primary focus on the core domain and domain logic. => Basing complex designs on a model of the domain. => Initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems. The term was coined by Eric Evans in his book of the same title.
11-12-2014 21:28:28ProGuardProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. It detects and removes unused classes, fields, methods, and attributes. It optimizes bytecode and removes unused instructions. It renames the remaining classes, fields, and methods using short meaningless names. Finally, it preverifies the processed code for Java 6 or higher, or for Java Micro Edition. Some uses of ProGuard are: = Creating more compact code, for smaller code archives, faster transfer across networks, faster loading, and smaller memory footprints. = Making programs and libraries harder to reverse-engineer. = Listing dead code, so it can be removed from the source code. = Retargeting and preverifying existing class files for Java 6 or higher, to take full advantage of their faster class loading. ProGuard's main advantage compared to other Java obfuscators is probably its compact template-based configuration. A few intuitive command line options or a simple configuration file are usually sufficient. The user manual explains all available options and shows examples of this powerful configuration style. ProGuard is fast. It only takes seconds to process programs and libraries of several megabytes. The results section presents actual figures for a number of applications. ProGuard is a command-line tool with an optional graphical user interface. It also comes with plugins for Ant, for Gradle, and for the JME Wireless Toolkit. ProGuard now has a sibling optimizer and obfuscator for Android: DexGuard. It focuses on code protection, with additional features like string encryption, class encryption, and dex splitting. It directly targets Dalvik bytecode and streamlines the Android build process.
11-12-2014 21:12:13RISC vs CISCRISC (Reduced Instruction Set Computing) and CISC (Complex Instruction Set Computing) are two computer architectures that are predominantly used nowadays. The main difference between RISC and CISC is in the number of computing cycles each of their instructions take. With CISC, each instruction may utilize a much greater number of cycles before completion than in RISC. The reason behind the difference in number of cycles utilized is the complexity and goal of their instructions. In RISC, each instruction is only meant to achieve a very small task. So if you want a complex task done, then you need a lot of these instructions strung together. With CISC, each instruction is similar to a high level language code. You only need a few instructions to get what you want as each instruction does a lot. In terms of the list of available instructions, RISC has the longer one over CISC. This is because each small step may need a separate instruction, unlike in CISC where a single instruction would already cover multiple steps. Although CISC may be easier for programmers, it also has its downside. Using CISC may not be as efficient as when you use RISC. This is because inefficiencies in the CISC code will then be used again and again, leading to wasted cycles. Using RISC allows the programmer to remove unnecessary code and prevent wasting cycles. The previous differences may make sense to those who are technologically inclined. But for most people, it would be gibberish. To make it easier to understand, it is better to look at where the two are being used. CISC has managed to gain an early lead in computing with the dominance of Intel's x86 architecture, which is the basis for all other modern computer architectures. In contrast, RISC has managed to work its way into portable devices like smartphones, tablets, GPS receivers, and other similar devices. ARM is one of the notable RISC architectures used in these devices. The higher efficiency of the RISC architecture makes it desirable in these applications where cycles and power are usually in short supply. Summary: 1. CISC instructions utilize more cycles than RISC 2. CISC has way more complex instructions than RISC 3. CISC typically has fewer instructions than RISC 4. CISC implementations tend to be slower than RISC implementations 5. Computers typically use CISC while tablets, smartphones and other devices use RISC
11-12-2014 20:47:02Ahead-of-time (AOT)Ahead-of-time (AOT) compilation is the act of compiling a high-level programming language such as C, or an intermediate language such as Java bytecode, .NET Common Intermediate Language (CIL), IBM System/38 or IBM System i "Technology Independent Machine Interface" code, into a native (system-dependent) machine code.
11-12-2014 20:43:49Just-In-Time compilation (JIT)In computing, just-in-time compilation (JIT), also known as dynamic translation, is compilation done during execution of a program - at run time - rather than prior to execution. Most often this consists of translation to machine code, which is then executed directly, but can also refer to translation to another format. JIT compilation is a combination of the two traditional approaches to translation to machine code - ahead of time compilation (AOT), and interpretation - and combines some advantages and drawbacks of both. Roughly, JIT compilation combines the speed of compiled code with the flexibility of interpretation, with the overhead of an interpreter and the additional overhead of compiling (not just interpreting). JIT compilation is a form of dynamic compilation, and allows adaptive optimization such as dynamic recompilation - thus in principle JIT compilation can yield faster execution than static compilation. Interpretation and JIT compilation are particularly suited for dynamic programming languages, as the runtime system can handle late-bound data types and enforce security guarantees.
11-12-2014 19:57:54OrcaOrca.exe is a database table editor for creating and editing Windows Installer packages and merge modules. The tool provides a graphical interface for validation, highlighting the particular entries where validation errors or warnings occur. This tool is only available in the Windows SDK Components for Windows Installer Developers. It is provided as an Orca.msi file. After installing the Windows SDK Components for Windows Installer Developers, double click Orca.msi to install the Orca.exe file.
11-12-2014 14:46:11Rich Client Platform (RCP)A rich client platform (RCP) is a programmer tool that makes it easier to integrate independent software components, where most of the data processing occurs on the client side. It is a software consisting of the following components: = A core (microkernel), lifecycle manager = A standard bundling framework = A portable widget toolkit = File buffers, text handling, text editors = A workbench (views, editors, perspectives, wizards) = Data binding = Update manager
11-12-2014 14:32:36Internet Relay Chat (IRC)Internet Relay Chat (IRC) is an application layer protocol that facilitates transfer of messages in the form of text. The chat process works on a client/server model of networking. IRC clients are computer programs that a user can install on their system. These clients are able to communicate with chat servers to transfer messages to other clients. It is mainly designed for group communication in discussion forums, called channels, but also allows one-to-one communication via private message as well as chat and data transfer, including file sharing. Client software is available for every major operating system that supports Internet access. As of April 2011, the top 100 IRC networks served more than half a million users at a time, with hundreds of thousands of channels operating on a total of roughly 1,500 servers out of roughly 3,200 servers worldwide. Over the past decade IRC usage has been declining: since 2003 it has lost 60% of its users (from 1 million to about 400,000 in 2014) and half of its channels (from half a million in 2003).
11-12-2014 14:30:00BotnetA botnet is a collection of Internet-connected programs communicating with other similar programs in order to perform tasks. This can be as mundane as keeping control of an Internet Relay Chat (IRC) channel, or it could be used to send spam email or participate in distributed denial-of-service attacks. The word botnet is a combination of the words robot and network. The term is usually used with a negative or malicious connotation.
11-12-2014 13:54:10how to output -verbose:class info to a file?Use the shell's file redirection mechanism: java -verbose:class Test > myfile.txt
10-12-2014 08:58:07JKernel &amp; JServerThe J-Kernel is a portable, Java-based system that extends the underlying Java Virtual Machine (JVM) to provide multiple protection domains as well as well-defined communication channels between the domains. The J-Server uses the J-Kernel to extend Microsoft's web server (IIS) to allow users to upload Java code (called servlets) that services HTTP requests. This allows arbitrary user to build web sites that contain dynamic content, i.e., where code is run in order to service requests. The J-Kernel research project is supported by DARPA ITO Contract ONR-N00014-92-J1866, NSF Contract CDA-9024600, NSF Career award 9702755, NSF Contract IIS-9812020, and Intel Hardware Donations. More complete grant information is available at http://www.cornell.edu/tve/grants.html
09-12-2014 17:00:32HotSpotHotSpot, released as the "Java HotSpot Performance Engine" is a Java virtual machine for desktops and servers, maintained and distributed by Oracle Corporation. It features techniques such as just-in-time compilation and adaptive optimization designed to improve performance.
09-12-2014 16:30:13What is and how to Use Verbose Options in Java ???When running a Java program, verbose options can be used to tell the JVM which kind of information to see. JVM suports three verbose options out of the box. As the name suggests, verbose is for displaying the work done by JVM. Mostly the information provided by these parameters is used for debugging purposes. Since it is used for debugging, its use is in development. One would never have to use verbose parameters in production enviornment. The three verbose options supported by JVM are: -verbose:class -verbose:gc -verbose:jni -verbose:class is used to display the information about classes being loaded by JVM. This is useful when using class loaders for loading classes dynamically or for analysing what all classes are getting loaded in a particular scenario. A very simple program which does nothing also loads so many classes. -verbose:gc is used to check garbage collection event information. When used as command line argument for running Java program, the details of garbage collection are printed on the console. -verbose:jni is used for printing the native methods as and when they are registered in the application. These methods include JDK as well as custom native methods. Note that jni stands for Java Native Interface.
09-12-2014 15:52:53JavaOSJavaOS is an operating system with a Java virtual machine as a fundamental component, originally developed by Sun Microsystems. Unlike Windows, Mac OS, Unix or Unix-like systems which are primarily written in the C programming language, JavaOS is primarily written in Java. It is now considered a legacy system.
09-12-2014 15:51:43Legacy SystemIn computing a legacy system is an old method, technology, computer system, or application program,"of, relating to, or being a previous or outdated computer system." Often a pejorative term, referencing a system as "legacy" often implies that the system is out of date or in need of replacement. A more recent definition says that "a legacy system is any corporate computer system that isn't Internet-dependent."
09-12-2014 15:22:30Privacy mode or &quot;private browsing&quot; or &quot;incognito mode&quot;Privacy mode or "private browsing" or "incognito mode", is a privacy feature in some web browsers to disable browsing history and the web cache. This allows a person to browse the Web without storing local data that could be retrieved at a later date. Privacy mode will also disable the storage of data in cookies and Flash cookies. This privacy protection is only on the local computing device as it is still possible to identify frequented websites by associating the IP address at the web server.
09-12-2014 15:18:20OpenJDK (Open Java Development Kit)OpenJDK (Open Java Development Kit) is a free and open source implementation of the Java Platform, Standard Edition (Java SE). It is the result of an effort Sun Microsystems began in 2006. The implementation is licensed under the GNU General Public License (GNU GPL) with a linking exception. Were it not for the GPL linking exception, components that linked to the Java class library would be subject to the terms of the GPL license. OpenJDK is the official Java SE 7 reference implementation.
09-12-2014 15:03:35Bootstrapping (booting)In general parlance, bootstrapping usually refers to the starting of a self-sustaining process that is supposed to proceed without external input. In computer technology the term (usually shortened to booting) usually refers to the process of loading the basic software into the memory of a computer after power-on or general reset, especially the operating system which will then take care of loading other software as needed.
09-12-2014 15:01:14Java Class Library (rt.jar)The Java Class Library (JCL) is a set of dynamically loadable libraries that Java applications can call at run time. Because the Java Platform is not dependent on a specific operating system, applications cannot rely on any of the platform-native libraries. Instead, the Java Platform provides a comprehensive set of standard class libraries, containing the functions common to modern operating systems. JCL serves three purposes within the Java Platform: 1. Like other standard code libraries, they provide the programmer a well-known set of useful facilities, such as container classes and regular expression processing. 2. The library provides an abstract interface to tasks that would normally depend heavily on the hardware and operating system, such as network access and file access. 3. Some underlying platforms may not support all of the features a Java application expects. In these cases, the library implementation can either emulate those features or provide a consistent way to check for the presence of a specific feature. JCL is almost entirely written in Java, except for the parts that need direct access to the hardware and operating system (such as for I/O, or bitmap graphics). The classes that give access to these functions commonly use Java Native Interface wrappers to access operating system APIs. Almost all of JCL is stored in a single Java archive file called "rt.jar", which is provided with JRE and JDK distributions. The Java Class Library (rt.jar) is located in the default bootstrap classpath, and does not have to appear in the classpath declared for the application. The runtime uses the bootstrap class loader to find the JCL. rt.jar contains all the RunTime classes that comprise the Java SE platform's core API's. In simple terms this is the jar which contains classes like java.lag.String, java.io package etc. The source code for these API's can be found in src.zip file in JAVA_HOME. Since all the classes in the rt.jar are known to the JVM, these classes tend to be left alone with various checks that JVM does while loading these classes onto it. This is also done for various performance reasons. These jars are loaded by primodial class loaders and that's the reason these classes avoid the basic security checks which the JVM does for other jars/classes.
08-12-2014 17:42:00Difference between java/ javaw/ javawsjava: java application executor which is associated with a console to display output/errors javaw: (java windowed) application executor not associated with console. So no display of output/errors. Can be used to silently push the output/errors to text files. Mostly used to launch GUI based application javaws: (java web start) to download and run the distributed web applications. again No console is associated. All are part of JRE and use same JVM.
08-12-2014 17:13:32Instruction setAn instruction set, or instruction set architecture (ISA), is the part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O. An ISA includes a specification of the set of opcodes (machine language), and the native commands implemented by a particular processor. Classification of instruction sets A complex instruction set computer (CISC) has many specialized instructions, some of which may only be rarely used in practical programs. A reduced instruction set computer (RISC) simplifies the processor by only implementing instructions that are frequently used in programs; unusual operations are implemented as subroutines, where the extra processor execution time is offset by their rare use. Theoretically important types are the minimal instruction set computer and the one instruction set computer, but these are not implemented in commercial processors. Another variation is the very long instruction word (VLIW) where the processor receives many instructions encoded and retrieved in one instruction word.
08-12-2014 17:00:55ARM architectureARM is a family of instruction set architectures for computer processors based on a reduced instruction set computing (RISC) architecture developed by British company ARM Holdings. A RISC-based computer design approach means ARM processors require significantly fewer transistors than typical CISC x86 processors in most personal computers. This approach reduces costs, heat and power use. Such reductions are desirable traits for light, portable, battery-powered devices-&#8203;including smartphones, laptops, tablet and notepad computers, and other embedded systems. A simpler design facilitates more efficient multi-core CPUs and higher core counts at lower cost, providing improved energy efficiency for servers. ARM Holdings develops the instruction set and architecture for ARM-based products, but does not manufacture products. The company periodically releases updates to its cores. Current cores from ARM Holdings support a 32-bit address space and 32-bit arithmetic; the ARMv8-A architecture, announced in October 2011, adds support for a 64-bit address space and 64-bit arithmetic. Instructions for ARM Holdings' cores have 32 bits wide fixed-length instructions, but later versions of the architecture also support a variable-length instruction set that provides both 32 and 16 bits wide instructions for improved code density. Some cores can also provide hardware execution of Java bytecodes. ARM Holdings licenses the chip designs and the ARM instruction set architectures to third parties, who design their own products that implement one of those architectures-&#8203;including systems-on-chips (SoC) that incorporate memory, interfaces, radios, etc. Currently, the widely used Cortex cores, older "classic" cores, and specialized SecurCore cores variants are available for each of these to include or exclude optional capabilities. Companies that make chips that implement an ARM architecture include Apple, AppliedMicro, Atmel, Broadcom, Freescale Semiconductor, Nvidia, NXP, Qualcomm, Samsung Electronics, ST Microelectronics and Texas Instruments. Qualcomm introduces new three-layer 3D chip stacking in their 2014-15 ARM SoCs such as in their first 20 nm 64-bit octa-core. Globally ARM is the most widely used instruction set architecture in terms of quantity produced. The low power consumption of ARM processors has made them very popular: over 50 billion ARM processors have been produced as of 2014, thereof 10 billion in 2013 and "ARM-based chips are found in nearly 60 percent of the world's mobile devices". In 2008, 10 billion chips had been produced. The ARM architecture (32-bit) is the most widely used architecture in mobile devices, and most popular 32-bit one in embedded systems. In 2005, about 98% of all mobile phones sold used at least one ARM processor. According to ARM Holdings, in 2010 alone, producers of chips based on ARM architectures reported shipments of 6.1 billion ARM-based processors, representing 95% of smartphones, 35% of digital televisions and set-top boxes and 10% of mobile computers.
08-12-2014 16:39:56Dalvik (software)Dalvik is the process virtual machine (VM) in Google_s Android operating system, which, specifically, executes applications written for Android. This makes Dalvik an integral part of the Android software stack, which is typically used on mobile devices such as mobile phones and tablet computers, as well as more recently on devices such as smart TVs and wearables. Programs are commonly written in Java and compiled to bytecode for the Java virtual machine, which is then translated to Dalvik bytecode and stored in .dex (Dalvik EXecutable) and .odex (Optimized Dalvik EXecutable) files; related terms odex and de-odex are associated with respective bytecode conversions. The compact Dalvik Executable format is designed for systems that are constrained in terms of memory and processor speed. Dalvik is open-source software. It was originally written by Dan Bornstein, who named it after the fishing village of Dalvik in Eyjafjorour, Iceland. An alternative runtime environment called Android Runtime (ART) was included in Android 4.4-KitKat as a technology preview. ART replaces Dalvik entirely in Android 5.0-Lollipop.
08-12-2014 16:30:32List of Java virtual machinesThis article provides non-exhaustive lists of Java SE Java virtual machines (JVMs). It does not include a large number of Java ME vendors. Note that Java EE runs on the standard Java SE JVM but that some vendors specialize in providing a modified JVM optimized for Java EE applications. A large amount of Java development work takes place on Windows, Solaris, Linux and FreeBSD, primarily with the Oracle JVMs. Note the further complication of different 32-bit/64-bit varieties. The primary reference Java VM implementation is HotSpot, produced by Oracle Corporation. Free and open source implementations AegisVM (inactive since 2004). Apache Harmony - supports several architectures and systems. Discontinued November 2011. Apache License 2.0. Avian - A small, easily embeddable Java VM and classpath using just-in-time compilation. Azul Zulu - is an OpenJDK build supported by Azul Systems. It is open source and free to download. The initial release ran on Windows Server 2008 R2 and 2012 on the Windows Azure Cloud. Release in January 21, 2014 supports multiple versions of Linux as well as Amazon Web Services, Rackspace and various hypervisors. Also added an Enterprise version with subscription support available. In June 2014 Mac OS X support was added. Bck2Brwsr - small JVM capable to boot fast and run in 100% of modern browsers including those that have no special support for Java. Last release in September, 2013. CACAO - uses GNU Classpath, supports multiple architectures. GPL. 1.6.0 released September 4, 2012. GCJ the GCC Java compiler, that compiles either to bytecode or to native machine code. The product is currently in maintenance mode. HaikuVM, for Atmel AVRs (Arduino) and other micros using the leJOS runtime. HotSpot, the primary reference Java VM implementation. IcedTea - has the only working free software Java Web browser plugin. GPL+linking exception. IKVM.NET - Java for Mono and the Microsoft .NET Framework. Uses OpenJDK. Zlib License. Jamiga - for the Amiga platform. Depends on GNU Classpath. GPL. JamVM - Developed to be an extremely small virtual machine compared to others. Designed to use GNU Classpath. Supports several architectures. GPL. Jaos - Java on Active Object System. Uses GNU Classpath as a standard library. Unmaintained. Jato VM - uses GNU Classpath. GPL. JC - Converts class files from byte-code into C. Uses Soot and GNU Classpath. GNU Library or LGPL licenses. Jelatine JVM JESSICA (Java-Enabled Single-System-Image Computing Architecture). Jikes RVM (Jikes Research Virtual Machine) - Research project. PPC and IA-32. Supports Apache Harmony and GNU Classpath libraries. Eclipse Public License. JNode - operating system. Version 0.2.8 released on January 29, 2009. LGPL. JOP - Hardware implementation of the JVM. GPL 3. Juice - JavaME experimental JVM developed to run on the NUXI operating system. Jupiter - Uses Boehm garbage collector and GNU Classpath. GPL. Unmaintained. JwiK Open Source Java VM for 8bit micro for wireless applications. JX (operating system) - GPL. Version 0.1.1 released on October 10, 2007. Kaffe - Uses GNU Classpath. GPL. 1.1.9 released on February 26, 2008. leDos real-mode x86 JVM running on MS-DOS. MPL. leJOS - Robotics suite, a firmware replacement for Lego Mindstorms programmable bricks, provides a Java programming environment for the Lego Mindstorms RCX and NXT robots. MateVM - An experimental JIT implemented in Haskell. GPL. Maxine - meta-circular open source research VM from Oracle Labs. Mika VM - intended for use in embedded devices. Cross-platform. BSD-style licence. miniMV (from UABC-Tij for embedded systems and Wireless Sensor network devices). Mysaifu (Windows CE/Windows Mobile) - the only open source Java SE-compatible JVM still in development for PocketPC devices. GPL 2. NanoVM - developed to run on the Atmel AVR ATmega8 used in the Asuro Robot, can be ported to other AVR-based systems. RoboVM - AOT compiler and runtime which targets iOS, Mac OS X and Linux. Largely based on Android's runtime. SableVM - First free software JVM to support JVDMI and JDWP. Makes use of GNU Classpath. LGPL. Version 1.13 released on March 30, 2007. Squawk virtual machine - A Java ME VM for embedded systems and small devices. Cross-Platform. GPL. SuperWaba - Java-like virtual machine for portable devices. GPL. Discontinued, succeeded by TotalCross. TakaTuka - for wireless sensor network devices. GPL. TinyVM. VM02 a Java-compatible environment for the Apple II series of computers. VMkit of LLVM. Wonka VM - Developed to run on Acunia's ARM-based hardware. Some code drawn from GNU Classpath. BSD-style licence. No longer under active development, superseded by Mika VM. Proprietary implementations Azul Zing JVM a fully compliant Java Virtual Machine based on HotSpot that uses the Azul C4 (Continuously Concurrent Compacting Collector) garbage collector. Supports memory heaps of 100s of GB without GC pauses and is able to grow and shrink the
08-12-2014 02:16:32Placeholder names - John DoePlaceholder names are words that can refer to objects or people whose names are temporarily forgotten, irrelevant, or unknown in the context in which they are being discussed. Computing-specific -Foo, Bar, Baz, and Qux (and combinations thereof) are commonly used as placeholders for file, function and variable names. Foo and bar probably relate to FUBAR. -Hacker slang includes a number of placeholders, such as frob, which may stand for any small piece of equipment. To frob, likewise, means to do something to something. In practice it means: to adjust (a device) in an aimless way. -Alice and Bob, alternatives for 'Person A'/'Person B' when describing processes in telecommunications; in cryptography Eve (the eavesdropper) is also added. -J. Random X (e.g., J. Random Hacker, J. Random User) is a term used in computer jargon for a randomly selected member of a set, such as the set of all users. Sometimes used as J. Random Loser for any not-very-computer-literate user. -Johnny Appleseed, commonly used as a placeholder name by Apple. etc. etc. etc. etc.
08-12-2014 02:05:13The Jargon FileThe Jargon File is a glossary of computer programmer slang. The original Jargon File was a collection of terms from technical cultures such as the MIT AI Lab, the Stanford AI Lab (SAIL) and others of the old ARPANET AI/LISP/PDP-10 communities, including Bolt, Beranek and Newman, Carnegie Mellon University, and Worcester Polytechnic Institute.
06-12-2014 00:56:44The Kaffe Virtual MachineKaffe is a clean room implementation of the Java virtual machine, plus the associated class libraries needed to provide a Java runtime environment. The Kaffe virtual machine is free software, licensed under the terms of the GNU General Public License. Kaffe is not an officially licensed version of the Java virtual machine. In fact, it contains no Sun/Oracle source code at all, and was developed without even looking at the Sun/Oracle source code. It is legal -- but Oracle controls the Java trademark, and has never endorsed Kaffe, so technically, Kaffe is not Java. Kaffe has moved to GitHub! Go there to get the latest downloads, source code, and documentation.:: http://github.com/kaffe/kaffe
06-12-2014 00:42:25GCC, the GNU Compiler CollectionThe GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, Ada, and Go, as well as libraries for these languages (libstdc++, libgcj,...). GCC was originally written as the compiler for the GNU operating system. The GNU system was developed to be 100% free software, free in the sense that it respects the user's freedom. We strive to provide regular, high quality releases, which we want to work well on a variety of native and cross targets (including GNU/Linux), and encourage everyone to contribute changes or help testing GCC. Our sources are readily and freely available via SVN and weekly snapshots. Major decisions about GCC are made by the steering committee, guided by the mission statement.
06-12-2014 00:37:45GNU Interpreter for Java (GIJ)The GNU Interpreter for Java (GIJ) is a Java bytecode interpreter for the Java programming language. It is distributed with the free software GNU Compiler for Java (GCJ). GCJ is the compiler counterpart to GIJ.
06-12-2014 00:36:03GNU Compiler for Java (GCJ)The GNU Compiler for Java (GCJ) is a free compiler for the Java programming language and a part of the GNU Compiler Collection. GCJ can compile Java source code to Java Virtual Machine bytecode or to machine code for a number of CPU architectures. It can also compile class files and whole JARs that contain bytecode.
06-12-2014 00:33:44GNU Compiler CollectionThe GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain. The Free Software Foundation (FSF) distributes GCC under the GNU General Public License (GNU GPL). GCC has played an important role in the growth of free software, as both a tool and an example. Originally named the GNU C Compiler, when it only handled the C programming language, GCC 1.0 was released in 1987 and the compiler was extended to compile C++ in December of that year. Front ends were later developed for Objective-C, Objective-C++, Fortran, Java, Ada, and Go among others. GCC has been ported to a wide variety of processor architectures, and is widely deployed as a tool in the development of both free and proprietary software. GCC is also available for most embedded platforms, including Symbian (called gcce), AMCC, and Freescale Power Architecture-based chips. The compiler can target a wide variety of platforms, including video game consoles such as the PlayStation 2 and Dreamcast. As well as being the official compiler of the GNU operating system, GCC has been adopted as the standard compiler by many other modern Unix-like computer operating systems, including Linux and the BSD family, although FreeBSD is moving to the LLVM system. Versions are also available for Microsoft Windows and other operating systems.
05-12-2014 16:29:32java. lang. NoClassDefFoundError: javax/ media/ ControllerListenerjmf.jar is in your CLASSPATH but you are using the JDK 1.2+. JDK 1.2 and later require standard extensions to be loaded from JDK/jre/lib/ext directory. When you install JMF 2.1.1 on Windows), it will automatically install the jmf.jar in the above mentioned directory. If for some reason it did not, or you installed JDK 1.2 or later after installing JMF, then you need to manually copy the jmf.jar and sound.jar files to the JDK/jre/lib/ext directory.
29-11-2014 18:36:29Setting library path for dll which is in jar fileWhen a java code loads a native library (generally done via System.load()), this call is a native call to OS. The actual loading of DLL is done by OS. In that case the OS would need a definite path to the dll to be loaded. If the DLLs are inside some jar file, the OS does not recognize jar files structure (it can only be interpreted by java runtime) so those files wont be found when packaged inside jar. Just an example, for a standard JDK distribution, all the class files are packaged in rt.jar file, whereas all the native code DLLs (sockets, awt etc ) are at a separate location (jre/bin). So my suggestion would be, create two set of files one jar and other DLLs. Create a ZIP archive. Now if anybody who needs to use this, have to unzip, keep jar in classpath and DLLs in PATH.
28-11-2014 19:41:52Dependency WalkerDependency Walker or depends.exe is a free program for Microsoft Windows used to list the imported and exported functions of a portable executable file. It also displays a recursive tree of all the dependencies of the executable file (all the files it requires to run). Dependency Walker was included in Microsoft Visual Studio until Visual Studio 2005 (Version 8.0) and Windows XP SP2 support tools.
28-11-2014 19:08:36Dependency hellDependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages. The dependency issue arises around shared packages/libraries on which several other packages have dependencies but where they depend on different and incompatible versions of the shared packages. If the shared package/library can only be installed in a single version, the user/administrator may need to address the problem by obtaining newer/older versions of the dependent packages. This, in turn, may break other dependencies and push the problem to another set of packages, thus the term hell.
28-11-2014 19:06:51DLL HellIn computing, DLL Hell is a term for the complications that arise when working with dynamic link libraries (DLLs) used with Microsoft Windows operating systems, particularly legacy 16-bit editions which all run in a single memory space. DLL Hell can manifest itself in many different ways; typically when applications do not launch or work correctly. DLL Hell is the Windows ecosystem specific form of the general concept Dependency hell.
27-11-2014 20:28:08Laws of motion (Newton)Newton_s Laws of motion are three physical laws that together laid the foundation for classical mechanics. They describe the relationship between a body and the forces acting upon it, and its motion in response to said forces. They have been expressed in several different ways over nearly three centuries, and can be summarised as follows. First law: When viewed in an inertial reference frame, an object either remains at rest or continues to move at a constant velocity, unless acted upon by an external force. Second law: The vector sum of the forces F on an object is equal to the mass m of that object multiplied by the acceleration vector a of the object: F = ma. Third law: When one body exerts a force on a second body, the second body simultaneously exerts a force equal in magnitude and opposite in direction on the first body. The three laws of motion were first compiled by Isaac Newton in his Philosophiae Naturalis Principia Mathematica (Mathematical Principles of Natural Philosophy), first published in 1687. Newton used them to explain and investigate the motion of many physical objects and systems. For example, in the third volume of the text, Newton showed that these laws of motion, combined with his law of universal gravitation, explained Kepler_s laws of planetary motion.
27-11-2014 19:40:57VSXu (VSX Ultra)VSXu (VSX Ultra) is an OpenGL-based (hardware-accelerated), modular programming environment with its main purpose to visualize music/audio data and create 3D effects in real-time. Available for Windows and GNU/Linux. It is currently released as free software under terms of the GNU General Public License v2 and maintained by Vovoid Media Technologies AB. VSXu is built on a modular plug-in-based architecture so anyone can extend it and or make visualization presets ("visuals" or "states").
26-11-2014 23:59:35Moore_s lawMoore_s law is the observation that, over the history of computing hardware, the number of transistors in a dense integrated circuit doubles approximately every two years. The observation is named after Gordon E. Moore, co-founder of the Intel Corporation, who described the trend in his 1965 paper. His prediction has proven to be accurate, in part because the law now is used in the semiconductor industry to guide long-term planning and to set targets for research and development. The capabilities of many digital electronic devices are strongly linked to Moore's law: quality-adjusted microprocessor prices, memory capacity, sensors and even the number and size of pixels in digital cameras. All of these are improving at roughly exponential rates as well. This exponential improvement has dramatically enhanced the effect of digital electronics in nearly every segment of the world economy. Moore's law describes a driving force of technological and social change, productivity, and economic growth in the late twentieth and early twenty-first centuries. The period is often quoted as 18 months because of Intel executive David House, who predicted that chip performance would double every 18 months (being a combination of the effect of more transistors and their being faster). Although this trend has continued for more than half a century, "Moore's law" should be considered an observation or conjecture and not a physical or natural law. Sources in 2005 expected it to continue until at least 2015 or 2020. The 2010 update to the International Technology Roadmap for Semiconductors predicted that growth will slow at the end of 2013, however, when transistor counts and densities are to double only every three years.
23-11-2014 17:41:08Full form of KDE, GNOM and GNU?KDE stands for K Desktop Environment. The letter K used to stand for Kool. KDE stands for "K Desktop Environment" K Desktop Environment (KDE) is a free and open source graphical desktop environment for UNIX workstations. GNOME stands for GNU Network Object Model Environment. GNOME stands for "GNU Network Object Model Environment" GNOME (pronounced gah-NOHM) is a free and open source desktop environment and graphical user interface that runs on top of UNIX-based operating system. GNU is a recursive acronym and stands for GNU's Not Unix. GNU stands for "GNU's Not Unix" GNU (pronounced guh-noo) is a Unix-like computer operating system developed by the GNU project, Free Software Foundation.
23-11-2014 17:35:16GPartedGParted is a GTK+ front-end to GNU Parted and the official GNOME Partition Editor application besides Disks. It is used for creating, deleting, resizing, moving, checking and copying partitions, and the file systems on them. This is useful for creating space for new operating systems (works with Windows Vista / 7 System & Data partitions), reorganizing disk usage, copying data residing on hard disks and mirroring one partition with another (disk imaging).
23-11-2014 16:47:53RPM FusionRPM Fusion, is a software repository, providing add-on packages for the Fedora distribution of the Linux computer operating system. It was born as a merge of the older repositories Livna, Dribble and Freshrpms. They distributed software that Fedora will not, either because it does not meet Fedora's definition of free software, or because distribution of that software may violate US law.
23-11-2014 05:21:19KDEKDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Solaris, Microsoft Windows, and OS X systems. It is known for its Plasma Desktop, a desktop environment provided as the default working environment on many Linux distributions, such as openSUSE, Mageia and Kubuntu and is default desktop environment on PC-BSD, a BSD operating system. The goal of the community is to provide basic desktop functions and applications for daily needs as well as tools and documentation for developers to write stand-alone applications for the system. In this regard, the KDE project serves as an umbrella project for many standalone applications and smaller projects that are based on KDE technology. These include Calligra Suite, digiKam, Rekonq, K3b, and many others. KDE software is based on the Qt framework. The original GPL version of this toolkit only existed for the X11 platform, but with the release of Qt 4, LGPL versions are available for all platforms. This allows KDE software based on Qt 4 to also be distributed to Microsoft Windows and OS X.
23-11-2014 05:19:17GNOMEGNOME is a desktop environment which is composed entirely of free and open-source software and targets to be cross-platform, i.e. run on multiple operating systems, its main focus being those based on the Linux kernel. GNOME is developed by The GNOME Project, which is composed of both volunteers and paid contributors, the largest corporate contributor being Red Hat. It is an international project that aims to develop software frameworks for the development of software, to program end-user applications based on these frameworks and coordinates the efforts for internationalization and localization as well as for accessibility of that software. GNOME is part of the GNU Project.
22-11-2014 22:40:56Fork (system call)In computing, particularly in the context of the Unix operating system and its workalikes, fork is an operation whereby a process creates a copy of itself. It is usually a system call, implemented in the kernel. Fork is the primary (and historically, only) method of process creation on Unix-like operating systems.
21-11-2014 23:53:37Microsoft DirectXMicrosoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with Direct, such as Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, and so forth. The name DirectX was coined as shorthand term for all of these APIs (the X standing in for the particular API names) and soon became the name of the collection. When Microsoft later set out to develop a gaming console, the X was used as the basis of the name Xbox to indicate that the console was based on DirectX technology. The X initial has been carried forward in the naming of APIs designed for the Xbox such as XInput and the Cross-platform Audio Creation Tool (XACT), while the DirectX pattern has been continued for Windows APIs such as Direct2D and DirectWrite. Direct3D (the 3D graphics API within DirectX) is widely used in the development of video games for Microsoft Windows, Sega Dreamcast, Microsoft Xbox, Microsoft Xbox 360, and Microsoft Xbox One. Direct3D is also used by other software applications for visualization and graphics tasks such as CAD/CAM engineering. As Direct3D is the most widely publicized component of DirectX, it is common to see the names "DirectX" and "Direct3D" used interchangeably. The DirectX software development kit (SDK) consists of runtime libraries in redistributable binary form, along with accompanying documentation and headers for use in coding. Originally, the runtimes were only installed by games or explicitly by the user. Windows 95 did not launch with DirectX, but DirectX was included with Windows 95 OEM Service Release 2. Windows 98 and Windows NT 4.0 both shipped with DirectX, as has every version of Windows released since. The SDK is available as a free download. While the runtimes are proprietary, closed-source software, source code is provided for most of the SDK samples. Starting with the release of Windows 8 Developer Preview, DirectX SDK has been integrated into Windows SDK. Direct3D 9Ex, Direct3D 10, and Direct3D 11 are only available for Windows Vista and newer because each of these new versions was built to depend upon the new Windows Display Driver Model that was introduced for Windows Vista. The new Vista/WDDM graphics architecture includes a new video memory manager supporting virtualization of graphics hardware for various applications and services like the Desktop Window Manager.
20-11-2014 12:40:55JNA vs JNIJNA is much slower than JNI, but much easier. If performance is not an issue use JNA.
20-11-2014 12:33:10Java Native Interface (JNI)In computing, the Java Native Interface (JNI) is a programming framework that enables Java code running in a Java Virtual Machine (JVM) to call and be called by native applications (programs specific to a hardware and operating system platform) and libraries written in other languages such as C, C++ and assembly.
19-11-2014 23:32:39TLDR or TL;DRTraditionally, the phrase "too long; didn't read" (abbreviated tl;dr or simply tldr) has been used on the Internet as a reply to an excessively long statement. It indicates that the reader did not actually read the statement due to its undue length. This essay especially considers the term as used in Wikipedia discussions, and examines methods of fixing the problem when found in article content.
19-11-2014 17:39:14Windows Presentation Foundation (or WPF)Windows Presentation Foundation (or WPF) is a graphical subsystem for rendering user interfaces in Windows-based applications by Microsoft. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0. Rather than relying on the older GDI subsystem, WPF uses DirectX. WPF attempts to provide a consistent programming model for building applications and separates the user interface from business logic. It resembles similar XML-oriented object models, such as those implemented in XUL and SVG. WPF employs XAML, an XML-based language, to define and link various interface elements. WPF applications can also be deployed as standalone desktop programs, or hosted as an embedded object in a website. WPF aims to unify a number of common user interface elements, such as 2D/3D rendering, fixed and adaptive documents, typography, vector graphics, runtime animation, and pre-rendered media. These elements can then be linked and manipulated based on various events, user interactions, and data bindings. WPF runtime libraries are included with all versions of Microsoft Windows since Windows Vista and Windows Server 2008. Users of Windows XP SP2/SP3 and Windows Server 2003 can optionally install the necessary libraries. Microsoft Silverlight provides functionality that is mostly a subset of WPF to provide embedded web controls comparable to Adobe Flash. 3D runtime rendering has been supported in Silverlight since Silverlight 5.
19-11-2014 17:16:26Python (programming language)Python is a widely used general-purpose, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C++ or Java. The language provides constructs intended to enable clear programs on both a small and large scale. Python supports multiple programming paradigms, including object-oriented, imperative and functional programming or procedural styles. It features a dynamic type system and automatic memory management and has a large and comprehensive standard library. Python interpreters are available for installation on many operating systems, allowing Python code execution on a majority of systems. Using third-party tools, such as Py2exe or Pyinstaller, Python code can be packaged into stand-alone executable programs for some of the most popular operating systems, allowing for the distribution of Python-based software for use on those environments without requiring the installation of a Python interpreter. CPython, the reference implementation of Python, is free and open-source software and has a community-based development model, as do nearly all of its alternative implementations. CPython is managed by the non-profit Python Software Foundation.
19-11-2014 17:04:07EDT (The Event Dispatch Thread)Swing event handling code runs on a special thread known as the event dispatch thread. Most code that invokes Swing methods also runs on this thread. This is necessary because most Swing object methods are not "thread safe": invoking them from multiple threads risks thread interference or memory consistency errors. Some Swing component methods are labelled "thread safe" in the API specification; these can be safely invoked from any thread. All other Swing component methods must be invoked from the event dispatch thread. Programs that ignore this rule may function correctly most of the time, but are subject to unpredictable errors that are difficult to reproduce. A note on thread safety: It may seem strange that such an important part of the Java platform is not thread safe. It turns out that any attempt to create a thread-safe GUI library faces some fundamental problems. For more on this issue, see the following entry in Graham Hamilton's blog: MultiThreaded toolkits: A failed dream? It's useful to think of the code running on the event dispatch thread as a series of short tasks. Most tasks are invocations of event-handling methods, such as ActionListener.actionPerformed. Other tasks can be scheduled by application code, using invokeLater or invokeAndWait. Tasks on the event dispatch thread must finish quickly; if they don't, unhandled events back up and the user interface becomes unresponsive. If you need to determine whether your code is running on the event dispatch thread, invoke javax.swing.SwingUtilities.isEventDispatchThread.
19-11-2014 16:38:04KDE (K Desktop Environment)KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Solaris, Microsoft Windows, and OS X systems. It is known for its Plasma Desktop, a desktop environment provided as the default working environment on many Linux distributions, such as openSUSE, Mageia and Kubuntu and is default desktop environment on PC-BSD, a BSD operating system. The goal of the community is to provide basic desktop functions and applications for daily needs as well as tools and documentation for developers to write stand-alone applications for the system. In this regard, the KDE project serves as an umbrella project for many standalone applications and smaller projects that are based on KDE technology. These include Calligra Suite, digiKam, Rekonq, K3b, and many others. KDE software is based on the Qt framework. The original GPL version of this toolkit only existed for the X11 platform, but with the release of Qt 4, LGPL versions are available for all platforms. This allows KDE software based on Qt 4 to also be distributed to Microsoft Windows and OS X.
19-11-2014 16:11:54Introduction to Xuggler for Video ManipulationWith the explosion of video in the internet, developers frequently need to manipulate video content in their applications. Xuggler is a free open-source library for Java developers which can be used to uncompress, manipulate, and compress recorded or live video in real time. Xuggler uses the very powerful FFmpeg media handling libraries under the hood, essentially playing the role of a java wrapper around them. It is the easy way to uncompress, modify, and re-compress any media file (or stream) from Java. FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video, supporting numerous formats. It is probable that you are already using it on your computer, even without knowing it. However, Xuggler's use is not limited to just providing an easy access to the complex FFmpeg native libraries. The Xuggler dev team also constantly adds improvements to FFmpeg. You can find the latest news on the Xuggle blog, where a number of tutorials is also published.
19-11-2014 16:07:42R.S.V.P.R.S.V.P. stands for a French phrase, "repondez, s'il vous plait," which means "please reply".
19-11-2014 16:04:16AFAIKAs Far As I Know
19-11-2014 15:22:06Standard Widget Toolkit (SWT)The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform. It was originally developed by Stephen Northover at IBM and is now maintained by the Eclipse Foundation in tandem with the Eclipse IDE. It is an alternative to the Abstract Window Toolkit (AWT) and Swing Java GUI toolkits provided by Sun Microsystems as part of the Java Platform, Standard Edition. To display GUI elements, the SWT implementation accesses the native GUI libraries of the operating system using JNI (Java Native Interface) in a manner that is similar to those programs written using operating system-specific APIs. Programs that call SWT are portable, but the implementation of the toolkit, despite part of it being written in Java, is unique for each platform. The toolkit is licensed under the Eclipse Public License, an open source license approved by the Open Source Initiative.
18-11-2014 11:47:00Java Native Access (JNA)JNA provides Java programs easy access to native shared libraries without writing anything but Java code - no JNI or native code is required. This functionality is comparable to Windows' Platform/Invoke and Python's ctypes. JNA allows you to call directly into native functions using natural Java method invocation. The Java call looks just like the call does in native code. Most calls require no special handling or configuration; no boilerplate or generated code is required. JNA uses a small JNI library stub to dynamically invoke native code. The developer uses a Java interface to describe functions and structures in the target native library. This makes it quite easy to take advantage of native platform features without incurring the high overhead of configuring and building JNI code for multiple platforms. While significant attention has been paid to performance, correctness and ease of use take priority. In addition, JNA includes a platform library with many native functions already mapped as well as a set of utility interfaces that simplify native access. Projects Using JNA JNA is a mature library with dozens of contributors and hundreds of commercial and non-commercial projects that use it. Supported Platforms JNA will build on most linux-like platforms with a reasonable set of GNU tools and a JDK. See the native Makefile for native configurations that have been built and tested. If your platform is supported by libffi, then chances are you can build JNA for it.
18-11-2014 11:42:53Java Native AccessJava Native Access is a community-developed library that provides Java programs easy access to native shared libraries without using the Java Native Interface. JNA's design aims to provide native access in a natural way with a minimum of effort. No boilerplate or generated glue code is required.
17-11-2014 22:22:14vlcjvlcj can be used to create many different types of rich media applications, including audio players, movie players with native video output embedded in a Java component, network streaming clients and servers, web-cam clients, video processing applications and so on. vlcj provides low-level Java bindings to the native libvlc library, and also provides a programming framework with higher level classes and constructs that encapsulate most, if not all, of the difficulties involved when working with libvlc. vlcj is developed and maintained by Caprica Software Limited. The main package is uk.co.caprica.vlcj.player. For a rapid start, look at the EmbeddedMediaPlayerComponent class.
17-11-2014 22:03:58vlcjA framework for embedding the vlc media player in Java applications.
17-11-2014 22:02:06XugglerXuggler is the easy way to uncompress, modify, and re-compress any media file (or stream) from Java.
17-11-2014 21:45:37Die (integrated circuit)A die in the context of integrated circuits is a small block of semiconducting material, on which a given functional circuit is fabricated. Typically, integrated circuits are produced in large batches on a single wafer of electronic-grade silicon (EGS) or other semiconductor (such as GaAs) through processes such as photolithography. The wafer is cut ("diced") into many pieces, each containing one copy of the circuit. Each of these pieces is called a die. There are three commonly used plural forms: dice, dies, and die.
17-11-2014 21:43:15Graphics Processing Unit (GPU)A graphics processing unit (GPU), also occasionally called visual processing unit (VPU), is a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display. GPUs are used in embedded systems, mobile phones, personal computers, workstations, and game consoles. Modern GPUs are very efficient at manipulating computer graphics and image processing, and their highly parallel structure makes them more effective than general-purpose CPUs for algorithms where processing of large blocks of data is done in parallel. In a personal computer, a GPU can be present on a video card, or it can be on the motherboard or-in certain CPUs-on the CPU die. The term GPU was popularized by Nvidia in 1999, who marketed the GeForce 256 as "the world's first 'GPU', or Graphics Processing Unit, a single-chip processor with integrated transform, lighting, triangle setup/clipping, and rendering engines that are capable of processing a minimum of 10 million polygons per second". Rival ATI Technologies coined the term visual processing unit or VPU with the release of the Radeon 9700 in 2002.
17-11-2014 21:37:48Hardware AccelerationIn computing, hardware acceleration is the use of computer hardware to perform some functions faster than is possible in software running on a more general-purpose CPU. Examples of hardware acceleration include blitting acceleration functionality in graphics processing units (GPUs) and regular expression hardware acceleration for spam control in the server industry. Normally, processors are sequential, and instructions are executed one by one. Various techniques are used to improve performance; hardware acceleration is one of them. The main difference between hardware and software is concurrency, allowing hardware to be much faster than software. Hardware accelerators are designed for computationally intensive software code. Depending upon granularity, hardware acceleration can vary from a small functional unit to a large functional block (like motion estimation in MPEG-2). The hardware that performs the acceleration, when in a separate unit from the CPU, is referred to as a hardware accelerator, or often more specifically as a 3D accelerator, cryptographic accelerator, etc. Those terms, however, are older and have been replaced with less descriptive terms like video card or network adapter. In the hierarchy of general-purpose processors such as CPUs, more specialized processors such as GPUs, fixed-function implemented on FPGAs, and fixed-function implemented on ASICs; there is a tradeoff between flexibility and efficiency, with efficiency increasing by orders of magnitude when any one application is executed higher up that hierarchy.
16-11-2014 20:43:55The Java Foundation Classes (JFC)The Java Foundation Classes (JFC) are a graphical framework for building portable Java-based graphical user interfaces (GUIs). JFC consists of the Abstract Window Toolkit (AWT), Swing and Java 2D. Together, they provide a consistent user interface for Java programs, regardless whether the underlying user interface system is Windows, Mac OS X or Linux.
15-11-2014 11:05:06TeamViewerTeamViewer is a proprietary computer software package for remote control, desktop sharing, online meetings, web conferencing and file transfer between computers. Versions are available for the Microsoft Windows, OS X, Desktop Linux,[3] iOS, Android Linux, Windows RT and Windows Phone operating systems. It is also possible to access a machine running TeamViewer with a web browser. While the main focus of the application is remote control of computers, collaboration and presentation features are included. TeamViewer can be used without charge by non-commercial users, and Business, Premium and Corporate versions are available. TeamViewer GmbH was founded in 2005 in Uhingen, Germany. Permira acquired TeamViewer GmbH from GFI in 2014.
13-11-2014 14:02:39QuickTime for Java (QTJ)QuickTime for Java or QTJ is a software library that allows software written in the Java programming language to provide multimedia functionality, by making calls into the native QuickTime library. In practice, it allows Java applications on Mac OS, Mac OS X and Microsoft Windows to support the capture, editing, playback, and export of many different media formats and codecs. QTJ has been deprecated by Apple.
13-11-2014 07:16:54Why are Java applications blocked by your security settings with the latest Java?SYMPTOMS:: Starting with Java 7 Update 51, trying to run Java applications generates messages =>Java applications are blocked by your security settings. =>Missing Application-Name manifest attribute =>Missing required Permissions manifest attribute in main jar CAUSE:: Java has further enhanced security to make the user system less vulnerable to external exploits. Starting with Java 7 Update 51, Java does not allow users to run applications that are not signed (unsigned), self-signed (not signed by trusted authority) or that are missing permission attributes. Risks involved in running applications => Unsigned application :: An application without a certificate (i.e. unsigned apps), or missing application Name and Publisher information are blocked by default. Running this kind of application is potentially unsafe and present higher level of risk. => Self-signed application (Certificate not from trusted authority) :: An application with self-signed certificate is blocked by default. Applications of this type present the highest level of risk because publisher is not identified and the application may be granted access to personal data on your computer. => Jar file missing Permission Attribute :: Permissions Attribute verifies that the application requests the permission level that developer specified. If this attribute is not present, it might be possible for an attacker to exploit a user by re-deploying an application that is signed with original certificate and running the application at a different privilege level. SOLUTION:: The application that you are running is blocked because the application does not comply with security guidelines implemented in Java 7 Update 51. Contact the developer or publisher of this application and let them know about the application being blocked. You can refer them to these links that provide information about implementing secure practices in the code for the application. WORKAROUND:: It is highly recommended not to run these types of applications. However if you still want to run these apps, run only if you understand the risks and implications. As a workaround, you can use the Exception Site list feature to run the applications blocked by security settings. Adding the URL of the blocked application to the Exception Site list allows it to run with some warnings. Steps to Add URLs to the Exception Site list 1. Go to the Java Control Panel (On Windows Click Start and then Configure Java) 2. Click on the Security tab 3. Click on the Edit Site List button 4. Click Add in the Exception Site List window 5. Click in the empty field under the Location field to enter the URL Example: http://www.example.com (URL should begin with http:// or https://) 6.Click OK to save the URL that you entered 7. Click Continue on the Security Warning dialog
12-11-2014 18:01:29Flush DNSA very common issue you may encounter is when your local DNS resolvers cache a domain name to IP mapping. When you're trying to go to the domain, it's actually pulling up an old IP address (cached on your own computer) instead of looking for a new one and finding the correct record. This article will give you the steps required to clear your cached DNS records. Microsoft Windows 8 1. Close the application you're currently working with, such as an internet browser or email client. 2. Press the Windows Logo + R keys together simultaneously. This will cause the Run dialogue window to appear. 3. Type cmd in the text box and select OK. 4. When the black screen appears, type the following command and hit enter: ipconfig /flushdns 5. Restart your application (browser or email client). Mac OS X 1. Close the application you're currently working with, such as an internet browser or email client. 2. Navigate to your Applications folder. 3. Open Utilities and double click on Terminal. 4. Type the following command and hit enter: sudo killall -HUP mDNSResponder This command should work on Mac OS X 10.5 (Leopard), 10.6 (Snow Leopard) and 10.7 (Lion). If the above command is not available, you can try the other flush DNS command as follows which should work on Mac OS X 10.4 (Tiger): sudo dscacheutil -flushcache 5. Restart your application (browser or email client). Don't worry if either command says something like "Not found", and continue to restart your application. Linux Note: Different distributions and versions of Linux may have slightly different commands due to differences in configuration. One of the commands below will probably work. 1. Open up a root terminal window (Ctrl+T in Gnome). 2. Type the following command and hit enter: /etc/init.d/nscd restart You may need to use sudo depending on your installation instead: sudo /etc/init.d/nscd restart Some distributions support this command: sudo /etc/init.d/dns-clean start Or support this command: sudo service nscd restart Some installations may have NSDS located in another directory, like the following example. You may need to locate where it is installed to be able to execute the correct command. /etc/rc.d/init.d/nscd restart 3. Restart your application (browser or email client).
12-11-2014 17:52:00How Do I Clear My Web Browser Cache?Each time you access a file through your web browser, it is cached (stored). In this way, certain files (including any images on the page) do not have to be retrieved anew from the remote web site each time you click the Back or Forward buttons. To see recent changes on a website, you should clear your browser's cache and refresh the page by hitting Ctrl+F5. Internet Explorer 8 1. From the Tools menu, select Delete Browsing History. 2. Next to Temporary Internet Files, click Delete files. 3. Click Yes, and then click Close to exit. If the options above are not available, try the steps below. 1. From the Tools menu, select Internet Options. 2. Under the General tab, locate Browser History and click Delete. 3. Check the box for Temporary Internet Files. 4. Click Delete, and then click OK to exit. Internet Explorer 4.x through 6.x 1. From the Tools menu, select Internet Options 2. Click the General tab. 3. In the Temporary Internet files section, click Delete Files. If you continue to have trouble successfully clearing the browser's cache, repeat the steps above and restart your computer. Firefox 10 for Windows and Mac OS X 1. From the Tools menu, select Clear Recent History. 2. From the drop-down menu, choose Everything and make sure Cache is checked. 3. Click Clear Now. Firefox 3.x 1. From the Tools menu, select Clear Recent History. 2. Select the Time Range to clear from the drop-down menu (Everything is recommended). 3. Click Details to choose what history elements to clear. 4. Select only the check box for Cache. 5. Click Clear Now. 6. Exit and re-launch the browser. FireFox 1.x-3.0 1. From the Tools menu, click Clear Private Data (or Ctrl+Shift+Del). 2. Make sure the box is checked next to each option for which you wish to clear private data (browsing history, cache, cookies, authenticated sessions). 3. Click Clear Private Data Now. If you continue to have trouble successfully clearing the browser's cache, repeat the steps above and restart your computer. Safari 6 and up (mac osX) 1. In the Safari browser, select Menu &gt; Preferences. 2. In the Preferences dialog box, select the Advanced tab. 3. At the bottom of the Advanced tab, check the box for Show Develop menu. 4. Close the Preferences dialog box. 5. From the Develop menu, select Empty Caches. Safari 1.5-5.x (mac osX) 1. From the Safari menu, select Empty Cache. 2. When prompted, click Empty to confirm that you want to empty the cache. Google Chrome 1. Click the wrench icon in the top-right corner, next to the address bar. 2. Select Tools &gt; Clear Browsing Data. 3. When prompted, select only Cache and click Clear Browsing Data to finish. 4. If you continue to have trouble successfully clearing the browser's cache, repeat the steps above and restart your computer. Opera 8.0 and Below 1. Click Edit from the Opera menubar. 2. From the File menu, click Preferences. 3. Click the History and Cache menu. 4. Click Cache. 5. Click OK to close the Preferences menu If you continue to have trouble successfully clearing the browser's cache, repeat the steps above and restart your computer. AOL 1. Select Keyword &gt; Go to Keyword. 2. Type the keyword preferences. 3. Click Go. 4. From the dialog box, select Essentials tab &gt; Internet (Web) Options &gt; Set Web browser options and properties. 5. In the dialog box, select the General tab. 6. Click Delete files. 7. Dialog box: Delete Files: Delete all files in the Temporary Internet files 8. In the dialog box, select Delete all offline content. 9. Click OK to close the dialog box. 10. Click OK to close the remaining dialog box. If you continue to have trouble successfully clearing the browser's cache, repeat the steps above and restart your computer.
12-11-2014 17:15:17Must I restart Apache after changing a .htaccess file?No, you will not need to restart Apache. You will need to "hard refresh" your web page to see the changes. Simply go to your site and load the page that should be affected. Hit Ctrl + F5 to refresh everything (some computers require the F Lock to be on before you can use F5). Alternatively, you can: =>Clear your browser's cache. =>Close the browser. =>Relaunch the browser. =>Load your web page again. Now you should see your new .htaccess code take effect! Safari users : Safari 3 and below will require you to use the cmd + R hotkey. Safari 4 and above will require that you hold shift and click the refresh icon next to your address bar.
12-11-2014 12:14:49ObfuscationIn software development, obfuscation is the deliberate act of creating obfuscated code, i.e. source or machine code that is difficult for humans to understand. Programmers may deliberately obfuscate code to conceal its purpose (security through obscurity) or its logic, in order to prevent tampering, deter reverse engineering, or as a puzzle or recreational challenge for someone reading the source code. Programs known as obfuscators transform readable code into obfuscated code using various techniques.
12-11-2014 12:02:55Reverse engineeringReverse engineering is the process of extracting knowledge or design information from anything man-made. The process often involves disassembling something (a mechanical device, electronic component, computer program, or biological, chemical, or organic matter) and analyzing its components and workings in detail. The reasons and goals for obtaining such information vary widely from everyday or socially beneficial actions, to criminal actions, depending upon the situation. Often no-ones intellectual property rights are breached, such as when a person or business cannot recollect how something was done, or what something does, and needs to reverse engineer it to work it out for themselves. Reverse engineering is also beneficial in crime prevention, where suspected malware is reverse engineered to understand what it does, and how to detect and remove it, and to allow computers and devices to work together ("interoperate") and to allow saved files on obsolete systems to be used in newer systems. Used harmfully, reverse engineering can be used to "crack" software and media to remove their copy protection, or to create a (possibly improved) copy or even a knockoff; this is usually the goal of a competitor. Reverse engineering has its origins in the analysis of hardware for commercial or military advantage. However, the reverse engineering process in itself is not concerned with creating a copy or changing the artifact in some way; it is only an analysis in order to deduce design features from products with little or no additional knowledge about the procedures involved in their original production. In some cases, the goal of the reverse engineering process can simply be a redocumentation of legacy systems. Even when the product reverse engineered is that of a competitor, the goal may not be to copy them, but to perform competitor analysis. Reverse engineering may also be used to create interoperable products; despite some narrowly tailored US and EU legislation, the legality of using specific reverse engineering techniques for this purpose has been hotly contested in courts worldwide for more than two decades.
12-11-2014 10:09:54What is .htaccess? (godaddy)Using .htaccess files lets you control the behavior of your site or a specific directory on your site. For example, if you place an .htaccess file in your root directory, it will affect your entire site (www.coolexample.com). If you place it in a /content directory, it will only affect that directory (www.coolexample.com/content). .htaccess works on our Linux servers. Using an .htaccess file, you can: =>Customize the Error pages for your site. =>Protect your site with a password. =>Enable server-side includes. =>Deny access to your site based on IP. =>Change your default directory page (index.html). =>Redirect visitors to another page. =>Prevent directory listing. =>Add MIME types. .htaccess files are a simple ASCII text file with the name .htaccess. It is not an extension like .html or .txt. The entire file name is .htaccess.
11-11-2014 18:34:20Java Media Framework (JMF)The Java Media Framework (JMF) is a Java library that enables audio, video and other time-based media to be added to Java applications and applets. This optional package, which can capture, play, stream, and transcode multiple media formats, extends the Java Platform, Standard Edition (Java SE) and allows development of cross-platform multimedia applications.
11-11-2014 18:25:29JavaFXJavaFX is a software platform for creating and delivering rich internet applications (RIAs) that can run across a wide variety of devices. JavaFX is intended to replace Swing as the standard GUI library for Java SE, but both will be included for the foreseeable future. The current release has support for desktop computers and web browsers on Windows, Linux, and Mac OS X. Before version 2.0 of JavaFX, developers used a statically typed, declarative language called JavaFX Script to build JavaFX applications. Because JavaFX Script was compiled to Java bytecode, programmers could also use Java code instead. JavaFX applications could run on any desktop that could run Java SE, on any browser that could run Java EE, or on any mobile phone that could run Java ME. However, JavaFX 2.0 and later is now implemented as a native Java library and therefore applications using JavaFX are written in native Java code. JavaFX Script has been scrapped by Oracle, but development is being continued in the Visage project. JavaFX 2.x does not support the Solaris operating system or mobile phones; however as Oracle plans to integrate JavaFX to Java SE embedded 8, Java FX for ARM processors is currently in developer preview phase. On desktops, the current release supports Windows XP, Windows Vista, Windows 7, Windows 8, Mac OS X and Linux operating systems. Beginning with JavaFX 1.2, Oracle has released beta versions for OpenSolaris. On mobile, JavaFX Mobile 1.x is capable of running on multiple mobile operating systems, including Symbian OS, Windows Mobile, and proprietary real-time operating systems.
11-11-2014 13:37:07htaccess For 99% of the worlds best Apache admins., they do not use htaccess much, if AT ALL. It is much easier, safer, and faster to configure Apache using the httpd.conf file instead. However, this file is almost never readable on shared-hosts, and I have never seen it writable. So the only avenue left for those on shared-hosting was and is the htaccess file, and holy freaking fiber-optics... it is almost as powerful as httpd.conf itself!
11-11-2014 13:11:33.htaccess.htaccess is a very ancient configuration file that controls the Web Server running your website, and is one of the most powerful configuration files you will ever come across. .htaccess has the ability to control access of the WWW's HyperText Transfer Protocol (HTTP) using Password Protection, 301 Redirects, rewrites, and much much more. This is because this configuration file was coded in the earliest days of the web (HTTP), for one of the first Web Servers ever! Eventually these Web Servers (configured with htaccess) became known as the World Wide Web, and eventually grew into the Internet we use today.
11-11-2014 12:58:29.htaccess (hypertext access)A .htaccess (hypertext access) file is a directory-level configuration file supported by several web servers, that allows for decentralized management of web server configuration. They are placed inside the web tree, and are able to override a subset of the server's global configuration for the directory that they are in, and all sub-directories. The original purpose of .htaccess-reflected in its name-was to allow per-directory access control, by for example requiring a password to access the content. Nowadays however, the .htaccess files can override many other configuration settings including content type and character set, CGI handlers, etc.
11-11-2014 12:10:52gzip compressionAll modern browsers support and automatically negotiate gzip compression for all HTTP requests. Enabling gzip compression can reduce the size of the transferred response by up to 90%, which can significantly reduce the amount of time to download the resource, reduce data usage for the client, and improve the time to first render of your pages.
10-11-2014 18:42:02ACID (Atomicity, Consistency, Isolation, Durability)In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties that guarantee that database transactions are processed reliably. In the context of databases, a single logical operation on the data is called a transaction. For example, a transfer of funds from one bank account to another, even involving multiple changes such as debiting one account and crediting another, is a single transaction. Jim Gray defined these properties of a reliable transaction system in the late 1970s and developed technologies to achieve them automatically. In 1983, Andreas Reuter and Theo Harder coined the acronym ACID to describe them.
10-11-2014 18:40:59NoSQL (Not Only SQL)A NoSQL (often interpreted as Not Only SQL) database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Motivations for this approach include simplicity of design, horizontal scaling and finer control over availability. The data structure (e.g. key-value, graph, or document) differs from the RDBMS, and therefore some operations are faster in NoSQL and some in RDBMS. There are differences though, and the particular suitability of a given NoSQL DB depends on the problem it must solve (e.g., does the solution use graph algorithms?). NoSQL databases are increasingly used in big data and real-time web applications. NoSQL systems are also called "Not only SQL" to emphasize that they may also support SQL-like query languages. Many NoSQL stores compromise consistency (in the sense of the CAP theorem) in favor of availability and partition tolerance. Barriers to the greater adoption of NoSQL stores include the use of low-level query languages, the lack of standardized interfaces, and huge investments in existing SQL. Most NoSQL stores lack true ACID transactions, although a few recent systems, such as FairCom c-treeACE, Google Spanner (though technically a NewSQL database) and FoundationDB, have made them central to their designs.
10-11-2014 13:53:29Java Class Desktopjava.awt Class Desktop java.lang.Object =>java.awt.Desktop public class Desktop extends Object The Desktop class allows a Java application to launch associated applications registered on the native desktop to handle a URI or a file. Supported operations include: =>launching the user-default browser to show a specified URI; =>launching the user-default mail client with an optional mailto URI; =>launching a registered application to open, edit or print a specified file. This class provides methods corresponding to these operations. The methods look for the associated application registered on the current platform, and launch it to handle a URI or file. If there is no associated application or the associated application fails to be launched, an exception is thrown. An application is registered to a URI or file type; for example, the "sxi" file extension is typically registered to StarOffice. The mechanism of registering, accessing, and launching the associated application is platform-dependent. Each operation is an action type represented by the Desktop.Action class. Note: when some action is invoked and the associated application is executed, it will be executed on the same system as the one on which the Java application was launched. Since: 1.6
08-11-2014 22:59:08Java Integrated Development Environment (JIDE)JIDE is an open source Java Integrated Development Environment (IDE) written in C++. It uses wxWidgets for its GUI. It is easy to use and quick to configure and is therefore best suited for beginner programmer to get a feel of an IDE.
08-11-2014 22:52:34KryoNetKryoNet is a Java library that provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO. KryoNet uses the Kryo serialization library to automatically and efficiently transfer object graphs across the network. KryoNet runs on both the desktop and on Android. KryoNet is ideal for any client/server application. It is very efficient, so is especially good for games. KryoNet can also be useful for inter-process communication. Running a server This code starts a server on TCP port 54555 and UDP port 54777: Server server = new Server(); server.start(); server.bind(54555, 54777); The start method starts a thread to handle incoming connections, reading/writing to the socket, and notifying listeners. This code adds a listener to handle receiving objects: server.addListener(new Listener() { public void received (Connection connection, Object object) { if (object instanceof SomeRequest) { SomeRequest request = (SomeRequest)object; System.out.println(request.text); SomeResponse response = new SomeResponse(); response.text = "Thanks"; connection.sendTCP(response); } } }); Note the Listener class has other notification methods that can be overridden. Typically a listener has a series of instanceof checks to decide what to do with the object received. In this example, it prints out a string and sends a response over TCP. The SomeRequest and SomeResponse classes are defined like this: public class SomeRequest { public String text; } public class SomeResponse { public String text; } Kryo automatically serializes the objects to and from bytes. Connecting a client This code connects to a server running on TCP port 54555 and UDP port 54777: Client client = new Client(); client.start(); client.connect(5000, "192.168.0.4", 54555, 54777); SomeRequest request = new SomeRequest(); request.text = "Here is the request"; client.sendTCP(request); The start method starts a thread to handle the outgoing connection, reading/writing to the socket, and notifying listeners. Note that the thread must be started before connect is called, else the outgoing connection will fail. In this example, the connect method blocks for a maximum of 5000 milliseconds. If it times out or connecting otherwise fails, an exception is thrown (handling not shown). After the connection is made, the example sends a "SomeRequest" object to the server over TCP. This code adds a listener to print out the response: client.addListener(new Listener() { public void received (Connection connection, Object object) { if (object instanceof SomeResponse) { SomeResponse response = (SomeResponse)object; System.out.println(response.text); } } }); Registering classes For the above examples to work, the classes that are going to be sent over the network must be registered with the following code: Kryo kryo = server.getKryo(); kryo.register(SomeRequest.class); kryo.register(SomeResponse.class); Kryo kryo = client.getKryo(); kryo.register(SomeRequest.class); kryo.register(SomeResponse.class); This must be done on both the client and server, before any network communication occurs. It is very important that the exact same classes are registered on both the client and server, and that they are registered in the exact same order. Because of this, typically the code that registers classes is placed in a method on a class available to both the client and server. Please see the Kryo serialization library for more information on how objects are serialized for network transfer. Kryo can serialize any object and supports data compression (eg, deflate compression). TCP and UDP KryoNet always uses a TCP port. This allows the framework to easily perform reliable communication and have a stateful connection. KryoNet can optionally use a UDP port in addition to the TCP port. While both ports can be used simultaneously, it is not recommended to send an huge amount of data on both at the same time because the two protocols can affect each other. TCP is reliable, meaning objects sent are sure to arrive at their destination eventually. UDP is faster but unreliable, meaning an object sent may never be delivered. Because it is faster, UDP is typically used when many updates are being sent and it doesn't matter if an update is missed. Note that KryoNet does not currently implement any extra features for UDP, such as reliability or flow control. It is left to the application to make proper use of the UDP connection. Buffer sizes KryoNet uses a few buffers for serialization and deserialization that must be sized appropriately for a specific application. See the Client and Server const
08-11-2014 22:38:24TelnetTelnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. User data is interspersed in-band with Telnet control information in an 8-bit byte oriented data connection over the Transmission Control Protocol (TCP). Telnet was developed in 1968 beginning with RFC 15, extended in RFC 854, and standardized as Internet Engineering Task Force (IETF) Internet Standard STD 8, one of the first Internet standards. Historically, Telnet provided access to a command-line interface (usually, of an operating system) on a remote host. Most network equipment and operating systems with a TCP/IP stack support a Telnet service for remote configuration (including systems based on Windows NT). However, because of serious security issues when using Telnet over an open network such as the Internet, its use for this purpose has waned significantly in favor of SSH. The term telnet may also refer to the software that implements the client part of the protocol. Telnet client applications are available for virtually all computer platforms. Telnet is also used as a verb. To telnet means to establish a connection with the Telnet protocol, either with command line client or with a programmatic interface. For example, a common directive might be: "To change your password, telnet to the server, log in and run the passwd command." Most often, a user will be telnetting to a Unix-like server system or a network device (such as a router) and obtaining a login prompt to a command line text interface or a character-based full-screen manager.
08-11-2014 22:32:55Layer 8Layer 8 is used to refer to "user" or "political" layer on top of the OSI model of computer networking. The OSI model is a 7-layer abstract model that describes an architecture of data communications for networked computers. The layers build upon each other, allowing for abstraction of specific functions in each one. The top (7th) layer is the Application Layer describing methods and protocols of software applications. It is then held that the user is the 8th layer. Network appliances vendor like Cyberoam claim that Layer 8 allows IT administrators to identify users, control Internet activity of users in the network, set user based policies and generate reports by username. According to Bruce Schneier and RSA: Layer 8: The individual person. Layer 9: The organization. Layer 10: Government or legal compliance Since the OSI layer numbers are commonly used to discuss networking topics, a troubleshooter may describe an issue caused by a user to be a layer 8 issue, similar to the PEBKAC acronym, the ID-Ten-T Error and also PICNIC. Political economic theory holds that the 8th layer is important to understanding the OSI Model. Political policies such as network neutrality, spectrum management, and digital inclusion all shape the technologies comprising layers 1-7 of the OSI Model. An 8th layer has also been referenced to physical (real-world) controllers containing an external hardware device which interacts with an OSI model network. An example of this is ALI in Profibus. A network guru t-shirt from the 1980s shows Layer 8 as the "financial" layer, and Layer 9 as the "political" layer.
08-11-2014 22:26:58Open Systems Interconnection (OSI)The Open Systems Interconnection model (OSI) is a conceptual model that characterizes and standardizes the internal functions of a communication system by partitioning it into abstraction layers. The model is a product of the Open Systems Interconnection project at the International Organization for Standardization (ISO), maintained by the identification ISO/IEC 7498-1. The model groups communication functions into seven logical layers. A layer serves the layer above it and is served by the layer below it. For example, a layer that provides error-free communications across a network provides the path needed by applications above it, while it calls the next lower layer to send and receive packets that make up the contents of that path. Two instances at one layer are connected by a horizontal connection on that layer. OSI model by layer (APSTNDP) 7. Application - Network process to application NNTP SIP SSI DNS FTP Gopher HTTP NFS NTP SMPP SMTP SNMP Telnet DHCP Netconf more.... 6. Presentation - Data representation, encryption and decryption, convert machine dependent data to machine independent data MIME XDR 5. Session - Interhost communication, managing sessions between applications Named pipe NetBIOS SAP PPTP RTP SOCKS SPDY 4. Transport - Reliable delivery of segments between points on a network. TCP UDP SCTP DCCP SPX 3. Network - Addressing, routing and (not necessarily reliable) delivery of datagrams between points on a network. IP IPv4 IPv6 ICMP IPsec IGMP IPX AppleTalk X.25 PLP 2. Data link - A reliable direct point-to-point data connection. ATM ARP IS-IS SDLC HDLC CSLIP SLIP GFP PLIP IEEE 802.2 LLC MAC L2TP IEEE 802.3 Frame Relay ITU-T G.hn DLL PPP X.25 LAPB Q.921 LAPD Q.922 LAPF 1. Physical - A (not necessarily reliable) direct point-to-point data connection. EIA/TIA-232 EIA/TIA-449 ITU-T V-Series I.430 I.431 PDH SONET/SDH PON OTN DSL IEEE 802.3 IEEE 802.11 IEEE 802.15 IEEE 802.16 IEEE 1394 ITU-T G.hn PHY USB Bluetooth RS-232 RS-449 Host Layers -->Data (Application, Presentation, Session) -->Segments (Transport) Media Layers --> Packet/Datagram (Network) --> Bit/Frame (Data link) --> Bit (Physical) Comparison with TCP/IP model In the TCP/IP model of the Internet, protocols are deliberately not as rigidly designed into strict layers as in the OSI model. RFC 3439 contains a section entitled "Layering considered harmful". However, TCP/IP does recognize four broad layers of functionality which are derived from the operating scope of their contained protocols: the scope of the software application; the end-to-end transport connection; the internetworking range; and the scope of the direct links to other nodes on the local network. Even though the concept is different from the OSI model, these layers are nevertheless often compared with the OSI layering scheme in the following way: The Internet application layer includes the OSI application layer, presentation layer, and most of the session layer. Its end-to-end transport layer includes the graceful close function of the OSI session layer as well as the OSI transport layer. The internetworking layer (Internet layer) is a subset of the OSI network layer The link layer includes the OSI data link and physical layers, as well as parts of OSI's network layer. These comparisons are based on the original seven-layer protocol model as defined in ISO 7498, rather than refinements in such things as the internal organization of the network layer document. The presumably strict peer layering of the OSI model as it is usually described does not present contradictions in TCP/IP, as it is permissible that protocol usage does not follow the hierarchy implied in a layered model. Such examples exist in some routing protocols (e.g., OSPF), or in the description of tunneling protocols, which provide a link layer for an application, although the tunnel host protocol might well be a transport or even an application-layer protocol in its own right.
08-11-2014 22:09:30Stateless protocolIn computing, a stateless protocol is a communications protocol that treats each request as an independent transaction that is unrelated to any previous request so that the communication consists of independent pairs of request and response. A stateless protocol does not require the server to retain session information or status about each communications partner for the duration of multiple requests. In contrast, a protocol which requires keeping of the internal state on the server is known as a stateful protocol. Examples of stateless protocols include the Internet Protocol (IP) which is the foundation for the Internet, and the Hypertext Transfer Protocol (HTTP) which is the foundation of data communication for the World Wide Web.
08-11-2014 22:08:20State (computer science)In computer science and automata theory, the state of a digital logic circuit or computer program is a technical term for all the stored information, at a given instant in time, to which the circuit or program has access. The output of a digital circuit or computer program at any time is completely determined by its current inputs and its state.
08-11-2014 22:00:53Network Address Translation (NAT)In computer networking, network address translation (NAT) provides a method of modifying network address information in Internet Protocol (IP) datagram packet headers while they are in transit across a traffic routing device for the purpose of remapping one IP address space into another. The term NAT44 is sometimes used to more specifically indicate mapping between two IPv4 addresses; this is the typical case while IPv4 carries the majority of traffic on the Internet. NAT64 refers to the mapping of an IPv4 address to an IPv6 address, or vice versa. Network administrators originally used network address translation to map every address of one address space to a corresponding address in another space, such as when an organization changed Internet service providers without having a facility to announce a public route to the network. As of 2014 NAT operates most commonly in conjunction with IP masquerading, which is a technique that hides an entire IP address space - usually consisting of private network IP addresses (RFC 1918) - behind a single IP address in another, usually public address space. Vendors implement this mechanism in a routing device that uses stateful translation tables to map the "hidden" addresses into a single IP address and that readdresses the outgoing Internet Protocol packets on exit so they appear to originate from the routing device. In the reverse communications path, the router maps responses back to the originating IP addresses using the rules ("state") stored in the translation tables. The translation table rules established in this fashion are flushed after a short period unless new traffic refreshes their state. The method enables communication through the router only when the conversation originates in the masqueraded network, since this establishes the translation tables. For example, a web browser in the masqueraded network can browse a website outside, but a web browser outside can not browse a web site hosted within the masqueraded network. However, most NAT devices today allow the network administrator to configure translation table entries for permanent use. This feature is often referred to as "static NAT" or port forwarding - it allows traffic originating in the "outside" network to reach designated hosts in the masqueraded network. Because of the popularity of this technique to conserve IPv4 address space, the term NAT has become virtually synonymous with the method of IP masquerading. As network address translation modifies the IP address information in packets, it has serious consequences on the quality of Internet connectivity and requires careful attention to the details of its implementation. NAT implementations vary widely in their specific behavior in various addressing cases and in their effect on network traffic. Vendors of equipment containing implementations do not commonly document the specifics of NAT behavior.
08-11-2014 16:02:30Video DownloadHelperDownloadHelper is a tool for web content extraction. Its purpose is to capture video and image files from many sites. Just surf the Web as you are used to, when DownloadHelper detects it can do something for you, the icon gets animated and a menu allows you to download files by simply clicking an item For instance, if you go to a YouTube page, you'll be able to download the video directly on your file system. It also works with MySpace, Google videos, DailyMotion, Porkolt, iFilm, DreamHost and others. Since version 3.1, you can setup the extension to automatically convert the downloaded movies to your preferred video format. When you are on a page containing links to images or movies, you can download some or all of them at once. Moving the mouse over the items in the menu will highlights the links directly in the page to make sure they are the ones you want to pick up. DownloadHelper also allows you to download files one by one, so that you keep bandwidth to surf for other stuff to download. To modify your preferences, like changing the download directory, right-click on the icon and choose "Preferences". When you first install the extension, your browser is redirected to a welcome page with links to a user manual at http://www.downloadhelper.net/manual.php and a faq at http://www.downloadhelper.net/faq.php This does not change your homepage setting and the welcome page won't appear anymore. Support can be obtained from http://www.downloadhelper.net/support.php
08-11-2014 12:39:41Torch BrowserTorch Browser is a feature rich web browser with lots of customizable tweaks to make your Internet experience better.
08-11-2014 12:38:11RSS (Rich Site Summary)RSS (Rich Site Summary); originally RDF Site Summary; often called Really Simple Syndication, uses a family of standard web feed formats to publish frequently updated information: blog entries, news headlines, audio, video. An RSS document (called "feed", "web feed", or "channel") includes full or summarized text, and metadata, like publishing date and author's name. RSS feeds enable publishers to syndicate data automatically. A standard XML file format ensures compatibility with many different machines/programs. RSS feeds also benefit users who want to receive timely updates from favourite websites or to aggregate data from many sites. Subscribing to a website RSS removes the need for the user to manually check the website for new content. Instead, their browser constantly monitors the site and informs the user of any updates. The browser can also be commanded to automatically download the new data for the user. Software termed "RSS reader", "aggregator", or "feed reader", which can be web-based, desktop-based, or mobile-device-based, present RSS feed data to users. Users subscribe to feeds either by entering a feed's URI into the reader or by clicking on the browser's feed icon. The RSS reader checks the user's feeds regularly for new information and can automatically download it, if that function is enabled. The reader also provides a user interface.
07-11-2014 17:28:07Native codeNative code is computer programming (code) that is compiled to run with a particular processor and its set of instructions.
07-11-2014 17:25:14Native (computing)In computing, the "native" adjective refers to software or data formats supported by a certain system with minimal computational overhead and additional components. This word is used in such terms as native mode or native code. Something running on a computer natively means that it is running without any external support as contrasted to running in emulation. Such executable programs are referred to as native executables. Also, "native" can be understood as being a lower level or requiring fewer software layers. For example, in Microsoft Windows the Native API is an application programming interface specific for Windows NT kernel, which can be used to give access to some kernel functions, which cannot be directly accessed through a more universal Windows API.
07-11-2014 16:48:23JxBrowserEmbed a lightweight Chromium-based Swing component into your Java application to display modern web pages built with HTML5, CSS3, JavaScript, Flash, Silverlight etc. JxBrowser is a cross-platform library that enables you to integrate a browser component into your Java Swing applications. The embedded browser will be able to display the web documents correctly. It supports integration with Internet Explorer and Mozilla, which ensures compatibility with all the major Internet standards. With JxBrowser all functionality that interacts with the native code is moved from Java code into a separate native process. Now each browser component is working in a separate native process and does not consume memory of your Java application.
07-11-2014 16:40:49Java Desktop Integration Components (JDIC)The Java Desktop Integration Components (JDIC) project provides components which give Java applications the same access to operating system services as native applications. For example, a Java application running on one user's desktop can open a web page using that user's default web browser (e.g. Firefox), but the same Java application running on a different user's desktop would open the page in Opera (the second user's default browser). Initially the project supports features such as embedding the native HTML browser, programmatically opening the native mail client, using registered file-type viewers, and packaging JNLP applications as RPM, SVR4, and MSI installer packages. As a bonus, an SDK for developing platform-independent screensavers is included. Most of the features provided by JDIC were incorporated into the JDK starting with version 1.6. As a result the development of the project has come to an end.
07-11-2014 06:56:10How to Remove Linux Boot Loader from Startup After Deleting Linux Partitions?Many times people directly delete or format the hard disk partitions which contain Linux operating system but it doesn't completely remove Linux. The Linux boot loader still appears at system startup but since you deleted Linux partitions, the boot loader gets corrupted and your system becomes unbootable. STEP 1: Remove Linux Boot Loader from Startup You'll need to boot using Windows setup disc. =>Using Windows Vista, Windows Server 2008, Windows 7, Windows 8 or later DVD: Boot using setup disc and DO NOT click on "Install now" button. Look for a link "Repair your computer" present in bottom-left corner of the window, click on it. It'll open a new window, do not change anything and click on Next button. Now setup will show "System Recovery Options" screen where you can perform startup repair, system restore, etc. Click on "Command Prompt" link given at the bottom of the list. It'll open Command Prompt window, now run following command: bootsect /nt60 SYS /mbr Exit from Command prompt and restart your system. =>Using Windows 2000, Windows XP or Windows Server 2003 CD: Boot using setup disc and enter into "Recovery Console" by pressing "R" key, select your Windows installation and enter Administrator password. If you don't have any password, press Enter key. Now run following command: fixmbr Press "Y" to confirm and type Exit to exit from recovery console. =>Using Windows 98 CD: Boot into Command Prompt and run following command: fdisk /MBR Exit from command prompt by typing Exit and press Enter. Above steps will remove the Linux boot loader from startup and you'll directly boot into Windows operating system. STEP 2: Delete or Format Linux Partitions Now you can safely delete or format hard disk partitions which contained Linux operating system.
05-11-2014 07:25:45JSONJSON , or JavaScript Object Notation, is an open standard format that uses human-readable text to transmit data objects consisting of attribute-value pairs. It is used primarily to transmit data between a server and web application, as an alternative to XML. Although originally derived from the JavaScript scripting language, JSON is a language-independent data format. Code for parsing and generating JSON data is readily available in a large variety of programming languages. The JSON format was originally specified by Douglas Crockford. It is currently described by two competing standards, RFC 7159 and ECMA-404. The ECMA standard is minimal, describing only the allowed grammar syntax, whereas the RFC also provides some semantic and security considerations. The official Internet media type for JSON is application/json. The JSON filename extension is .json.
04-11-2014 08:54:25What Is The Shell?When we speak of the command line, we are really referring to the shell. The shell is a program that takes keyboard commands and passes them to the operating system to carry out. Almost all Linux distributions supply a shell program from the GNU Project called bash. The name "bash" is an acronym for "Bourne Again SHell", a reference to the fact bash is an enhanced replacement for sh, the original Unix shell program written by Steve Bourne.
01-11-2014 04:04:11Jana Gana Mana"Jana Gana Mana" is the national anthem of India. Written in highly Sanskritised (Tatsama) Bengali, it is the first of five stanzas of a Brahmo hymn composed and scored by Nobel laureate Rabindranath Tagore. It was first sung in Calcutta Session of the Indian National Congress on 27 December 1911. "Jana Gana Mana" was officially adopted by the Constituent Assembly as the Indian national anthem on 24 January 1950. The original poem written by Rabindranath Tagore was translated into Hindi-Urdu by Abid Ali. The original Hindi version of the song Jana Gana Mana, translated by Ali and based on the poem by Tagore, was a little different. It was "Subh Sukh Chain Ki Barkha Barse, Bharat Bhaag Hai Jaaga....". A formal rendition of the national anthem takes fifty-two seconds. A shortened version consisting of the first and last lines (and taking about 20 seconds to play) is also staged occasionally. Tagore wrote down the English translation of the song and along with Margaret Cousins (an expert in European music and wife of Irish poet James Cousins), set down the notation at Madanapalle in Andhra Pradesh, which is followed only when the song is sung in the original slow rendition style of singing. However, when the National Anthem version of the song is sung, it is often performed in the orchestral/choral adaptation made by the English composer Herbert Murrill at the behest of Nehru. An earlier poem by Tagore (Amar Sonar Bangla) was later selected as the national anthem of Bangladesh.
01-11-2014 01:32:50Indian order of precedenceThe Order of precedence of the Republic of India is the protocol list[1] (hierarchy of important positions) in which the functionaries and officials are listed according to their rank and office in the Government of India. The order is established by the President of India, through the Office of the President of India and is maintained by the Ministry of Home Affairs. It is only used to indicate ceremonial protocol and has no legal standing; it does not reflect the Indian presidential line of succession or the co-equal status of the separation of powers under the Constitution. It is also not applicable to day-to-day functioning of Government of India. 1 President of India 2 Vice-President of India 3 Prime Minister 4 Governors of states of India (within their respective States) 5 Former Presidents, 5A Deputy Prime Minister 6 Chief Justice of India, Speaker of Lok Sabha, 7 Cabinet Ministers of the Union, Chief Ministers of States (within their respective States), Deputy Chairman of Planning Commission of India, Former Prime Ministers, Leaders of the Opposition in the Rajya Sabha and Lok Sabha, Holders of the Bharat Ratna. 8 Ambassadors Extraordinary and Plenipotentiary and High Commissioners of Commonwealth countries accredited to India, Chief Ministers of States (when outside their respective States), Governors of States (when outside their respective States). 9 Judges of Supreme Court of India (Justices of India), Chief Election Commissioner, Comptroller and Auditor General, Chairman, Union Public Service Commission. Chairman, National Green Tribunal (NGT)[2] 10 Deputy Chairman, Rajya Sabha, Deputy Chief Ministers of States, Deputy Speaker of Lok Sabha, Members of the Planning Commission, Ministers of States of the Union. 11 Lieutenant Governors within their respective Union Territories, Attorney General of India, Cabinet Secretary. 12 General of the Indian Army, Air Chief Marshal of the Indian Air Force, Admiral of the Indian navy. 13 Envoys Extraordinary and Ministers Plenipotentiary accredited to India. 14 Chief Justices of States, Chairman and Speakers of State Legislatures (within their respective States). 15 Chief Ministers of Union Territories within their respective Union Territories, Cabinet Ministers in States (within their respective States), Chief Executive Councillor Delhi (within their respective Union Territories), Deputy Ministers of the Union. 16 Officiating Chiefs of Staff holding the rank of Lieutenant General or equivalent rank. 17 Judges of State High Courts of India(Justices of States), Chairman, Central Administrative Tribunal, Chairman, Minorities Commission, Chairman, Scheduled Castes and Scheduled Tribes Commission, Judicial Members, National Green Tribunal (NGT) [2] 18 Cabinet Ministers in States (outside their respective States), Chairmen and Speakers of State Legislatures (outside their respective States), Chairmen, Monopolies and Restrictive Trade Practices Commission, Deputy Chairmen and Deputy Speakers of State Legislatures (within their respective States), Ministers of State in States (within their respective States), Ministers of Union Territories and Executive Councillors of Delhi (within their respective Union Territories), Speakers of Legislative Assemblies in Union Territories, Chairman of Delhi Metropolitan Council (within their respective Union Territories). 19 Chief Commissioners of Union Territories not having Councils of Ministers (within their respective Union Territories), Deputy Ministers in Slates (within their respective States), Deputy Speakers of Legislative Assemblies in Union Territories, Deputy Chairman of Metropolitan Council Delhi (with in their respective Union Territories). 20 Deputy Chairman and Deputy Speakers of State Legislatures (outside their respective States), Ministers of State in States (outside their respective State). 21 Members of Parliament 22 Deputy Ministers in States (outside their respective States). 23 Army Commanders/Vice Chief of the Army Staff or equivalent in other Services, Chief Secretaries to State Governments (within their respective Slates), Commissioner for Linguistic Minorities, Commissioner for Scheduled Castes and Scheduled Tribes, Members, Minorities Commission, Members, Scheduled Castes and Scheduled Tribes Commission, Officers of the rank of full General or equivalent rank, Secretaries to the Government of India, Chairman Railway Board, Secretary, Minorities Commission, Secretary, Scheduled Castes and Scheduled Tribes Commission, Secretary to the President, Secretary to the Prime Minister, Secretary, Rajya Sabha/Lok Sabha, Solicitor General, CBDT Chairman ex officio Special Secretary to Government of India,[3] CBDT Members ex officio Special Secretary to Government of India,[3] Vice-Chairman, Central Administrative Tribunal. Member Railway Board,[4] Expe
31-10-2014 06:46:05Roger Thatroger that is Slang, usually used in radio transmissions such as military communications, meaning "I understand" or "I hear you." Synonymous with "I copy that." Often just "Roger" Received Order Given, Expect Results
30-10-2014 17:28:15Service modelsCloud computing providers offer their services according to several fundamental models: Infrastructure as a service (IaaS) In the most basic cloud-service model and according to the IETF (Internet Engineering Task Force), providers of IaaS offer computers - physical or (more often) virtual machines - and other resources. (A hypervisor, such as Xen, Oracle VirtualBox, KVM, VMware ESX/ESXi, or Hyper-V runs the virtual machines as guests. Pools of hypervisors within the cloud operational support-system can support large numbers of virtual machines and the ability to scale services up and down according to customers varying requirements.) IaaS clouds often offer additional resources such as a virtual-machine disk image library, raw block storage, and file or object storage, firewalls, load balancers, IP addresses, virtual local area networks (VLANs), and software bundles. IaaS-cloud providers supply these resources on-demand from their large pools installed in data centers. For wide-area connectivity, customers can use either the Internet or carrier clouds (dedicated virtual private networks). To deploy their applications, cloud users install operating-system images and their application software on the cloud infrastructure. In this model, the cloud user patches and maintains the operating systems and the application software. Cloud providers typically bill IaaS services on a utility computing basis: cost reflects the amount of resources allocated and consumed. Platform as a service (PaaS) In the PaaS models, cloud providers deliver a computing platform, typically including operating system, programming language execution environment, database, and web server. Application developers can develop and run their software solutions on a cloud platform without the cost and complexity of buying and managing the underlying hardware and software layers. With some PaaS offers like Microsoft Azure and Google App Engine, the underlying computer and storage resources scale automatically to match application demand so that the cloud user does not have to allocate resources manually. The latter has also been proposed by an architecture aiming to facilitate real-time in cloud environments. Platform as a service (PaaS) provides a computing platform and a key chimney. It joins with software as a service (SaaS) and infrastructure as a service (IaaS), model of cloud computing. Software as a service (SaaS) In the business model using software as a service (SaaS), users are provided access to application software and databases. Cloud providers manage the infrastructure and platforms that run the applications. SaaS is sometimes referred to as "on-demand software" and is usually priced on a pay-per-use basis. SaaS providers generally price applications using a subscription fee. In the SaaS model, cloud providers install and operate application software in the cloud and cloud users access the software from cloud clients. Cloud users do not manage the cloud infrastructure and platform where the application runs. This eliminates the need to install and run the application on the cloud user_s own computers, which simplifies maintenance and support. Cloud applications are different from other applications in their scalability--which can be achieved by cloning tasks onto multiple virtual machines at run-time to meet changing work demand. Load balancers distribute the work over the set of virtual machines. This process is transparent to the cloud user, who sees only a single access point. To accommodate a large number of cloud users, cloud applications can be multitenant, that is, any machine serves more than one cloud user organization. The pricing model for SaaS applications is typically a monthly or yearly flat fee per user, so price is scalable and adjustable if users are added or removed at any point. Proponents claim SaaS allows a business the potential to reduce IT operational costs by outsourcing hardware and software maintenance and support to the cloud provider. This enables the business to reallocate IT operations costs away from hardware/software spending and personnel expenses, towards meeting other goals. In addition, with applications hosted centrally, updates can be released without the need for users to install new software. One drawback of SaaS is that the users data are stored on the cloud provider_s server. As a result, there could be unauthorized access to the data. For this reason, users are increasingly adopting intelligent third-party key management systems to help secure their data. Unified Communications as a Service In the UCaaS model, multi-platform communications over the network are packaged by the service provider. The services could be in different devices, such as computers and mobile devices. Services may include IP telephony, unified messaging, video conferencing and mobile extension etc.
30-10-2014 17:19:57Microsoft AzureMicrosoft Azure (formerly Windows Azure before 25 March 2014) is a cloud computing platform and infrastructure, created by Microsoft, for building, deploying and managing applications and services through a global network of Microsoft-managed datacenters. It provides both PaaS and IaaS services and supports many different programming languages, tools and frameworks, including both Microsoft-specific and third-party software and systems. Azure was released on 1 February 2010.
28-10-2014 17:46:05The Difference Between Fedora, Redhat, and CentOSFedora is the main project, and it_s a communitity-based, free distro focused on quick releases of new features and functionality. Redhat is the corporate version based on the progress of that project, and it has slower releases, comes with support, and isn_t free. CentOS is basically the community version of Redhat. So it_s pretty much identical, but it is free and support comes from the community as opposed to Redhat itself.
28-10-2014 15:27:59Kernel (operating system)In computing, the kernel is a computer program that manages input/output requests from software, and translates them into data processing instructions for the central processing unit and other electronic components of a computer. The kernel is a fundamental part of a modern computer_s operating system. Because of its critical nature, the kernel code is usually loaded into a protected area of memory, which prevents it from being overwritten by other, less frequently used parts of the operating system or by application programs. The kernel performs its tasks, such as executing processes and handling interrupts, in kernel space, whereas everything a user normally does, such as writing text in a text editor or running programs in a GUI (graphical user interface), is done in user space. This separation is made in order to prevent user data and kernel data from interfering with each other and thereby diminishing performance or causing the system to become unstable (and possibly crashing). When a computer program (in this context called a process) makes requests of the kernel, the request is called a system call. Various kernel designs differ in how they manage system calls and resources. For example, a monolithic kernel executes all the operating system instructions in the same address space in order to improve the performance of the system. A microkernel runs most of the operating system_s background processes in user space, to make the operating system more modular and, therefore, easier to maintain. For computer programmers, the kernel_s interface is a low-level abstraction layer. A kernel connects the application software to the hardware of a computer
28-10-2014 08:23:38Web 2.0Web 2.0 describes World Wide Web sites that use technology beyond the static pages of earlier Web sites. The term was coined in 1999 by Darcy DiNucci and was popularized by Tim O_Reilly at the O_Reilly Media Web 2.0 conference in late 2004. Although Web 2.0 suggests a new version of the World Wide Web, it does not refer to an update to any technical specification, but rather to cumulative changes in the way Web pages are made and used. A Web 2.0 site may allow users to interact and collaborate with each other in a social media dialogue as creators of user-generated content in a virtual community, in contrast to Web sites where people are limited to the passive viewing of content. Examples of Web 2.0 include social networking sites, blogs, wikis, folksonomies, video sharing sites, hosted services, Web applications, and mashups. Whether Web 2.0 is substantively different from prior Web technologies has been challenged by World Wide Web inventor Sir Tim Berners-Lee, who describes the term as jargon. His original vision of the Web was "a collaborative medium, a place where we [could] all meet and read and write".
28-10-2014 08:19:14Computer NetworkA computer network is a group of computer systems and other computing hardware devices that are linked together through communication channels to facilitate communication and resource-sharing among a wide range of users. Networks are commonly categorized based on their characteristics. One of the earliest examples of a computer network was a network of communicating computers that functioned as part of the U.S. military_s Semi-Automatic Ground Environment (SAGE) radar system. In 1969, the University of California at Los Angeles, the Stanford Research Institute, the University of California at Santa Barbara and the University of Utah were connected as part of the Advanced Research Projects Agency Network (ARPANET) project. It is this network that evolved to become what we now call the Internet. Networks are used to: => Facilitate communication via email, video conferencing, instant messaging, etc. => Enable multiple users to share a single hardware device like a printer or scanner => Enable file sharing across the network => Allow for the sharing of software or operating programs on remote systems => Make information easier to access and maintain among network users There are many types of networks, including: => Local Area Networks (LAN) => Personal Area Networks (PAN) => Home Area Networks (HAN) => Wide Area Networks (WAN) => Campus Networks => Metropolitan Area Networks (MAN) => Enterprise Private Networks => Internetworks => Backbone Networks (BBN) => Global Area Networks (GAN) => The Internet
28-10-2014 08:14:13Software EngineeringA systematic approach to the analysis, design, implementation and maintenance of software. Software engineering is the engineering discipline through which software is developed. Commonly the process involves finding out what the client wants, composing this in a list of requirements, designing an architecture capable of supporting all of the requirements, designing, coding, testing and integrating the separate parts, testing the whole, deploying and maintaining the software. Programming is only a small part of software engineering. The discipline is still in its infancy (early stage of growth/development) as an engineering discipline. We haven_t had enough experience, nor gathered enough empirical data to systematically understand and predict the life-cycle of a software project. The Software Engineering Body of Knowledge (SWEBOK) divides software engineering into 10 knowledge areas: => Software requirements => Software design => Software construction => Software testing => Software maintenance => Software configuration management => Software engineering management => Software engineering process => Software engineering tools and methods => Software quality
28-10-2014 08:11:30Information SystemAn information system (IS) is a system composed of people and computers that processes or interprets information. The term is also sometimes used in more restricted senses to refer to only the software used to run a computerized database or to refer to only a computer system. The plural term information systems (construed as singular) is also used for the actual academic study of the field, in other words for the study of complementary networks of hardware and software that people and organizations use to collect, filter, process, create and distribute data. Any specific information system aims to support operations, management and decision making. In a broad sense, the term is used to refer not only to the information and communication technology (ICT) that an organization uses, but also to the way in which people interact with this technology in support of business processes. Some authors make a clear distinction between information systems, computer systems, and business processes. Information systems typically include an ICT component but are not purely concerned with ICT, focusing instead on the end use of information technology. Information systems are also different from business processes. Information systems help to control the performance of business processes. Alter argues for advantages of viewing an information system as a special type of work system. A work system is a system in which humans and/or machines perform work (processes and activities) using resources to produce specific products and/or services for customers. An information system is a work system whose activities are devoted to processing (capturing, transmitting, storing, retrieving, manipulating and displaying) information. As such, information systems inter-relate with data systems on the one hand and activity systems on the other. An information system is a form of communication system in which data represent and are processed as a form of social memory. An information system can also be considered a semi-formal language which supports human decision making and action. Information systems are the primary focus of study for organizational informatics.
28-10-2014 07:58:31DatabaseA database is an organized collection of data. The data are typically organized to model aspects of reality in a way that supports processes requiring information. For example, modelling the availability of rooms in hotels in a way that supports finding a hotel with vacancies. Database management systems (DBMSs) are specially designed software applications that interact with the user, other applications, and the database itself to capture and analyze data. A general-purpose DBMS is a software system designed to allow the definition, creation, querying, update, and administration of databases. Well-known DBMSs include MySQL, PostgreSQL, Microsoft SQL Server, Oracle, SAP and IBM DB2. A database is not generally portable across different DBMSs, but different DBMSs can interoperate by using standards such as SQL and ODBC or JDBC to allow a single application to work with more than one DBMS. Database management systems are often classified according to the database model that they support; the most popular database systems since the 1980s have all supported the relational model as represented by the SQL language. => 1960s, navigational DBMS => 1970s, relational DBMS => Integrated approach => Late 1970s, SQL DBMS => 1980s, on the desktop => 1980s, object-oriented => 2000s, NoSQL and NewSQL Models Collage of five types of database models A database model is a type of data model that determines the logical structure of a database and fundamentally determines in which manner data can be stored, organized, and manipulated. The most popular example of a database model is the relational model (or the SQL approximation of relational), which uses a table-based format. Common logical data models for databases include: Hierarchical database model Network model Relational model Entity-relationship model Enhanced entity-relationship model Object model Document model Entity-attribute-value model Star schema An object-relational database combines the two related structures. Physical data models include: Inverted index Flat file Other models include: Associative model Multidimensional model Multivalue model Semantic model XML database Languages Database languages are special-purpose languages, which do one or more of the following: => Data definition language - defines data types and the relationships among them => Data manipulation language - performs tasks such as inserting, updating, or deleting data occurrences => Query language - allows searching for information and computing derived information Database languages are specific to a particular data model. Notable examples include: SQL combines the roles of data definition, data manipulation, and query in a single language. It was one of the first commercial languages for the relational model, although it departs in some respects from the relational model as described by Codd (for example, the rows and columns of a table can be ordered). SQL became a standard of the American National Standards Institute (ANSI) in 1986, and of the International Organization for Standardization (ISO) in 1987. The standards have been regularly enhanced since and is supported (with varying degrees of conformance) by all mainstream commercial relational DBMSs. OQL is an object model language standard (from the Object Data Management Group). It has influenced the design of some of the newer query languages like JDOQL and EJB QL. XQuery is a standard XML query language implemented by XML database systems such as MarkLogic and eXist, by relational databases with XML capability such as Oracle and DB2, and also by in-memory XML processors such as Saxon. SQL/XML combines XQuery with SQL. A database language may also incorporate features like: DBMS-specific Configuration and storage engine management Computations to modify query results, like counting, summing, averaging, sorting, grouping, and cross-referencing Constraint enforcement (e.g. in an automotive database, only allowing one engine type per car) Application programming interface version of the query language, for programmer convenience
28-10-2014 07:49:52Operating SystemAn operating system (OS) is software that manages computer hardware and software resources and provides common services for computer programs. The operating system is an essential component of the system software in a computer system. Application programs usually require an operating system to function. Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing, and other resources. For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware, although the application code is usually executed directly by the hardware and will frequently make a system call to an OS function or be interrupted by it. Operating systems can be found on almost any device that contains a computer-from cellular phones and video game consoles to supercomputers and web servers. Examples of popular modern operating systems include Android, BSD, iOS, Linux, OS X, QNX, Microsoft Windows, Windows Phone, and IBM z/OS. All these examples, except Windows, Windows Phone and z/OS, share roots in UNIX. Types of operating systems => Real-time => Multi-user => Multi-tasking vs. single-tasking => Distributed => Templated => Embedded Examples of operating systems => Unix and Unix-like operating systems => BSD and its descendants => OS X => Linux and GNU => Google Chromium OS => Microsoft Windows => Other Components => Kernel =>=> Program execution =>=> Interrupts =>=> Modes =>=> Memory management =>=> Virtual memory =>=> Multitasking =>=> Disk access and file systems =>=> Device drivers => Networking => Security => User interface =>=> Graphical user interfaces Real-time operating systems A real-time operating system (RTOS) is an operating system intended for applications with fixed deadlines (real-time computing). Such applications include some small embedded systems, automobile engine controllers, industrial robots, spacecraft, industrial control, and some large-scale computing systems. An early example of a large-scale real-time operating system was Transaction Processing Facility developed by American Airlines and IBM for the Sabre Airline Reservations System. Embedded systems that have fixed deadlines use a real-time operating system such as VxWorks, PikeOS, eCos, QNX, MontaVista Linux and RTLinux. Windows CE is a real-time operating system that shares similar APIs to desktop Windows but shares none of desktop Windows codebase. Symbian OS also has an RTOS kernel (EKA2) starting with version 8.0b. Some embedded systems use operating systems such as Palm OS, BSD, and Linux, although such operating systems do not support real-time computing.
28-10-2014 07:39:52Compiler Design:=> Lexical analysis, => Parsing, => Syntax directed translation, => Runtime environments, => Intermediate and target code generation, => Basics of code optimization.
28-10-2014 07:32:29Theory of ComputationIn theoretical computer science and mathematics, the theory of computation is the branch that deals with how efficiently problems can be solved on a model of computation, using an algorithm. The field is divided into three major branches: automata theory, computability theory, and computational complexity theory. In order to perform a rigorous study of computation, computer scientists work with a mathematical abstraction of computers called a model of computation. There are several models in use, but the most commonly examined is the Turing machine. Computer scientists study the Turing machine because it is simple to formulate, can be analyzed and used to prove results, and because it represents what many consider the most powerful possible "reasonable" model of computation (Church-Turing thesis). It might seem that the potentially infinite memory capacity is an unrealizable attribute, but any decidable problem solved by a Turing machine will always require only a finite amount of memory. So in principle, any problem that can be solved (decided) by a Turing machine can be solved by a computer that has a bounded amount of memory. Branches => Automata theory => Computability theory => Computational complexity theory In order to analyze how much time and space a given algorithm requires, computer scientists express the time or space required to solve the problem as a function of the size of the input problem. For example, finding a particular number in a long list of numbers becomes harder as the list of numbers grows larger. If we say there are n numbers in the list, then if the list is not sorted or indexed in any way we may have to look at every number in order to find the number we_re seeking. We thus say that in order to solve this problem, the computer needs to perform a number of steps that grows linearly in the size of the problem. To simplify this problem, computer scientists have adopted Big O notation, which allows functions to be compared in a way that ensures that particular aspects of a machine_s construction do not need to be considered, but rather only the asymptotic behavior as problems become large. So in our previous example we might say that the problem requires steps to solve. Perhaps the most important open problem in all of computer science is the question of whether a certain broad class of problems denoted NP can be solved efficiently. Models of computation Aside from a Turing machine, other equivalent (Church-Turing thesis) models of computation are in use. => Lambda calculus => Combinatory logic => mu-recursive functions => Markov algorithm => Register machine => P" In addition to the general computational models, some simpler computational models are useful for special, restricted applications. Regular expressions, for example, specify string patterns in many contexts, from office productivity software to programming languages. Another formalism mathematically equivalent to regular expressions, Finite automata are used in circuit design and in some kinds of problem-solving. Context-free grammars specify programming language syntax. Non-deterministic pushdown automata are another formalism equivalent to context-free grammars. Primitive recursive functions are a defined subclass of the recursive functions. Different models of computation have the ability to do different tasks. One way to measure the power of a computational model is to study the class of formal languages that the model can generate; in such a way to the Chomsky hierarchy of languages is obtained.
28-10-2014 07:19:39Algorithms and data structures in C/C++Data Structures All programmers should know something about basic data structures like stacks, queues and heaps. Graphs are a tremendously useful concept, and two-three trees solve a lot of problems inherent in more basic binary trees. => Stack Data Structure => The Queue Data Structure => Heaps => Hash Tables => Graphs in computer science => Two-three trees Algorithmic Efficiency and Sorting and Searching Algorithms Learn how to determine the efficiency of your program and all about the various algorithms for sorting and searching--both common problems when programming. => Algorithmic Efficiency and Big-O notation => Efficiency and the space-time tradeoff => Search Algorithms - linear search and binary search => Comparison of Sorting Algorithms => Intro to sorting algorithms: bubble sort => Selection sort and Insertion sort => Heap Sort => Merge Sort => Quicksort => Radix Sort a special case sorting algorithm AI Tutorials Learn about AI, including how to make game AI using the minimax algorithm. => Perceptrons, a simple neuron simulator => MiniMax Game Trees => Chess Board Representation => Solving problems with genetic algorithms => AI Programming Message Board Advanced Algorithms If you_ve mastered the basics, perhaps you_d like to move to more advanced, specialized algorithms => Exclusive-OR (XOR) Encryption => Dijkstra_s Algorithm for finding shortest paths in graphs => Dynamic Programming with an example of all-pairs shortest paths => Minimum Spanning Trees and Prim_s Algorithm => Huffman Encoding Compressiong Algorithm
28-10-2014 07:05:54Data StructureIn computer science, a data structure is a particular way of organizing data in a computer so that it can be used efficiently. Different kinds of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks. For example, B-trees are particularly well-suited for implementation of databases, while compiler implementations usually use hash tables to look up identifiers. Data structures provide a means to manage large amounts of data efficiently, such as large databases and internet indexing services. Usually, efficient data structures are a key in designing efficient algorithms. Some formal design methods and programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design. Storing and retrieving can be carried out on data stored in both main memory and in secondary memory. Overview Data structures are generally based on the ability of a computer to fetch and store data at any place in its memory, specified by a pointer - a bit string, representing a memory address, that can be itself stored in memory and manipulated by the program. Thus, the array and record data structures are based on computing the addresses of data items with arithmetic operations; while the linked data structures are based on storing addresses of data items within the structure itself. Many data structures use both principles, sometimes combined in non-trivial ways (as in XOR linking). The implementation of a data structure usually requires writing a set of procedures that create and manipulate instances of that structure. The efficiency of a data structure cannot be analyzed separately from those operations. This observation motivates the theoretical concept of an abstract data type, a data structure that is defined indirectly by the operations that may be performed on it, and the mathematical properties of those operations (including their space and time cost).
28-10-2014 06:51:57What is CC is a programming language developed at AT & T_s Bell Laboratories of USA in 1972. It was designed and written by a man named Dennis Ritchie. In the late seventies C began to replace the more familiar languages of that time like PL/I, ALGOL, etc. No one pushed C. It wasn_t made the \"official\" Bell Labs language. Thus, without any advertisement C_s reputation spread and its pool of users grew. Ritchie seems to have been rather surprised that so many programmers preferred C to older languages like FORTRAN or PL/I, or the newer ones like Pascal and APL. But, that_s what happened. Possibly why C seems so popular is because it is reliable, simple and easy to use. Moreover, in an industry where newer languages, tools and technologies emerge and vanish day in and day out, a language that has survived for more than 3 decades has to be really good. An opinion that is often heard today is - \"C has been already superceded by languages like C++, C# and Java, so why bother to learn C today\". Visit this for info ==> http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
28-10-2014 06:31:50Software development processCore activities =>Requirements =>Specification =>Architecture =>Construction =>Design =>Testing =>Debugging =>Deployment =>Maintenance Methodologies =>Waterfall =>Prototype model =>Incremental =>Iterative =>V-Model =>Spiral =>Scrum =>Cleanroom =>RAD =>DSDM =>UP =>XP =>Agile =>Lean =>Dual Vee Model =>TDD =>BDD =>FDD =>DDD =>MDD Supporting disciplines =>Configuration management =>Documentation =>Software Quality assurance (SQA) =>Project management =>User experience Tools =>Compiler =>Debugger =>Profiler =>GUI designer =>Modeling =>IDE =>Build automation
28-10-2014 06:22:46Computer architecture and organizationIntroduction In electronics engineering and computer engineering, computer architecture is a set of disciplines that describes a computer system by specifying its parts and their relations. For example, at a high level, computer architecture may be concerned with how the central processing unit (CPU) acts and how it uses computer memory. Some fashionable (2011) computer architectures include cluster computing and non-uniform memory access. Computer architects use computers to design new computers. Emulation software can run programs written in a proposed instruction set. While the design is very easy to change at this stage, compiler designers often collaborate with the architects, suggesting improvements in the instruction set. Modern emulators may measure time in clock cycles: estimate energy consumption in joules, and give realistic estimates of code size in bytes. These affect the convenience of the user, the life of a battery, and the size and expense of the computer_s largest physical part: its memory. That is, they help to estimate the value of a computer design. Computer Architecture and Organization is the study of internal working, structuring and implementation of a computer system. Architecture in computer system, same as anywhere else, refers to the externally visual attributes of the system. Externally visual attributes, here in computer science, mean the way a system is visible to the logic of programs (not the human eyes!). Organisation of computer system is the way of practical implementation which results in realization of architectural specifications of a computer system. In more general language, Architecture of computer system can be considered as a catalog of tools available for any operator using the system, while Organization will be the way the system is structured so that all those cataloged tools can be used, and that in an efficient fashion. How it came along History of computer systems, in strict sense of name, will date back to as back as the basic need for computation among humans. We, however, are more concerned with architecture and organization of Electronic computer systems only as "the computing systems" before this had very vague (or at-least different!) representation of these terms in their construction. The beginning The first among the electronic computers was The ENIAC, designed by John Mauchly and J. Presper Eckert. This, although a great achievement altogether, was not of much importance on front of standards of Architecture and organization. The programming of this giant machine required manual change of circuitry by expert individuals by changing connecting wires and lots of switches; It sure was a tedious task. Besides ENIAC was not a digital machine. It worked on decimal systems much similar to the way we, humans, do in our normal lives. Von Neumann architecture A major break through came with the draft of second electronic computer, EDVAC. This computer was proposed by John Von Neumann and others in 1945. It used stored program model for computers, wherein all instructions were also to be stored in memory along being data to be processed thereby removing the need for change in hardware structure to change the program. The architecture of this computer described the digital system to be divided into a Processing Unit consisting of an Arithmetic and Logic Unit and Processor registers, Control Unit consisting of a Program Counter and an Instruction Register, Memory Unit and Input/Output mechanisms. This basic structure of computer system has since then served as the basic idea for a computer system. The trend continues even today with few changes in the design. This architecture however is more popular for implementation in IAS computer, (as Neumann, later, shifted to this project). Rapid restructuring of Organization As all this was going on an major advancement in field of electronics was achieved at Bell labs as William Shockley invented transistor. Transistors were devices comparable in purpose to an vacuum tube, but amazingly small, efficient and reliable. Transistors revolutionized the organization of a normal computer system. The systems grew smaller, less power consuming, less heat generating, more reliable and much more efficient. This generation of computers using transistors as basic components is commonly known as second generation of computers. Transistors, however, were just a beginning soon a new phase took over. Integrated Circuits were developed which could contain more than one transistors on a single chip. This further reduced size, power consumption and heat generation. This led to development of third generation of computers. After this generation, however, there is no consensus on how generations changed as the number of transistors on a single IC kept increasing and thereby name of technologies involved kept changing from MSI to LSI to VLSI to ULSI but the basic structure of IC based computer was maintained. Although n
28-10-2014 05:47:05Digital logicDigital logic is the study of how computers make decisions. Digital logic works at the lowest level of computer operations: bits that can either be "on" or "off" and groups of bits that form "bytes" and "words" that can control a logic device. Boolean Algebra is the language used to mathematically model the function of a logic circuit and it can then be used to reduce the complexity of that circuit to its necessary components. Finally, various logic devices, such as adders and registers, can be combined into ever more complex circuits designed to accomplish many decision-making tasks.
28-10-2014 05:43:51Areas of computer scienceTheoretical computer science => Theory of computation => Information and coding theory => Algorithms and data structures => Programming language theory => Formal methods Applied computer science => Artificial intelligence => Computer architecture and engineering => Computer Performance Analysis => Computer graphics and visualization => Computer security and cryptography => Computational science => Computer networks => Concurrent, parallel and distributed systems => Databases => Health informatics => Information science => Software engineering
28-10-2014 05:41:45Computer ScienceComputer science is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical procedures (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded as bits in a computer memory or transcribed in genes and protein structures in a biological cell. A computer scientist specializes in the theory of computation and the design of computational systems. Its subfields can be divided into a variety of theoretical and practical disciplines. Some fields, such as computational complexity theory (which explores the fundamental properties of Computational and intractable problems), are highly abstract, while fields such as computer graphics emphasize real-world visual applications. Still other fields focus on the challenges in implementing computation. For example, programming language theory considers various approaches to the description of computation, whilst the study of computer programming itself investigates various aspects of the use of programming language and complex systems. Human-computer interaction considers the challenges in making computers and computations useful, usable, and universally accessible to humans.
28-10-2014 05:31:11Qt ProjectQt is a cross-platform application and UI framework for developers using C++ or QML, a CSS & JavaScript like language. Qt Creator is the supporting Qt IDE. Qt Cloud Services provides connected application backend features to Qt applications. Qt, Qt Quick and the supporting tools are developed as an open source project governed by an inclusive meritocratic model. Qt can be used under open source (GPL v3 and LGPL v2.1) or commercial terms.
28-10-2014 05:29:35Qt (software)Qt ("cute", or unofficially as Q-T cue-tee) is a cross-platform application framework that is widely used for developing application software that can be run on various software and hardware platforms with little or no change in the codebase, while having the power and speed of native applications. Qt is currently being developed both by the Qt Company, a subsidiary of Digia, and the Qt Project under open-source governance, involving individual developers and firms working to advance Qt. Digia owns the Qt trademark and copyright. Qt is available with both proprietary and open source GPL v3 and LGPL v2 licenses.
28-10-2014 05:26:42Which are the current/emerging desktop development technologies worth looking into?There is no one best tool, for everyone. I believe that the best way to quickly write very high quality Windows Win32 applications, if that is your number one goal, is Delphi. However, more users use Visual Studio (probably using C#, or VisualBasic.net) by a large margin. If you care about 64 bit support, however, or cross-platform, you\_ll have to wait a little whie, because the team that builds Delphi is working on all those things, but they have not shipped yet. Update: Delphi XE2 has since shipped, and supports 64 bit Windows, plus MacOS, plus iOS (iPad/iPod touch etc). If you choose C++ and QT, you will get a very powerful cross platform framework (QT), but it is rather expensive for single-developers. You will then be stuck with all the many problems of learning C++. C++ is a vast language specification, and each compiler implements a hopefully-mostly-compatible subset of those ANSI specification features, plus its own vendor-specific extensions. If you are looking to spend a thousand hours or more just learning the vagaries of the syntax, C++ is your language. If you want a simpler orthogonal language, that has fewer ways to shoot yourself in the foot, you can choose Pascal/Delphi (native/Win32), Java (portable), Managed languages (like C#) available both on Microsoft.net and on the cross-platform open source Mono project, or you could choose a very high level language like Python, Ruby, Perl, etc. For most of these very high level languages, a variety of GUI toolkits make it possible to write desktop applications, and do it quickly, and make it portable, but you will pay a performance penalty. Managed code, and Virtual Machine code (.Net and .Java) also come at a distinct performance penalty. Nothing can touch native compilation on pure speed. However, for most compiled environments, you should factor in compilation time. Because of Delphi\_s rediculously fast compilation speeds, and powerful IDE RAD "form building" and component-based development features, I find am more productive in that environment than any other one. However, if you do not get to make this decision on your own, and you have to go to the Pointy Haired Boss on this one, he\_s going to tell you to pick the most commonly used technology out there. It\_s a "sheep effect" thing. Java has a big corporate backing, and is heavily used in the financial sector. These days, it seems most "in house development" for Windows, of the usual kind of "CRUD-screen" apps (database-centric applications) are done in C#. There is no free lunch.
28-10-2014 05:17:11Which technology for writing desktop software?To paraphrase: \"I_m a one person coding machine. I want to write small, consumer oriented desktop software. Which technology should I use? Should I write cross-platform code or stick with one platform?\" The amount of available technologies is vast: C/C++; .NET, Java, Adobe Air, Cocoa with Objective-C, QT, wxWidgets and many more lesser known technologies. Don\'t write cross-platform code The logic behind writing cross-platform code is deceptively attractive: if I target both Mac and Windows, I\'ll sell twice as many copies of my software. However, at the beginning your biggest problem is that your idea hasn\'t been tested with the market. Writing for a single platform is faster so you\'ll find out sooner if your software is a hit or a flop. If it\'s a flop, the effort of supporting two platforms was lot. If it\'s a success: congratulation, you now have the money to invest in supporting the other platform and a much higher chance that the result will be successful as well. Don\'t delude yourself that a cross-platform toolkit will allow you to ship a cross-platform as fast as shipping a single-platform code. Life is not as simple as that. Today Qt is the best cross-platform toolkit, a truly impressive piece of work. It is, however, limited by its legacy. Qt requires you to use C++. You\'ll be much more productive using C# with WPF on Windows or Objective C with Coca on Mac. Writing code takes only a fraction of time and effort needed to ship an application to end users. Other activities that you\'ll need to do that also require doubling the time and effort: testing the code on both platforms writing documentation and marketing materials for 2 platforms learning how to market to both Windows and Mac users learning to become an expert user of both OSes to help your users when inevitable support requests come in Within the confines of small company, at best you might succeed despite sucking, like Libox (their Mac application doesn\'t even respect Cmd-Q). All the runaway successes that come to my mind, like Evernote or Dropbox, did invest in a native clients for each platform they support, because their apps are their core differentiator (there are tens of note-taking applications out there or apps that allow to backup or share files in some way).
28-10-2014 04:54:43MetadataMetadata is data (information) about data. The <meta> tag provides metadata about the HTML document. Metadata will not be displayed on the page, but will be machine parsable. Meta elements are typically used to specify page description, keywords, author of the document, last modified, and other metadata. The metadata can be used by browsers (how to display content or reload page), search engines (keywords), or other web services. <head> <meta charset="UTF-8"> <meta name="description" content="Free Web tutorials"> <meta name="keywords" content="HTML,CSS,XML,JavaScript"> <meta name="author" content="Hege Refsnes"> </head>
28-10-2014 04:52:08PersonalJavaPersonalJava was a Java edition for mobile and embedded systems based on Java 1.1.8 . It has been superseded by the CDC_s Personal Profile which is not widely deployed.
28-10-2014 04:51:01JavaFXJavaFX is a software platform for creating and delivering rich internet applications (RIAs) that can run across a wide variety of devices. JavaFX is intended to replace Swing as the standard GUI library for Java SE, but both will be included for the foreseeable future. The current release has support for desktop computers and web browsers on Windows, Linux, and Mac OS X. Before version 2.0 of JavaFX, developers used a statically typed, declarative language called JavaFX Script to build JavaFX applications. Because JavaFX Script was compiled to Java bytecode, programmers could also use Java code instead. JavaFX applications could run on any desktop that could run Java SE, on any browser that could run Java EE, or on any mobile phone that could run Java ME. However, JavaFX 2.0 and later is now implemented as a native Java library and therefore applications using JavaFX are written in native Java code. JavaFX Script has been scrapped by Oracle, but development is being continued in the Visage project. JavaFX 2.x does not support the Solaris operating system or mobile phones; however as Oracle plans to integrate JavaFX to Java SE embedded 8, Java FX for ARM processors is currently in developer preview phase. On desktops, the current release supports Windows XP, Windows Vista, Windows 7, Windows 8, Mac OS X and Linux operating systems. Beginning with JavaFX 1.2, Oracle has released beta versions for OpenSolaris. On mobile, JavaFX Mobile 1.x is capable of running on multiple mobile operating systems, including Symbian OS, Windows Mobile, and proprietary real-time operating systems.
28-10-2014 04:49:52Java Platform, Enterprise Edition or Java EEJava Platform, Enterprise Edition or Java EE is Oracle_s enterprise Java computing platform. The platform provides an API and runtime environment for developing and running enterprise software, including network and web services, and other large-scale, multi-tiered, scalable, reliable, and secure network applications. Java EE extends the Java Platform, Standard Edition (Java SE), providing an API for object-relational mapping, distributed and multi-tier architectures, and web services. The platform incorporates a design based largely on modular components running on an application server. Software for Java EE is primarily developed in the Java programming language. The platform emphasizes convention over configuration and annotations for configuration. Optionally XML can be used to override annotations or to deviate from the platform defaults.
28-10-2014 04:46:27Java Platform, Standard Edition or Java SEJava Platform, Standard Edition or Java SE is a widely used platform for development and deployment of portable applications for desktop and server environments. Java SE uses the object-oriented Java programming language. It is part of the Java software platform family. Java SE defines a wide range of general purpose APIs - such as Java APIs for the Java Class Library - and also includes the Java Language Specification and the Java Virtual Machine Specification. One of the most well-known implementations of Java SE is Oracle Corporation_s Java Development Kit (JDK).
28-10-2014 04:45:12Java Platform, Micro Edition, or Java MEJava Platform, Micro Edition, or Java ME, is a Java platform designed for embedded systems (mobile devices are one kind of such systems). Target devices range from industrial controls to mobile phones (especially feature phones) and set-top boxes. Java ME was formerly known as Java 2 Platform, Micro Edition (J2ME). Java ME was designed by Sun Microsystems, acquired by Oracle Corporation in 2010; the platform replaced a similar technology, PersonalJava. Originally developed under the Java Community Process as JSR 68, the different flavors of Java ME have evolved in separate JSRs. Sun provides a reference implementation of the specification, but has tended not to provide free binary implementations of its Java ME runtime environment for mobile devices, rather relying on third parties to provide their own. As of 22 December 2006, the Java ME source code is licensed under the GNU General Public License, and is released under the project name phoneME. As of 2008, all Java ME platforms are currently restricted to JRE 1.3 features and use that version of the class file format (internally known as version 47.0). Should Oracle ever declare a new round of Java ME configuration versions that support the later class file formats and language features, such as those corresponding to JRE 1.5 or 1.6 (notably, generics), it will entail extra work on the part of all platform vendors to update their JREs. Java ME devices implement a profile. The most common of these are the Mobile Information Device Profile aimed at mobile devices, such as cell phones, and the Personal Profile aimed at consumer products and embedded devices like set-top boxes and PDAs. Profiles are subsets of configurations, of which there are currently two: the Connected Limited Device Configuration (CLDC) and the Connected Device Configuration (CDC). There are more than 2.1 billion Java ME enabled mobile phones and PDAs. It is popular in sub $200 devices such as Nokia_s Series 40. It was also used on the Bada operating system and on Symbian OS along with native software. Also, there are implementations for Windows CE, Windows Mobile, Maemo, MeeGo and Android available for separate download.
28-10-2014 04:42:31Java CardJava Card refers to a software technology that allows Java-based applications (applets) to be run securely on smart cards and similar small memory footprint devices. Java Card is the tiniest of Java platforms targeted for embedded devices. Java Card gives the user the ability to program the devices and make them application specific. It is widely used in SIM cards (used in GSM mobile phones) and ATM cards. The first Java Card was introduced in 1996 by Schlumberger_s card division which later merged with Gemplus to form Gemalto. Java Card products are based on the Java Card Platform specifications developed by Sun Microsystems (later a subsidiary of Oracle Corporation). Many Java card products also rely on the GlobalPlatform specifications for the secure management of applications on the card (download, installation, personalization, deletion). The main design goals of the Java Card technology are portability and security.
28-10-2014 04:40:36Java editionsJava Card Micro Edition (ME) Standard Edition (SE) Enterprise Edition (EE) JavaFX (Merged to Java SE 8) PersonalJava (discontinued)
25-10-2014 10:23:26Hitman 2: Silent Assassin Cheat CodesMake a backup of this file before proceeding to edit anything. Use notepad or a text editor to edit the file hitman2.ini. At the end of the file add enableconsole 1 for the beta game version. In final edition of the game put in EnableCheats 1 Now start a game and during gameplay press ~ to get the console and enter a code below infammo - Unlimited ammo invisible 1 - Invisibility god 1 - Invincibility giveall - All weapons IOIRULEZ Invincibility IOIGIVES Weapons & Ammo IOIHITLEIF Max out health IOIER Bomb Mode IOISLO Slo-Mo Mode IOIHITALI Ali Mode IOILEPOW Lethal Charge Mode IOIGRV Gravitation IOINGUN Nailgun Mode IOIPOWER Mega-Force
24-10-2014 00:50:24How to Find the MAC Address of Your ComputerA MAC (Media Access Control) address is a number that identifies the network adapter(s) installed on your computer. The address is composed of up to 6 pairs of characters, separated by colons. You may need to provide your MAC address to a router in order to successfully connect to a network. Method-1 (for Windows Vista, 7, or 8) 1. Connect to a network. This method is only applicable if you are currently connected. Make sure to connect with the interface that you need the MAC address for (Wi-Fi if you need your wireless card_s MAC address, Ethernet if you need your wired card_s MAC address). 2. Click on the connection icon in the system tray. After clicking on it, select "Open Network and Sharing Center". In Windows 8, run the Desktop application in your Start screen. Once you are in Desktop Mode, right-click on the connection icon in the system tray. Select "Network and Sharing Center". 3. Find the name of your network connection and click on it. 4. Click Details. This will open a list of configuration information about the connection, similar to what appears when you use the IPConfig tool in the Command Prompt. 5. Look for "Physical Address". This your MAC address. Method-2 (Windows 98 and XP) 1. Connect to a network. This method is only applicable if you are currently connected. Make sure to connect with the interface that you need the MAC address for (Wi-Fi is you you are your wireless card_s MAC address, Ethernet if you need your wired card_s MAC address). 2. Open Network Connections. You can also access Network Connections from the Control Panel, located in the Start menu. 3. Right-click your connection and select Status. 4. Click Details. Note that, in some versions of Windows, this may be under the Support tab. This will open a list of configuration information about the connection, similar to what appears when you use the IPConfig tool in the Command Prompt. 5. Look for Physical Address. This your MAC address. Method-3 (Any Version of Windows) 1. Open the command prompt 2. Run GetMAC. At the command prompt, type "getmac /v /fo list" and press enter. 3. Look for Physical Address. This is another way to describe your MAC address. Make sure you get the physical address of the correct network adapter - usually there are several listed. For example, your wireless connection will have a different MAC address than your Ethernet connection. Method-4 (Mac OS X 10.5 (Leopard) and Newer) 1. Open System Preferences. 2. Select your connection. Method-5 (Mac OS X 10.4 (Tiger) and Older) 1. Open System Preferences. 2. Select Network. 3. Select the connection from the Show menu. 4. Find your AirPort ID or Ethernet ID. Method-6 (Linux) 1. Open the terminal. 2. Open the interface configuration. Type ifconfig -a and press Enter. If you are denied access, enter sudo ifconfig -a and enter your password when prompted. 3. Find your MAC address. Scroll until you find your network connection (the primary Ethernet port is labeled eth0). Look for the HWaddr entry. This is your MAC address. Method-7 (iOS) 1. Open your Settings. 2. Tap About. This will list information about your specific device. Scroll down until you see Wi-Fi Address. This is the MAC address for your iDevice. This works for all iOS devices: iPhone, iPod, and iPad. 3. Find the Bluetooth MAC address. If you need the Bluetooth address, it is located directly beneath the Wi-Fi address entry. Method-8 (Android OS) 1. Open your Settings. When looking at the Home screen, push your Menu button and select Settings. You can also open Settings by tapping the app in the App Drawer. 2. Scroll down to About Device. This is typically located at the bottom of the Settings menu. In the About Device menu, tap Status. 3. Find your MAC address. Scroll down until you find the Wi-Fi MAC address entry. This is your device_s MAC address. 4. Find the Bluetooth MAC address. The Bluetooth MAC address is located directly beneath the Wi-Fi MAC address. Bluetooth must be turned on for your device in order to see the address. Method-9 (Windows Phone 7 or Newer) 1. Open Settings. You can access settings by navigating to your Home screen and then swiping left. Scroll down until you see the Settings option. 2. Find About. In the Settings, scroll down and tap About. In the About screen tap the More Info button. Your MAC address will be displayed at the bottom of the screen. Method-10 (Chrome OS) 1. Click on the Network icon. This is located in the lower-right corner of the desktop, and looks like 4 radiating bars. 2. Open the Network Status. In this menu, click on the "i" icon, located in the lower-right corner. A message will appear listing your device_s MAC address. Method-11 (Video Game Consoles) 1. Find the MAC address of a PlayStation 3. In the PlayStation_s main menu system, scroll left until you reach the Settings menu. Scroll down until you locate System Settings. Scroll down and select System In
24-10-2014 00:27:02MAC addressA media access control address (MAC address) is a unique identifier assigned to network interfaces for communications on the physical network segment. MAC addresses are used as a network address for most IEEE 802 network technologies, including Ethernet. Logically, MAC addresses are used in the media access control protocol sublayer of the OSI reference model. MAC addresses are most often assigned by the manufacturer of a network interface controller (NIC) and are stored in its hardware, such as the card_s read-only memory or some other firmware mechanism. If assigned by the manufacturer, a MAC address usually encodes the manufacturer_s registered identification number and may be referred to as the burned-in address (BIA). It may also be known as an Ethernet hardware address (EHA), hardware address or physical address. This can be contrasted to a programmed address, where the host device issues commands to the NIC to use an arbitrary address. A network node may have multiple NICs and each NIC must have a unique MAC address. MAC addresses are formed according to the rules of one of three numbering name spaces managed by the Institute of Electrical and Electronics Engineers (IEEE): MAC-48, EUI-48, and EUI-64. The IEEE claims trademarks on the names EUI-48 and EUI-64, in which EUI is an abbreviation for Extended Unique Identifier.
23-10-2014 01:31:30compile and run SIGAR programTo compile a java file that use sigar api javac -classpath ./sigar.jar MySigarProgram.java to run on linux: java -classpath ./sigar.jar:. MySigarProgram to run on windows: java -classpath ./sigar.jar;. MySigarProgram
22-10-2014 21:02:56SIGAR API (all classes)CollectionCompleter ConnectParams Cpu CpuInfo CpuInfo CpuPerc CpuTimer CurrentProcessSummary Df DirStat DirUsage DiskUsage Du EventLog EventLogNotification EventLogRecord EventLogTail EventLogThread FileAttrs FileCompleter FileInfo FileSystem FileSystemMap FileSystemUsage FileTail FileVersion FileVersionInfo FileWatcher FileWatcherThread Free Getline GetlineCompleter Humidor Ifconfig Iostat IteratorIterator Kill LocaleInfo Ls MalformedQueryException Mem MemWatch MetaBase MultiProcCpu MultiProcMem MultiPs MultiwordShellCommand NetConnection NetFlags NetInfo NetInfo NetInterfaceConfig NetInterfaceStat NetRoute NetServices Netstat NetStat NfsClientV2 NfsClientV3 NfsFileSystem NfsServerV2 NfsServerV3 Nfsstat NfsUnreachableException NormalQuitCommandException OperatingSystem Pdh Pidof PrintfFormat ProcCpu ProcCred ProcCredName ProcessFinder ProcessQuery ProcessQueryCompleter ProcessQueryFactory ProcExe ProcFd ProcFileInfo ProcFileMirror ProcInfo ProcMem ProcModuleInfo ProcStat ProcState ProcTime ProcUtil Ps QueryLoadException ReferenceMap ReferenceMap.MapReference ReferenceMap.SoftValue ReferenceMap.WeakValue RegistryKey ResourceLimit Route RPC Runner Service ServiceConfig Shell ShellBase ShellCommand_alias ShellCommand_get ShellCommand_help ShellCommand_quit ShellCommand_set ShellCommand_sleep ShellCommand_source ShellCommandBase ShellCommandExecException ShellCommandHandler ShellCommandInitException ShellCommandMapper ShellCommandUsageException ShellIntHandler ShowArgs ShowEnv Sigar SigarCommandBase SigarException SigarFileNotFoundException SigarInvoker SigarLoader SigarLog SigarNotImplementedException SigarPermissionDeniedException SigarProcessQuery SigarProxy SigarProxyCache SIGINT StringPattern SudoFileInputStream Swap SysInfo SysInfo Tail Tcp ThreadCpu Time Top Ulimit Uptime Uptime Version VM VMControlLibrary VMwareException VMwareServer Watch WeakReferenceMap Who Who Win32 Win32Exception Win32Service
22-10-2014 20:39:29JDBC driverA JDBC driver is a software component enabling a Java application to interact with a database. JDBC drivers are analogous to ODBC drivers, ADO.NET data providers, and OLE DB providers. To connect with individual databases, JDBC (the Java Database Connectivity API) requires drivers for each database. The JDBC driver gives out the connection to the database and implements the protocol for transferring the query and result between client and database. JDBC technology drivers fit into one of four categories. 1. JDBC-ODBC bridge 2. Native-API Driver 3. Network-Protocol Driver(MiddleWare Driver) 4. Database-Protocol Driver(Pure Java Driver) Type 1 Driver - JDBC-ODBC bridge The JDBC type 1 driver, also known as the JDBC-ODBC bridge, is a database driver implementation that employs the ODBC driver to connect to the database. The driver converts JDBC method calls into ODBC function calls. Advantages Almost any database for which an ODBC driver is installed can be accessed, and data can be retrieved. Disadvantages => Performance overhead since the calls have to go through the jdbc Overhead bridge to the ODBC driver, then to the native db connectivity interface (thus may be slower than other types of drivers). => The ODBC driver needs to be installed on the client machine. => Not suitable for applets, because the ODBC driver needs to be installed on the client. Type 2 Driver - Native-API Driver The JDBC type 2 driver, also known as the Native-API driver, is a database driver implementation that uses the client-side libraries of the database. The driver converts JDBC method calls into native calls of the database API.For example: Oracle OCI driver is a Type 2 Driver Advantages As there is no implementation of jdbc-odbc bridge, its considerably faster than a type 1 driver. Disadvantages =>The vendor client library needs to be installed on the client machine. =>Not all databases have a client side library =>This driver is platform dependent =>This driver supports all java applications except Applets Type 3 Driver - Network-Protocol Driver(MiddleWare Driver) The JDBC type 3 driver, also known as the Pure Java Driver for Database Middleware, is a database driver implementation which makes use of a middle tier between the calling program and the database. The middle-tier (application server) converts JDBC calls directly or indirectly into the vendor-specific database protocol. Advantages =>Since the communication between client and the middleware server is database independent, there is no need for the database vendor library on the client. The client need not be changed for a new database. =>The middleware server (which can be a full fledged J2EE Application server) can provide typical middleware services like caching (of connections, query results, etc.), load balancing, logging, and auditing. =>A single driver can handle any database, provided the middleware supports it. E.g.:-IDA Server Disadvantages =>Requires database-specific coding to be done in the middle tier. =>The middleware layer added may result in additional latency, but is typically overcome by using better middleware services. Type 4 Driver - Database-Protocol Driver(Pure Java Driver) The JDBC type 4 driver, also known as the Direct to Database Pure Java Driver, is a database driver implementation that converts JDBC calls directly into a vendor-specific database protocol. Advantages => Completely implemented in Java to achieve platform independence. => These drivers do not translate the requests into an intermediary format (such as ODBC). => The client application connects directly to the database server. No translation or middleware layers are used, improving performance. => The JVM can manage all aspects of the application-to-database connection; this can facilitate debugging. Disadvantages => Drivers are database dependent, as different database vendors use widely different (and usually proprietary) network protocols.
22-10-2014 20:28:07Types of DBMSThere are four main types of database management systems (DBMS) and these are based upon their management of database structures. In other words, the types of DBMS are entirely dependent upon how the database is structured by that particular DBMS. Hierarchical DBMS A DBMS is said to be hierarchical if the relationships among data in the database are established in such a way that one data item is present as the subordinate of another one or a sub unit. Here subordinate means that items have "parent-child" relationships among them. Direct relationships exist between any two records that are stored consecutively. The data structure "tree" is followed by the DBMS to structure the database. No backward movement is possible/allowed in the hierarchical database. The hierarchical data model was developed by IBM in 1968 and introduced in information management systems. This model is like a structure of a tree with the records forming the nodes. Network DBMS A DBMS is said to be a Network DBMS if the relationships among data in the database are of type many-to-many. The relationships among many-to-many appears in the form of a network. Thus the structure of a network database is extremely complicated because of these many-to-many relationships in which one record can be used as a key of the entire database. A network database is structured in the form of a graph that is also a data structure. Though the structure of such a DBMS is highly complicated however it has two basic elements i.e. records and sets to designate many-to-many relationships. Mainly high-level languages such as Pascal, C++, COBOL and FORTRAN etc. were used to implement the records and set structures. Relational DBMS A DBMS is said to be a Relational DBMS or RDBMS if the database relationships are treated in the form of a table. There are three keys on relational DBMS: relation, domain and attributes. A network means it contains a fundamental constructs sets or records sets contains one to many relationship, records contains fields statical table that is composed of rows and columns is used to organize the database and its structure and is actually a two dimension array in the computer memory. A number of RDBMSs are available, some popular examples are Oracle, Sybase, Ingress, Informix, Microsoft SQL Server, and Microsoft Access. Object-oriented DBMS Able to handle many new data types, including graphics, photographs, audio, and video, object-oriented databases represent a significant advance over their other database cousins. Hierarchical and network databases are all designed to handle structured data; that is, data that fits nicely into fields, rows, and columns. They are useful for handling small snippets of information such as names, addresses, zip codes, product numbers, and any kind of statistic or number you can think of. On the other hand, an object-oriented database can be used to store data from a variety of media sources, such as photographs and text, and produce work, as output, in a multimedia format. Object-oriented databases use small, reusable chunks of software called objects. The objects themselves are stored in the object-oriented database. Each object consists of two elements: 1) a piece of data (e.g., sound, video, text, or graphics), and 2) the instructions, or software programs called methods, for what to do with the data. Part two of this definition requires a little more explanation. The instructions contained within the object are used to do something with the data in the object. For example, test scores would be within the object as would the instructions for calculating average test score. Object-oriented databases have two disadvantages. First, they are more costly to develop. Second, most organizations are reluctant to abandon or convert from those databases that they have already invested money in developing and implementing. However, the benefits to object-oriented databases are compelling. The ability to mix and match reusable objects provides incredible multimedia capability. Healthcare organizations, for example, can store, track, and recall CAT scans, X-rays, electrocardiograms and many other forms of crucial data.
22-10-2014 03:10:58JavadocJavadoc is a documentation generator from Oracle Corporation for generating API documentation in HTML format from Java source code. The HTML format is used to add the convenience of being able to hyperlink related documents together. The "doc comments" format used by Javadoc is the de facto industry standard for documenting Java classes. Some IDEs, such as Netbeans and Eclipse, automatically generate Javadoc HTML. Many file editors assist the user in producing Javadoc source and use the Javadoc info as internal references for the programmer. Javadoc also provides an API for creating doclets and taglets, which allows you to analyze the structure of a Java application. This is how JDiff can generate reports of what changed between two versions of an API. Javadoc has been used by Java since the first release, and is usually updated on every new release of the Java Development Kit. Some of the available Javadoc tags @author John Smith ==> Describes an author. ==> Class, Interface, Enum @version version ==> Provides software version entry. Max one per Class or Interface. ==> Class, Interface, Enum @since since- ==>ext Describes when this functionality has first existed. ==> Class, Interface, Enum, Field, Method @see reference ==> Provides a link to other element of documentation. ==> Class, Interface, Enum, Field, Method @param name description ==> Describes a method parameter. ==> Method @return description ==> Describes the return value. ==> Method @exception classname description ==> Describes an exception that may be thrown from this method. ==> Method @throws classname description ==> Describes an exception that may be thrown from this method. ==> Method @deprecated description ==> Describes an outdated method. ==> Method {@inheritDoc} ==> Copies the description from the overridden method. ==> Overriding Method 1.4.0 {@link reference} ==> Link to other symbol. ==> Class, Interface, Enum, Field, Method {@value #STATIC_FIELD} ==> Return the value of a static field. ==> Static Field 1.4.0
21-10-2014 04:54:45SendMail.javapublic void sendMail(String from,String to,String subject,String message) throws Exception { Properties props=new Properties(); props.put("mail.transport.protocol","smtp"); props.put("mail.smtp.starttls.enable","true"); props.put("mail.smtp.host",mailSMTPServer); props.put("mail.smtp.auth","true"); props.put("mail.smtp.user",from); props.put("mail.debug","true"); props.put("mail.smtp.port",mailSMTPServerPort); props.put("mail.smtp.socketFactory.port",mailSMTPServerPort); props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory"); props.put("mail.smtp.socketFactory.fallback","false"); SimpleAuth auth=null; auth=new SimpleAuth("teste","teste"); Session session=Session.getDefaultInstance(props,auth); session.setDebug(true); Message msg=new MimeMessage(session); msg.setRecipient(Message.RecipientType.TO,new InternetAddress(to)); msg.setFrom(new InternetAddress(from)); msg.setSubject(subject); msg.setContent(message,"text/plain"); Transport tr; tr=session.getTransport("smtp"); tr.connect(mailSMTPServer,"lembretesnortev","lostmind"); msg.saveChanges(); tr.sendMessage(msg,msg.getAllRecipients()); tr.close(); }
21-10-2014 00:43:32Extensible Messaging and Presence Protocol (XMPP)Extensible Messaging and Presence Protocol (XMPP) is a communications protocol for message-oriented middleware based on XML (Extensible Markup Language). The protocol was originally named Jabber, and was developed by the Jabber open-source community in 1999 for near real-time, instant messaging (IM), presence information, and contact list maintenance. Designed to be extensible, the protocol has also been used for publish-subscribe systems, signalling for VoIP, video, file transfer, gaming, Internet of Things (IoT) applications such as the smart grid, and social networking services. Unlike most instant messaging protocols, XMPP is defined in an open standard and uses an open systems approach of development and application, by which anyone may implement an XMPP service and interoperate with other organizations implementations. Because XMPP is an open protocol, implementations can be developed using any software license; although many server, client, and library implementations are distributed as free and open-source software, numerous freeware and commercial software implementations also exist. The Internet Engineering Task Force (IETF) formed an XMPP working group in 2002 to formalize the core protocols as an IETF instant messaging and presence technology. The XMPP Working group produced four specifications (RFC 3920, RFC 3921, RFC 3922, RFC 3923), which were approved as Proposed Standards in 2004. In 2011, RFC 3920 and RFC 3921 were superseded by RFC 6120 and RFC 6121 respectively, with RFC 6122 specifying the XMPP address format. In addition to these core protocols standardized at the IETF, the XMPP Standards Foundation (formerly the Jabber Software Foundation) is active in developing open XMPP extensions. XMPP-based software is deployed widely across the Internet, and by 2003, was used by over ten million people worldwide, according to the XMPP Standards Foundation.
20-10-2014 05:36:07Windows Management InstrumentationWindows Management Instrumentation (WMI) is a set of extensions to the Windows Driver Model that provides an operating system interface through which instrumented components provide information and notification. WMI is Microsoft_s implementation of the Web-Based Enterprise Management (WBEM) and Common Information Model (CIM) standards from the Distributed Management Task Force (DMTF). WMI allows scripting languages like VBScript or Windows PowerShell to manage Microsoft Windows personal computers and servers, both locally and remotely. WMI is preinstalled in Windows 2000 and newer OSs. It is available as a download for Windows NT, Windows 95 and Windows 98. Microsoft also provides a command line interface to WMI called Windows Management Instrumentation Command-line (WMIC).
20-10-2014 05:22:22Free C, C++ Compilers and Interpreters for ComputersMinGW-w64 Microsoft Visual Studio Express 2013 AMD x86 Open64 Compiler Suite Microsoft Visual C++ 2010 Express Open Source Watcom / OpenWatcom C/C++ Compiler Digital Mars C/C++ Compiler (Symantec C++ Replacement) UPS Debugger (C Interpreter) The BDS C Compiler Bloodshed Dev-C++ C++ Compiler Turbo C 2.01 Orange C Compiler PCC - Portable C Compiler DeSmet C Apple Xcode for Mac OS X Tiny C Compiler - Smallest Linux C Compiler Portable Object Compiler Mingw32 C & C++ Compilers GNU C/C++ Compiler Pelles C Compiler Compaq C Compiler Ch Embeddable C/C++ Interpreter (Standard Edition) DJGPP C and C++ Compilers Cilk ANSI C Based Compiler Sphinx C-- Compiler LSI C-86 C Compiler ACC C Compiler CINT C and C++ Interpreter SDCC C Cross-compiler LADSoft CC386 C Compiler Cygwin Project (C & C++ Compilers) LCC-Win32 C Compiler LCC - A Retargetable Compiler for ANSI C Cyclone C Leonardo IDE Open64 Compiler Tools
20-10-2014 05:15:05CINTCINT is a command line C/C++ interpreter that is included in the object oriented data analysis package ROOT. Although intended for use with the other faculties of ROOT, CINT can also be used as a standalone addition to another program that requires such an interpreter. CINT is an interpreted version of C/C++, much in the way BeanShell is an interpreted version of Java. In addition to being a language interpreter, it offers certain bash-like shell features such as history and tab-completion. To accomplish the latter, it relies heavily on the reflection support built into ROOT. User classes that follow these interfaces may also take advantage of these features. The language interpreted by CINT is actually something of a hybrid between C and C++, covering about 95% of ANSI C and 85% of C++. The syntax, however, is a bit more forgiving than either language. For example, the operator -> can be replaced by . with only an optional warning. In addition, statements on the command line do not need to end with a semi-colon, although this is necessary for statements in macros.
19-10-2014 07:30:14Clear Windows 7 Cache=>Clearing Memory Cache (the longer your computer or laptop runs, it gradually slows down due to idle processes) Solution:: create a shortcut 32-bit: %windir%system32 undll32.exe advapi32.dll,ProcessIdleTasks 64bit: %windir%SysWOW64 undll32.exe advapi32.dll,ProcessIdleTasks The shortcut examines your current processes and ends any unused ones that are taking up your free memory. =>Clearing the DNS Cache (for connection issues, corrupt DNS cache or out of date) Solution:: in cmd "ipconfig /flushdns" If you are still having difficulty loading web sites, then the problem may lie elsewhere. =>Clearing Thumbnail Cache with Disk Cleanup It enables you to not only clean junk file and temp data from drives, but also remove the thumbnail cache. It lets you select the drive from where you want to clean the thumbnail cache files. Search "Disk Cleanup" and use it. The thumbnail cache and temporary files folders will grow quickly, so it pays to clean them out regularly. Do this again at least once a month to maintain your computer_s performance. =>Clearing Browser Cache 1. Clear Internet Explorer_s cache. Click the Gear icon in the upper-right corner, hover over Safety, and select "Delete browsing history". You can also press ^ Ctrl+ Shift+ Del to open this window. Check the "Temporary Internet Files" box. Make sure to uncheck any boxes for data you want to preserve. Click the Delete button. 2. Clear Firefox_s cache. Click the Firefox button in the upper-left corner of the window. Hover over History, and select "Clear Recent History". You can also press ^ Ctrl+ Shift+ Del to open this window. Expand the Details section and check the Cache box. Set the "Time range to clear" to "Everything". Click the Clear Now button. 3. Clear Google Chrome_s cache. You can clear Chrome_s cache from the Settings menu. To access it, click the Chrome menu button in the upper-right corner of the window and select Settings. This will open the Settings page in a new tab. Click the "Show advanced settings" link at the bottom of the page. Find the Privacy section and click the Clear browsing data button. You can also jump directly to this window anytime by pressing ^ Ctrl+ Shift+ Del Check the "Empty the cache" box and then click Clear browsing data.
15-10-2014 21:40:35Java Validations using Regular Expressionsimport java.util.*; import java.util.regex.*; class RegularExpressions { public static boolean validateName(String name) { return name.matches("\p{Upper}(\p{Lower}+\s?)"); } public static boolean validateAddress(String address) { return address.matches("\d+\s+([a-zA-Z]+|[a-zA-Z]+\s[a-zA-Z]+)"); } public static boolean validatePhone(String phone) { return phone.matches("^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{6})$"); } public static boolean isEmailValid(String email) { boolean isValid = false; String expression = "^[\w\.-]+@([\w\-]+\.)+[A-Z]{2,4}$"; CharSequence inputStr = email; Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(inputStr); if (matcher.matches()) { isValid = true; } return isValid; } public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter Name: "); String name = input.nextLine(); while (validateName(name) != true) { System.out.print("Invalid Name!"); System.out.println(); System.out.print("Enter Name: "); name = input.nextLine(); } System.out.print("Enter Phone Number: "); String phone = input.nextLine(); while (validatePhone(phone) != true) { System.out.print("Invalid PhoneNumber!"); System.out.println(); System.out.print("Enter Phone Number: "); phone = input.nextLine(); } System.out.print("Enter Address: "); String address = input.nextLine(); while (validateAddress(address) != true) { System.out.print("Invalid Address!"); System.out.println(); System.out.print("Enter Address: "); address = input.nextLine(); } System.out.print("Enter EmailId: "); String email = input.nextLine(); while (isEmailValid(email) != true) { System.out.print("Invalid Email!"); System.out.println(); System.out.print("Enter EmailID: "); email = input.nextLine(); } } }
15-10-2014 00:27:57JLabel background colorUse label.setOpaque(true); Otherwise the background is not painted, since the default of opaque is false for JLabel. From the JavaDocs: If true the component paints every pixel within its bounds. Otherwise, the component may not paint some or all of its pixels, allowing the underlying pixels to show through.
14-10-2014 20:26:18Regular expressionIn theoretical computer science and formal language theory, a regular expression (abbreviated regex or regexp) and sometimes called a rational expression is a sequence of characters that forms a search pattern, mainly for use in pattern matching with strings, or string matching, i.e. "find and replace"-like operations. The concept arose in the 1950s, when the American mathematician Stephen Kleene formalized the description of a regular language, and came into common use with the Unix text processing utilities ed, an editor, and grep (global regular expression print), a filter. Each character in a regular expression is either understood to be a metacharacter with its special meaning, or a regular character with its literal meaning. Together, they can be used to identify textual material of a given pattern, or process a number of instances of it that can vary from a precise equality to a very general similarity of the pattern. The pattern sequence itself is an expression that is a statement in a language designed specifically to represent prescribed targets in the most concise and flexible way to direct the automation of text processing of general text files, specific textual forms, or of random input strings.
09-10-2014 19:07:18Firefox profile cannot be loaded windows 7:: errorSolution:: Press Windows key+R to open the Run box, and then type: %APPDATA%MozillaFirefox Then delete profile.ini file to force Firefox to create a new default profile.
09-10-2014 17:09:29How does Sigar work?Sigar is an impressive suite of system monitoring and reporting tools made by a company called Hyperic (which was purchased by SpringSource in May, 2009). Hyperic also makes the enterprise Hyperic HQ monitoring tool suite. Sigar_s basic function is to make underlying system information available to Java. The pieces that come with Sigar include: A set of system info commands like ps, netstat, ifconfig, and df The Sigar object. The Sigar object maintains platform specific internal state. Looking at the source code, we see that this object is passed around all over the place so each part of Sigar knows which platform it is dealing with. The Sigar Proxy is an interface that is implemented by the sigar object which provides caching at the java level. The sigar shell, which is a command shell used to issue sigar commands and queries Sigar.jar library which can be included in java programs hooks into jmx A pager hooks into the windows registry and other windows specific stuff Process Table Query Language. Sigar has its own process table query language (PTQL) that is used to drill into process info and find out things including process children and viewing command line arguments used for a given process. It identifies processes by other attributes besides process ID so that sigar_s identification of the process can persist over time even if the process ID changes via a restart. Hooks into vmware information. Allows java to monitor and control vmware appliances. Many Sigar features have "toString()" overridden to provide a formatted output similar to what you would expect to see from your system as well as getter methods for you to customize the reporting.
09-10-2014 16:58:58SIGAR - System Information Gatherer And ReporterThe Sigar API provides a portable interface for gathering system information such as: System memory, swap, cpu, load average, uptime, logins Per-process memory, cpu, credential info, state, arguments, environment, open files File system detection and metrics Network interface detection, configuration info and metrics TCP and UDP connection tables Network route table This information is available in most operating systems, but each OS has their own way(s) providing it. SIGAR provides developers with one API to access this information regardless of the underlying platform. The core API is implemented in pure C with bindings currently implemented for Java, Perl, Ruby, Python, Erlang, PHP and C#. The shell and commands are implemented in Java, the source code is located in bindings/java/src/org/hyperic/sigar/cmd/. Perl, Ruby, Python, Erlang, PHP and C# interfaces are still a work in progress. SIGAR is licensed under the Apache License, Version 2.0
09-10-2014 15:52:40EGA, VGA, SVGAEnhanced Graphics Adapter, Video Graphics Array, Super Video Graphics Array It basicaly refers to the resolution of the screen.first versions.
09-10-2014 14:30:02Java Native Interface (JNI)At times, it is necessary to use native codes (C/C++) to overcome the memory management and performance constraints in Java. Java supports native codes via the Java Native Interface (JNI). JNI is difficult, as it involves two languages and runtimes.
09-10-2014 14:19:43Assembly Language ProgrammingNothing can beat the efficiency of Assembly language. A good optimizing C compiler will convert C file to a better assembly code, but a good human Assembly programmer can write much more tight and efficient code. If you are such an efficient-superb Assembly programmer, fortunately there is a way to link those assembly codes with C and so you can improve your program.
09-10-2014 14:11:20DOS SecretsTo program well, you have to know more about your hardware and DOS internals. In many Institutions hardware & software are being taught as different subjects. And people do not know how both are related. For system programming you must know the relationship between the two. You must understand why a programmer should know hardware & DOS internals for DOS programming.
09-10-2014 13:37:26This C code (Whereami.c) prints the world map! Quite amazingmain(l ,a,n,d)char**a;{ for(d=atoi(a[1])/10*80- atoi(a[2])/5-596;n="@NKA CLCCGZAAQBEAADAFaISADJABBA^ SNLGAQABDAXIMBAACTBATAHDBAN ZcEMMCCCCAAhEIJFAEAAABAfHJE TBdFLDAANEfDNBPHdBcBBBEA_AL H E L L O, W O R L D! " [l++-3];)for(;n-->64;) putchar(!d+++33^ l&1);} Run the program as whereami <lat> <long> Where lat and long correspond to your latitude and longitude. New Delhi will be marked with " (obtained by executing whereami 29 77)
09-10-2014 13:29:59Power of 2 in The C Programming LanguageHow to find whether the given number is a power of 2? i.e., 1, 2, 4, 8, 16, 32.. are powers of 2. #define ISPOWOF2( n ) ( ! ( n & ( n-1 ) ) Amazing!
09-10-2014 12:58:36CMOS (Nonvolatile BIOS memory)Nonvolatile BIOS memory refers to a small memory on PC motherboards that is used to store BIOS settings. It was traditionally called CMOS RAM because it used a volatile, low-power complementary metal-oxide-semiconductor (CMOS) SRAM (such as the Motorola MC146818 or similar) powered by a small battery when system power was off. The term remains in wide use but it has grown into a misnomer: nonvolatile storage in contemporary computers is often in EEPROM or flash memory (like the BIOS code itself); the remaining usage for the battery is then to keep the real-time clock (RTC) going. The typical NVRAM capacity is 512 bytes, which is generally sufficient for all BIOS settings. The CMOS RAM and the real-time clock have been integrated as a part of the southbridge chipset and it may not be a standalone chip on modern motherboards.
09-10-2014 11:59:47Hyperic SIGAR APIOne API to access system information regardless of the underlying platform Hyperic_s System Information Gatherer (SIGAR) is a cross-platform API for collecting software inventory data. SIGAR is core of HQ_s auto-discovery functionality, and you can use it to extend auto-discovery behavior. SIGAR includes support for Linux, FreeBSD, Windows, Solaris, AIX, HP-UX and Mac OSX across a variety of versions and architectures. Users of the SIGAR API are given portable access to inventory and monitoring data including: System memory, swap, cpu, load average, uptime, logins Per-process memory, cpu, credential info, state, arguments, environment, open files File system detection and metrics Network interface detection, configuration information and metrics Network route and connection tables This information is available in most operating systems, but each OS has its own way(s) providing it. SIGAR provides developers with one API to access this information regardless of the underlying platform. The core API is implemented in pure C with bindings currently implemented for Java, Perl and C#. SIGAR offers both source code and binary distributions including native libraries for all supported platforms, examples and documentation. Hyperic SIGAR is licensed under the terms of the Apache 2.0 license.
09-10-2014 11:48:27Accessing BIOS information.There is no way to access hardware specific data from Java itself because Java is designed as an abstraction over multiple hardware configurations. However by using the Java Native Interface (JNI), one may call an application in a different language that does have access to hardware specific details. This may be an application written in C++ or C#, or whatever has the facility to get that data. It rather depends on what information you're trying to read. Java can not read the BIOS, but java can query the WMI (google for jWMI) which might get the data you need. Simply, no. Java is platform independent and not designed to make platform dependant changes like this.
09-10-2014 10:04:31HTML iframeThis "smart iframe" will not work if you are pulling content in from something that is not within the same hosting as the page requesting the data.
08-10-2014 16:12:11write into .properties file try { Properties props = new Properties(); props.setProperty("mail.smtp.port", portNumberTextField.getText()); props.setProperty("mail.password", passwordTextField.getText()); props.setProperty("mail.user", userNameTextField.getText()); props.setProperty("mail.smtp.host", hostNameTextField.getText()); File f = new File("config.properties"); OutputStream out = new FileOutputStream( f ); props.store(out, "config.properties file set"); } catch(Exception e) { JOptionPane.showMessageDialog(null, "MyApp config.properties file."); }
08-10-2014 15:46:05read from .properties filetry (FileReader reader = new FileReader("test.properties")) { Properties properties = new Properties(); properties.load(reader); String url = properties.getProperty("test.url"); System.out.println(url); } catch (IOException e) { e.printStackTrace(); }
08-10-2014 15:27:47.properties.properties is a file extension for files mainly used in Java related technologies to store the configurable parameters of an application. They can also be used for storing strings for Internationalization and localization; these are known as Property Resource Bundles. Each parameter is stored as a pair of strings, one storing the name of the parameter (called the key), and the other storing the value. Filename extension => .properties Type of format => Any text format, including ASCII and Unicode Transformation Format
08-10-2014 02:52:05php nl2br() functionInsert line breaks where newlines occur in the string:
08-10-2014 02:03:07Run jar filejava -jar Test.jar
08-10-2014 02:02:20Make jar filejar cfm Test.jar Manifest.txt *.class
08-10-2014 02:00:29Compile with Classpathjavac -cp lib/* Test.java
08-10-2014 00:39:39Using application-specific passwordsWhen prompted for a password when you sign in to an application or device that accesses your Google Account: 1) Enter your username. 2) Enter your application-specific password in the password field. 3) If your application has an option to remember your application-specific password or stay signed in, you can select that option so you will not have to generate and enter a new application-specific password each time you access your account from this application or device.
08-10-2014 00:37:59Generating application-specific passwordsAn application-specific password is similar to a verification code in that you do not have to memorize it. However, application-specific passwords are longer than verification codes and you do not enter them into web browsers. In addition, you do not get application-specific passwords from your phone -- instead, to generate an application-specific password: 1) Visit the Authorizing applications &amp; sites page under your Google Account settings. 2) Under the Application-specific passwords section, enter a descriptive name for the application you want to authorize, then click Generate application-specific password. You will then see the application-specific password you just created. You will also see the nickname of the device and a link to Revoke -- or cancel -- the code. Note: When you click Done, you will not be able see that application-specific code again. But do not panic -- you can always revoke that code and generate a new one.
08-10-2014 00:36:19Generating application-specific passwords
08-10-2014 00:30:56JavaMail error: Application-specific password requiredSome applications that access your Google Account (such as Gmail on your phone or Outlook) cannot ask for verification codes. To use these applications, you will not use verification codes. Instead, you will enter an application-specific password in place of your normal password. Common applications and devices that require an application-specific password include: POP and IMAP email clients such as Outlook, Mail and Thunderbird, Gmail and Google Calendar on smartphones, ActiveSync for Windows Mobile and iPhone, YouTube Mobile, Installed chat clients such as Google Talk and Adium Picasa, 3D Warehouse, Sketchup, and installed applications, AdWords Editor. Most of the time, you will only have to enter an application-specific password once per application or device (soon after you turn on 2-step verification).
06-10-2014 17:58:24Creating jar file: step 5 (The format of the command line for creating the JAR file)The format of the command line for creating the JAR file looks like this: &quot;jar cf jar-file.jar input-file(s)&quot;. The &quot;jar&quot; portion refers to the jar.exe program, which compiles the JAR file. The &quot;c&quot; option specifies that you want to create a JAR file. The &quot;f&quot; option means that you want to specify the filename. The &quot;jar-file&quot; portion is where you should type the name that you want the file to have. &quot;Input-file(s)&quot; is a space-separated list of all the files to be included in the JAR file. For example, you might type &quot;jar cf myjar manifest.txt myclass.class&quot;. This would create a JAR file with the filename &quot;myjar.jar&quot; which would include the files &quot;manifest.txt&quot; and &quot;myclass.class&quot;. If you add directories to the JAR file, the jar.exe utility will automatically add their contents.
06-10-2014 17:51:30Creating jar file: step 4 (Set the path to the directory of the JDK bin)You will need to run the jar.exe utility to create a JAR file, and that file is located in the bin directory. Use the &quot;path&quot; command to specify the JDK bin directory. For example, if you installed JDK to the default location, you would type: &quot;path c:Program FilesJavajdk1.5.0_09bin&quot;. If you are not sure of the exact directory, navigate to it in Windows Explorer and take note of the directory s full path.
06-10-2014 17:44:31Creating jar file: step 3 (Navigate to the folder where you stored your files)By default, the command prompt will read &quot;C:&gt;&quot;. To navigate deeper into the hard drive, use the &quot;change directory&quot; command by typing &quot;cd&quot;. To go directly to the directory, hold down shift and right click on the folder in explorer. Then select &quot;Open command window here&quot;.
06-10-2014 16:34:11Creating jar file: step 2 (open command prompt)This can be done by clicking on Start and then Run. Type &quot;cmd&quot; into the text box and click the &quot;OK&quot; button.
06-10-2014 16:30:14Creating jar file: step 1 (prepare your files)Place all the files you want to include in the JAR file inside a single folder. They will need to be referenced through a single command line, so specifying separate paths is not feasible.
06-10-2014 16:28:15JAR FileThe JAR file format is a compressed format used primarily to distribute Java applications and libraries. It is built on the ZIP file format, and functions in a similar way; many files are compressed and packaged together in a single file, making it easy to distribute the files over a network. If you need to package a Java application or library, you can create a JAR file using the Java Development Kit (JDK) and your computers command prompt.
06-10-2014 16:24:59Download a website with wget from cmdwget -r website_name
06-10-2014 16:06:14JavaMailThe JavaMail API provides a platform-independent and protocol-independent framework to build mail and messaging applications. The JavaMail API is available as an optional package for use with the Java SE platform and is also included in the Java EE platform.
06-10-2014 00:37:39Any Video ConverterAn all-in-one user-friendly DVD converter, video recorder, video converter, YouTube downloader, DRM removal, video editor and DVD burner, which helps you convert DVD, remove DRM from iTunes movies, record/convert video and download online videos from 100+ sites for multimedia devices, like iPhone 6, iPhone 6 Plus, iPhone 5S, iPhone 5C, iPad, Nokia, Samsung, Nexus, Kindle Fire with lossless quality and 30X faster speed.
05-10-2014 09:22:37Utility Spotlight:: ScreenrecorderWhether you are having problems yourself getting something to work correctly on your computer and are working with tech support, or you are trying to solve such problems for your customers, friends, or your Mom, you have probably spent hours describing or explaining events over and over again in an effort to deal with the lack of clarity that exists when one party can not see what is going on. Now there is a solution. Screenrecorder is a very easy-to-use screen-to-video capture program, developed on top of Windows Media Encoder, that lets you easily capture what is going on to a small video file, which you can then send via e-mail to the appropriate person. That person can then watch the video just as if he is sitting next to you and you are showing him what is happening on the screen.
04-10-2014 02:19:06Enable JavascriptIn IE: Tools &gt; Internet Options &gt; Security &gt; Custom Level... &gt; Scroll down to get Scripting &gt; Enable Active Scripting.
04-10-2014 02:18:45Enable JavascriptIn Firefox: Tools (or Edit) &gt; Options (or Preferences)&gt; Content &gt; Enable Javascript.
04-10-2014 02:18:20Enable JavascriptIn Google Chrome: Settings &gt; Advanced Settings &gt; Privacy: Content Settings &gt; Javascript &gt; Allow all sites to run Javascript
04-10-2014 02:17:49Enable CookiesIn IE: Tools &gt; Internet Options &gt; Privacy &gt; Advanced button &gt; Check Override Automatic Cookie Handling &gt; Click on Accept radio buttons &gt; Always allow session cookies.
04-10-2014 02:17:26Enable CookiesIn Firefox: Tools (or Edit) &gt; Options (or Preferences)&gt; Privacy &gt; Firefox will &gt; Use custom settings for history &gt; Accept Cookies from sites.
04-10-2014 02:16:52Enable CookiesIn Google Chrome: Settings &gt; Advanced Settings &gt; Privacy: Content Settings &gt; Cookies &gt; Allow local data to be set.
02-10-2014 14:42:01Shell ScriptA shell script is a script written for the shell, or command line interpreter, of an operating system. The shell is often considered a simple domain-specific programming language. Typical operations performed by shell scripts include file manipulation, program execution, and printing text.
01-10-2014 23:33:59c(9)(9)c(9)(9) shell script is a script that allows access to pretty much everything on the hacked server. The user may add, delete, rename, change file permissions - and do many other exciting things - to their hearts content. Featuring a relatively lovely looking interface, its actually a pretty useful tool for web developers (or at least those who care nothing about security).
01-10-2014 14:51:28cURLcURL is a computer software project providing a library and command-line tool for transferring data using various protocols. The cURL project produces two products, libcurl and cURL. It was first released in 1997.
01-10-2014 14:47:41wget winC:UsersAshish RanjanDesktop&gt;wget --no-cookies --no-check-certificate --header &quot;Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-secureback up-cookie&quot; &quot;http://download.oracle.com/otn-pub/java/j2sdk/1.4.0/j2sdk-1_4_0-win. exe&quot;
01-10-2014 14:43:20wget winwget --no-cookies --no-check-certificate --header &quot;Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie&quot; &quot;http://download.oracle.com/otn-pub/java/jdk/7u4-b20/jdk-7u4-linux-x64.tar.gz&quot;
01-10-2014 14:23:12wget linuxwget --no-check-certificate --no-cookies --header &quot;Cookie: oraclelicense=accept-securebackup-cookie&quot; http://download.oracle.com/otn-pub/java/jdk/8u5-b13/jdk-8u5-linux-x64.rpm
30-09-2014 01:34:00GNU wgetGNU Wget (or just Wget, formerly Geturl) is a computer program that retrieves content from web servers, and is part of the GNU Project. Its name is derived from World Wide Web and get. It supports downloading via HTTP, HTTPS, and FTP protocols.
29-09-2014 20:51:25ij basicsAfter verification perform &quot;ij&quot; basics.
29-09-2014 20:47:59verify derby&quot;sysinfo&quot; command is used to verify &quot;derby&quot;, after class-path is set.
29-09-2014 20:45:35derby.jar and derbytools.jarTo use Derby in its embedded mode two files are required:: derby.jar (contains the Derby engine and the Derby Embedded JDBC driver) and derbytools.jar (optional, provides the ij tool that is used by a couple of sections in this tutorial).
29-09-2014 20:41:24ij&quot;ij&quot; (interactive JDBC) is an interactive SQL scripting tool that comes with Derby. It can be used with the Derby Embedded JDBC driver or with a client JDBC driver, such as the Derby Network Client.
29-09-2014 20:35:44sysinfoRunning &quot;sysinfo&quot; command in java derby folder tells the system, java and derby informations.
29-09-2014 20:02:12Apache DerbyApache Derby (previously distributed as IBM Cloudscape) is a relational database management system (RDBMS) developed by the Apache Software Foundation that can be embedded in Java programs and used for online transaction processing. It has a 2.6 MB disk-space footprint.