Jaslabs: High performance Software

High Performance Software

Archive for the 'tech news' Category

Xenix: The Microsoft Linux

By Justin Silverton

History of Xenix

Microsoft created their own variant of the unix operating system called xenix. They purchased a license for Version 7 Unix from AT&T in 1979, and announced on August 25, 1980 that it would make it available for the 16-bit microcomputer market.

Xenix varied from its 7th Edition origins by incorporating elements from BSD, and soon possessed the most widely installed base of any Unix flavour due to the popularity of the inexpensive x86 processor, even though the port created for Tandy Corporation computers proved to be more robust.

Microsoft did not sell Xenix directly to end users; instead, they licensed it to software OEMs such as Intel, Tandy, Altos and SCO, who then ported it to their own proprietary computer architectures. Microsoft Xenix originally ran on the PDP-11; the first port was for the Zilog Z8001 16-bit processor. Altos shipped a version for their computers early in 1982, Tandy Corporation shipped TRS-XENIX for their 68000-based systems in January 1983, and SCO released their port to the Intel 8086 processor in September 1983. A port to the 68000-based Apple Lisa also existed. At the time, Xenix was based on AT&T’s UNIX System III.

Version 2.0 of Xenix was released in 1985 and was based on UNIX System V. An update numbered 2.1.1 added support for the Intel 80286 processor. Subsequent releases improved System V compatibility.

The end of an era

Xenix served as a workhorse for small businesses. It had the following features that many businesses were looking for in an operating system:

  • Simple, small, and stable
  • Unlimited-user licenses
  • Command-line administration

With all of the benefits, Xenix had some major disadvantages. CD-ROMs, PCI, and mice were not supported (or barely functional) and it just barely supported SCSI disks and tapes, or Networking.

Later versions of Xenix did have networking support (and increased hardware support), but by this time, Linux had already started making its way into the business world.

Screenshot

Source: http://en.wikipedia.org/wiki/Xenix

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • DZone
  • Slashdot
  • StumbleUpon
  • Technorati
No comments

The evolution of Delphi for PHP

By Justin Silverton

Recently, CodeGear announced the latest addition to their product line called Delphi for PHP. It is a great new tool that allows developers to easily create php applications with a drag-and-drop GUI interface. What many people do not know is that a few of the components are actually based on open source projects. I feel that this is a a good thing, because many of these projects have been in use for awhile, thoroughly bug tested, and full of many great features.

Here is a list of the open source projects:

1) Qooxdoo framework

Qooxdoo is the basis for many of the VCL controls. And not all of the properties of the qooxdoo controls that are used are available to the IDE Object Inspector. Learning the API can help you discover the other properties that you can set using JavaScript.

information about the API can be found here

2) VCL4PHP

This project is a class library of PHP components which replicate VCL for Win32. VCL for PHP is PHP framework to develop web applications, it’s OpenSource and it’s licensed using LGPL. It is the basis for the majority of the libraries within Delphi for PHP.

Features

  • Fully OO applications
  • Complete MVC model
  • Properties, Methods and Events>
  • I18N functionality
  • Template Engines
  • Ajax abstraction
  • Database abstraction and data-aware components
  • Input filtering using objects
  • Webservices integration

Project available here

3) walterzorn vector graphics library

This JavaScript VectorGraphics library provides graphics capabilities for JavaScript: functions to draw circles, ellipses (ovals), oblique lines, polylines and polygons (for instance triangles, rectangles) dynamically into a webpage. Usage of this Vector Graphics library should be easy even if you don’t have JavaScript experience. Another goal during development of this JavaScript Draw Shapes Vector Graphics Library was to achieve optimized performance and cleanly arranged pixel stair-step patterns (pixel-optimization).

This library is available for download here

a nice animation example here

4) xajax - ajax library

The xajax PHP object generates JavaScript wrapper functions for the PHP functions you want to be able to call asynchronously from your application. When called, these wrapper functions use JavaScript’s XMLHttpRequest object to asynchronously communicate with the xajax object on the server which calls the corresponding PHP functions. Upon completion, an xajax XML response is returned from the PHP functions, which xajax passes back to the application. The XML response contains instructions and data that are parsed by xajax’s JavaScript message pump and used to update the content of your application.

Features

  • xajax’s unique XML response / javascript message-pump system does the work for you, automatically handling the data returned from your functions and updating your content or state according to the instructions you return from your PHP functions. Because xajax does the work, you don’t have to write javascript callback handler functions.
  • xajax is object oriented to maintain tighter relationships between the code and data, and to keep the xajax code separate from other code. Because it is object oriented, you can add your own custom functionality to xajax by extending the xajaxResponse class and using the addScript() method.
  • xajax works in Firefox, Mozilla, probably other Mozilla based browsers, Internet Explorer, and Safari.
  • In addition to updating element values and innerHTML, xajax can be used to update styles, css classes, checkbox and radio button selection, or nearly any other element attribute.
  • xajax supports passing single and multidimensional arrays and associative arrays from javascript to PHP as parameters to your xajax functions. Additionally, if you pass a javascript object into an xajax function, the PHP function will receive an associative array representing the properties of the object.
  • xajax provides easy asynchronous Form processing. By using the xajax.getFormValues() javascript method, you can easily submit an array representing the values in a form as a parameter to a xajax asynchronous function:

    xajax_processForm(xajax.getFormValues(’formId’);

    . It even works with complex input names like “checkbox[][]” and “name[first]” to produce multidimensional and associative arrays, just as if you had submitted the form and used the PHP $_GET array

Non-open source software worth mentioning

Qstudio

CodeGear partnered with qadram software to jointly develop Delphi for PHP. qadram software, the development team behind VCL for PHP, had been working on a pre-beta project called Qstudio that became the foundation of Delphi for PHP.Development of Delphi for PHP is being done by CodeGear and qadram software at CodeGear headquarters in Scotts Valley, CA.

Interested in Delphi for PHP? a free, 14-day trial (as opposed to the 1-day trial when it was first released) can be found here

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • DZone
  • Slashdot
  • StumbleUpon
  • Technorati
No comments

is your website secure?

By Justin Silverton

March is the month of PHP bugs. The following are five of the latest bugs found within PHP.

  • PHP header() Space Trimming Buffer Underflow Vulnerability When the header() function is called with an all whitespace string a buffer underflow can be triggered that allows code execution on big endian systems (e.g. MacOS X on PPC, Solaris on SPARC) MOPB-25-2007.php

  • PHP array_user_key_compare() Double DTOR Vulnerability (U) When the userspace key comparison function returns its parameters are destructed even if there are references left. Therefore an exploitable double DTOR can be triggered. MOPB-24-2007.php

  • PHP 5 Rejected Session Identifier Double Free Vulnerability (U) When a session storage module rejects a session id the session code fails to clear an already freed pointer before calling an interruptible function. This can lead to an exploitable double free. MOPB-23-2007.php

  • PHP session_regenerate_id() Double Free Vulnerability (U) session_regenerate_id() fails to clear an already freed pointer before calling an interruptible function. This can lead to an exploitable double free. MOPB-22-2007.php

  • PHP compress.bzip2:// URL Wrapper safemode and open_basedir Bypass Vulnerability (U) The compress.bzip2:// URL Wrapper does not perform safemode or open_basedir checks and therefore allows access to archives outside the allowed area Not needed.

More security issues can be found here

It is important to update your PHP installation when new versions and bug fixes are released. There is also a project called Suhosin (which is part of hardened PHP), which can help against known and unknown security risks.

More about suhosin:

it is an advanced protection system for PHP installations. It was designed to protect servers and users from known and unknown flaws in PHP applications and the PHP core. Suhosin comes in two independent parts, that can be used separately or in combination. The first part is a small patch against the PHP core, that implements a few low-level protections against bufferoverflows or format string vulnerabilities and the second part is a powerful PHP extension that implements all the other protections.

Information and download of this can be found here

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • DZone
  • Slashdot
  • StumbleUpon
  • Technorati
1 comment

Build your own MMORPG

By Justin Silverton

Sun Microsystems recently announced a new open-source development platform for servers designed to help massive multiplayer online game developers bring their creations to market faster.

Project Darkstar, the Java-based software lets developers create a variety of games that can be accessed through a single-server framework. Sun has been a supporter of online and mobile gaming, chief gaming officer, Chris Melissinos said. And Project Darkstar will be an “important technology foundation in the exploding multiplayer online game marketplace.”

Features

  • Significantly lessens the time, effort, monetary investment and risk involved in developing online games.
  • Provides a simple programming model that hides the complexities of multithreading and server replication.
  • Enables games to scale to handle large numbers of clients while providing low-latency response times, even for the write-heavy workloads of MMOGs.
  • “Shardless” MMOGs are now a reality by removing the need to preallocate servers with fixed assignments to specific game regions.
  • Automatically handles persistence of game state and recovery of game state in the event of server failure.
  • Presents a common, underlying platform that can be reused from one game to another.
  • Provides plug-in APIs to allow the system to be extended with 3rd-party components.
  • Platform and game agnostic architecture allows you develop online games in any genre that target a wide variety of devices.

More information and downloads can be found here

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • DZone
  • Slashdot
  • StumbleUpon
  • Technorati
16 comments

Delphi for PHP to be released in march

By Justin Silverton

From the codegear website:

Delphi for PHP offers all the features and functionality needed to rapidly and visually create powerful PHP applications, new PHP components, and package existing PHP code into reusable visual components. Delphi for PHP does this all with seamless support for MySQL®, InterBase® from CodeGear, and other SQL databases and it does it with an open source VCL for PHP. Microsoft® Windows® RAD developers will now have the familiarity and ease of use that Delphi and C++Builder® have always provided, and can move into PHP development with speed and confidence,” said Swindell.

Features:

  • RAD environment for PHP
  • VCL for PHP – Open source PHP 5 visual component library with more than 50 extendable and reusable components with seamless AJAX integration
  • Out-of-the-box database integration with InterBase, MySQL, Oracle®, Microsoft SQL Server, and other popular databases
  • Integrated PHP debugger
  • Deployment of PHP applications on Windows, Linux, Solaris and other platforms
  • Internationalization support for applications
  • Drag and drop database application development using the Data Explorer for InterBase and MySQL
  • Code editor with Code Insight, Code Explorer, and Code Templates, making it easier and faster to write PHP code

Price

Delphi for PHP is scheduled to be available in March. The product will be available for an introductory price of $249; special academic pricing will also be available.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • DZone
  • Slashdot
  • StumbleUpon
  • Technorati
8 comments

Next Page »