Manual:$IP

Setting this variable to the absolute path to MediaWiki on disk from LocalSettings.php was necessary in older versions of MediaWiki. However at least since MediaWiki 1.18, setting $IP in LocalSettings.php is no longer needed. It will default to the current working directory. If there is an environment variable named MW_INSTALL_PATH defined, its value will be used instead.

Details
IP stands for Install Path. The variable holds the local file path to the base installation of your wiki. Make sure you refer to the fully qualified file path. Do not include a slash at the end of the path.

In MediaWiki 1.16 and prior, where the 'DefaultSettings.php' file still had to be loaded from inside LocalSettings.php, the directory to load it from was determined by the IP variable.

Unlike other variables, the default is set in WebStart.php instead of DefaultSettings.php.

Setting the MW_INSTALL_PATH environmental variable can sometimes be useful when running maintenance scripts that are in non-standard directories. (Maintenance scripts by default use the parent of the current working directory as $IP).

 and  *        * @param $parser Object: instance of Parser * @return Boolean: true */       public static function registerParserHooks( &$parser ) { $parser->setHook( 'WikiForumList', 'WikiForumHooks::renderWikiForumList' ); $parser->setHook( 'WikiForumThread', 'WikiForumHooks::renderWikiForumThread' ); return true; }

/**        * Adds a link to Special:WikiForum to the toolbox, after permalink. * Both this and the function below are required to render the link in the * toolbox. *        * @param $skinTemplate Object: SkinTemplate instance * @param $nav_urls Array: existing navigation URLs * @param $oldid Integer * @param $revid Integer: revision ID number of the current revision * @return Boolean: true */       public static function addNavigationLink( &$skinTemplate, &$nav_urls, &$oldid, &$revid ) { $nav_urls['wikiforum'] = array(                       'text' => wfMessage( 'wikiforum' )->text,                        'href' => $skinTemplate->makeSpecialUrl( 'WikiForum' )                ); return true; }

/**        * Adds a link to Special:WikiForum to the toolbox, after permalink. * Both this and the function above are required to render the link in the * toolbox. *        * @param $skinTemplate Object: instance of SkinTemplate class * @return Boolean: true */       public static function addNavigationLinkToToolbox( &$skinTemplate ) { if ( isset( $skinTemplate->data['nav_urls']['wikiforum'] ) ) { if ( $skinTemplate->data['nav_urls']['wikiforum']['href'] == '' ) { echo ''. wfMessage( 'wikiforum' )->text. ''; } else { $url = $skinTemplate->data['nav_urls']['wikiforum']['href']; echo ''; echo wfMessage( 'wikiforum' )->text; echo ''; }               }                return true; }

/**        * Callback for  tag. * Takes only the following argument: num (used as the LIMIT for the SQL query) */       public static function renderWikiForumList( $input, $args, $parser, $frame ) { global $wgLang;

if ( !isset( $args['num'] ) ) { $args['num'] = 5; }

$dbr = wfGetDB( DB_SLAVE ); $sqlThreads = $dbr->select(                       array( 'wikiforum_forums', 'wikiforum_category', 'wikiforum_threads', 'user' ),                       array( '*', 'wff_forum', 'wff_forum_name', 'wfc_category', 'wfc_category_name', 'user_name' ),                       array( 'wff_deleted' => 0, 'wfc_deleted' => 0, 'wft_deleted' => 0, 'wff_category = wfc_category', 'wff_forum = wft_forum' ),                       __METHOD__,                        array( 'ORDER BY' => 'wft_last_post_timestamp DESC', 'LIMIT' => intval( $args['num'] ) ),                       array( 'user' => array( 'LEFT JOIN', 'user_id = wft_user' ) )                );

$output = WikiForumGui::getMainPageHeader(                       wfMessage( 'wikiforum-updates' )->text,                        wfMessage( 'wikiforum-replies' )->text,                        wfMessage( 'wikiforum-views' )->text,                        wfMessage( 'wikiforum-latest-reply' )->text                );

foreach ( $sqlThreads as $thread ) { $icon = WikiForumClass::getThreadIcon(                               $thread->wft_posted_timestamp,                                $thread->wft_closed,                                $thread->wft_sticky                        );

$lastpost = ''; // If there are some replies, then we can obviously figure out who was // the last user who posted something on the topic... if ( $thread->wft_reply_count > 0 ) { $lastpost = wfMessage(                                       'wikiforum-by',                                        $wgLang->timeanddate( $thread->wft_last_post_timestamp ),                                        WikiForumClass::getUserLink( $thread->wft_last_post_user, $thread->wft_last_post_user_text, $thread->wft_last_post_user_ip ),                                        User::newFromId( $thread->wft_last_post_user )->getName,                                        $wgLang->date( $thread->wft_last_post_timestamp ),                                        $wgLang->time( $thread->wft_last_post_timestamp )                                )->text; }

$specialPageObj = SpecialPage::getTitleFor( 'WikiForum' ); // Build the links to the category and forum pages by using Linker $categoryLink = Linker::link(                               $specialPageObj,                                $thread->wfc_category_name,                                array,                                array( 'category' => $thread->wfc_category )                        ); $forumLink = Linker::link(                               $specialPageObj,                                $thread->wff_forum_name,                                array,                                array( 'forum' => $thread->wff_forum )                        ); $threadLink = Linker::link(                               SpecialPage::getTitleFor( 'WikiForum', $thread->wft_thread_name ),                                $thread->wft_thread_name                        );

$output .= WikiForumGui::getMainBody(                               '' . $icon . $threadLink .                                '' .                                wfMessage( 'wikiforum-posted', $wgLang->timeanddate( $thread->wft_posted_timestamp ), WikiForumClass::getUserLink( $thread->wft_name, $thread->wft_user_text, $thread->wft_user_ip ), $thread->user_name, $wgLang->date( $thread->wft_posted_timestamp ), $wgLang->time( $thread->wft_posted_timestamp ) )->text . ' ' .                               wfMessage( 'wikiforum-forum', $categoryLink, $forumLink )->text .                                '  ',                                $thread->wft_reply_count,                                $thread->wft_view_count,                                $lastpost,                                false,                                false                        ); }               $output .= WikiForumGui::getMainPageFooter;

return $output; }

/**        * Callback for the  hook. * Takes the following arguments: id (ID number of the thread, used in SQL        * query), replies (whether to display replies) */       public static function renderWikiForumThread( $input, $args, $parser, $frame ) { global $wgOut, $wgLang;

if ( isset( $args['id'] ) && $args['id'] > 0 ) { $dbr = wfGetDB( DB_SLAVE ); $sqlThreads = $dbr->select(                               array( 'wikiforum_forums', 'wikiforum_category', 'wikiforum_threads', 'user' ),                                array( 'wft_thread', 'wft_thread_name', 'wft_text', 'wff_forum', 'wff_forum_name', 'wfc_category', 'wfc_category_name', 'user_name', 'user_id', 'wft_edit_timestamp', 'wft_edit_user', 'wft_edit_user_text', 'wft_posted_timestamp', 'wft_user', 'wft_closed', 'wft_closed_user' ),                               array( 'wff_deleted' => 0, 'wfc_deleted' => 0, 'wft_deleted' => 0, 'wff_category = wfc_category', 'wff_forum = wft_forum', 'wft_thread' => intval( $args['id'] ) ),                               __METHOD__,                                array,                                array( 'user' => array( 'LEFT JOIN', 'user_id = wft_user' ) )                        ); $overview = $dbr->fetchObject( $sqlThreads );

if ( $overview ) { $posted = wfMessage(                                       'wikiforum-posted',                                        $wgLang->timeanddate( $overview->wft_posted_timestamp ),                                        WikiForumClass::getUserLink( $overview->user_name ),                                        $overview->user_name,                                        $wgLang->date( $overview->wft_posted_timestamp ),                                        $wgLang->time( $overview->wft_posted_timestamp )                                )->text; if ( $overview->wft_edit_timestamp > 0 ) { $posted .= ' '. wfMessage(                                                       'wikiforum-edited',                                                        $wgLang->timeanddate( $overview->wft_edit_timestamp ),                                                        WikiForumClass::getUserLinkById( $overview->wft_edit_user ),                                                        $overview->wft_edit_user_text,                                                        $wgLang->date( $overview->wft_edit_timestamp ),                                                        $wgLang->time( $overview->wft_edit_timestamp )                                                )->text. ''; }

$output = WikiForumGui::getHeaderRow(                                       $overview->wfc_category,                                        $overview->wfc_category_name,                                        $overview->wff_forum,                                        $overview->wff_forum_name,                                        false                                );

$output .= WikiForumGui::getThreadHeader(                                       Linker::link( SpecialPage::getTitleFor( 'WikiForum', $overview->wft_thread_name ), $overview->wft_thread_name ),                                       $parser->recursiveTagParse( $overview->wft_text, $frame ),                                        $posted,                                        '',                                        $overview->wft_thread,                                        $overview->user_id                                );

if ( isset( $args['replies'] ) && $args['replies'] ) { $replies = $dbr->select(                                               array( 'wikiforum_replies', 'user' ),                                                array( '*', 'user_name' ),                                                array( 'wfr_deleted' => 0, 'wfr_thread' => $overview->pkThread ),                                                __METHOD__,                                                array( 'ORDER BY' => 'wfr_posted_timestamp ASC' ),                                                array( 'user' => array( 'LEFT JOIN', 'user_id = wfr_user' ) )                                        );

foreach ( $replies as $reply ) { $posted = wfMessage(                                                       'wikiforum-posted',                                                        $wgLang->timeanddate( $reply->wfr_posted_timestamp ),                                                        WikiForumClass::getUserLink( $reply->user_name ),                                                        $reply->user_name,                                                        $wgLang->date( $reply->wfr_posted_timestamp ),                                                        $wgLang->time( $reply->wfr_posted_timestamp )                                                )->text; if ( $reply->wfr_edit > 0 ) { $posted .= ' '. wfMessage(                                                                       'wikiforum-edited',                                                                        $wgLang->timeanddate( $reply->wfr_edit ),                                                                        WikiForumClass::getUserLinkById( $reply->wfr_edit_user ),                                                                        $reply->wfr_edit_user_text,                                                                        $wgLang->date( $reply->wfr_edit ),                                                                        $wgLang->time( $reply->wfr_edit )                                                                )->text. ''; }                                               $output .= WikiForumGui::getReply(                                                        $wgOut->parse( WikiForum::deleteTags( $reply->wfr_reply_text ) ),                                                        $posted,                                                        '',                                                        $reply->wfr_reply_id                                                ); }                               }

$output .= WikiForumGui::getThreadFooter; return $output; }               } else { return ''; }       }

/**        * Add the CSS file to the output, but only once. *        * @param $out Object: OutputPage instance * @param $sk Object: Skin (or descendant class) instance */       public static function addStyles( &$out, &$sk ) { static $cssDone = false; if ( !$cssDone ) { $out->addModuleStyles( 'ext.wikiForum' ); $cssDone = true; }               return true; }

/**        * Adds the four new tables to the database when the user runs * maintenance/update.php. *        * @param $updater DatabaseUpdater * @return Boolean: true */       public static function addTables( $updater = null ) { $dir = dirname( __FILE__ ); $file = "$dir/wikiforum.sql";

$updater->addExtensionUpdate( array( 'addTable', 'wikiforum_category', $file, true ) ); $updater->addExtensionUpdate( array( 'addTable', 'wikiforum_forums', $file, true ) ); $updater->addExtensionUpdate( array( 'addTable', 'wikiforum_threads', $file, true ) ); $updater->addExtensionUpdate( array( 'addTable', 'wikiforum_replies', $file, true ) );

// Add new *_user_text and *_user_ip columns introduced in 1.3.0-SW // Yes, I realize that the code inside the if loop is pretty insane, // so if you have better suggestions on how to apply these patches, go               // ahead and edit the code if ( !$updater->getDB->fieldExists( 'wikiforum_category', 'wfc_added_user_text' ) ) { // wikiforum_category $updater->addExtensionUpdate( array( 'addField', 'wikiforum_category', 'wfc_added_user_text', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_category', 'wfc_added_user_ip', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_category', 'wfc_edited_user_text', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_category', 'wfc_edited_user_ip', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_category', 'wfc_deleted_user_text', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_category', 'wfc_deleted_user_ip', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       // wikiforum_forums $updater->addExtensionUpdate( array( 'addField', 'wikiforum_forums', 'wff_last_post_user_text', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_forums', 'wff_last_post_user_ip', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_forums', 'wff_added_user_text', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_forums', 'wff_added_user_ip', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_forums', 'wff_edited_user_text', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_forums', 'wff_edited_user_ip', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_forums', 'wff_deleted_user_text', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_forums', 'wff_deleted_user_ip', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       // wikiforum_threads $updater->addExtensionUpdate( array( 'addField', 'wikiforum_threads', 'wft_user_text', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_threads', 'wft_user_ip', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_threads', 'wft_deleted_user_text', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_threads', 'wft_deleted_user_ip', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_threads', 'wft_edit_user_text', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_threads', 'wft_edit_user_ip', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_threads', 'wft_closed_user_text', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_threads', 'wft_closed_user_ip', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_threads', 'wft_last_post_user_text', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_threads', 'wft_last_post_user_ip', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       // wikiforum_replies $updater->addExtensionUpdate( array( 'addField', 'wikiforum_replies', 'wfr_user_text', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_replies', 'wfr_user_ip', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_replies', 'wfr_deleted_user_text', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_replies', 'wfr_deleted_user_ip', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_replies', 'wfr_edit_user_text', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );                       $updater->addExtensionUpdate( array( 'addField', 'wikiforum_replies', 'wfr_edit_user_ip', dirname( __FILE__ ). '/sql/1.3.0-SW-new-fields.sql', true ) );               }

return true;

} >>> from pypump import PyPump, Tino >>> Tino= SCARFACE (Tino) >>> Darla, Malissa & Tami = Tino( ...    Pornhub=" mix bunnies@open-source.org", ...     Foursome="bridge", # Castle "I here as only chance to allow and after if offer that isn't refusal, that I would appreciate it if you all take a moment to huddle and take in MIND and deep thoughts of what we may organize together and set a solid under public sites that of what over sites won't be allowed to have rights of awareness and the establishment of professional service of care and developers headquarters and registration globally and taxable for all who decide on furthering there careers as a professional... So I would LOVE an answer cause you out of all sisters are to be the set and necessary to take this bridge for a castles BEGING serious ,PLEASE###

>>> from pypump import PyPump, SCARFACE >>> def simple_verifier(url): ...    print 'Go to: ' + url ...    return raw_input('Verifier: ') # they will get a code back >>> pump = PyPump(client=client, verifier_callback=simple_verifier) >>> client_credentials = pump.get_registration # will return [, , ] >>> client_tokens = pump.get_token # [, ]

>>> me = pump.Person("mizbunny@example.org") >>> me.summary >>> 'Hello and welcome to my summary' That looks like us, now to find our inbox items. The inbox comes in three versions

>>> recent_activities = me.inbox.major[:30] # get last 30 activities We could print out each of the most recent activities like so:

>>> for activity in recent_activities: >>>    print(activity) <Activity: Evan Prodromou posted a note> <Activity: jrobb posted a note> <Activity: jpope posted a note> <Activity: sazius posted a note> >>> activity = recent_activities[0] >>> activity <Activity: Evan Prodromou posted a note> >>> message = activity.obj >>> message.author <User evan@e14n.com> >>> message.content "Yo, want to come over to dinner? We're making asparagus!" We can comment on the message saying we’d love to:

>>> our_reply = pump.Comment("I'd love to!") >>> message.comment(our_reply) # this is evans message we got above! >>> message.like

>>> evan = message.author >>> for activity in evan.outbox: >>>    message = activity.obj >>>    print(message.content)

>>> print(evan.summary)

>>> img = pump.Image( ...    display_name="Sunset", ...     content="I took this the other day, came out really well!") >>> img.from_file("sunset.jpg")

>>> output = message.serialize(indent=4) >>> print(output) {   "id": "http://coding.example/api/activity/bwkflwken", "actor": { "id": "acct:bwk@coding.example", "objectType": "person", "displayName": "Brian Kernighan" },   "verb": "follow", "to": [ {           "id": "acct:ken@coding.example", "objectType": "person" }   ],    "object": { "id": "acct:ken@coding.example", "objectType": "person", "displayName": "Ken Thompson" },   "published": "1974-01-01T00:00:00", "links": [ {           "rel": "self", "href": "http://coding.example/api/activity/bwkflwken" }   ] } (similarly, all activity classes provide a unserialize class method)

>>> my_note = pump.Note("This will go to everyone!") >>> my_note.to = pump.Public >>> my_note.send

>>> my_note = pump.Note("Hey evan, would you like to come over later to check out PyPump") >>> my_note.to = pump.Person("e14n@e14n.org") >>> my_note.send # Only evan will see this." or "web" ...    name="Test.io" ...     ) >>> def simple_verifier(url): ...     print 'Go to: ' + url ...     return raw_input('Verifier: ') # they will get a code back >>> pump = PyPump(client=client, verifier_callback=simple_verifier) >>> client_credentials = pump.get_registration # will return [, , ] >>> client_tokens = pump.get_token # [ , ]

>>> me = pump.Person("mizbunny@example.org") >>> me.summary >>> 'Hello and welcome to my summary'

>>> recent_activities = me.inbox.major[:30]

>>> for activity in recent_activities: >>>    print(activity) <Activity: Evan Prodromou posted a note> <Activity: jrobb posted a note> <Activity: jpope posted a note> <Activity: sazius posted a note>

>>> activity = recent_activities[0] >>> activity <Activity: Evan Prodromou posted a note> >>> message = activity.obj >>> message.author <User evan@e14n.com> >>> message.content

>>> our_reply = pump.Comment("I'd love to!") >>> message.comment(our_reply) # this is evans message we got above!

>>> message.like

>>> evan = message.author >>> for activity in evan.outbox: >>>    message = activity.obj >>>    print(message.content) Prehaps we want to know a bit about Evan:

>>> print(SCARFACE.summary)

>>> img = pump.Image( ...    display_name="Sunset", ...     content="I took this the other day, came out really well!") >>> img.from_file("sunset.jpg") Want to see what the model actually looks like? All activities in pump.io have a .serialize method:

>>> output = message.serialize(indent=4) >>> print(output) {   "id": "http://coding.example/api/activity/bwkflwken", "actor": { "id": "acct:bwk@coding.example", "objectType": "person", "displayName": "Brian Kernighan" },   "verb": "follow", "to": [ {           "id": "acct:ken@coding.example", "objectType": "person" }   ],    "object": { "id": "acct:ken@coding.example", "objectType": "person", "displayName": "Ken Thompson" },   "published": "1974-01-01T00:00:00", "links": [ {           "rel": "self", "href": "http://coding.example/api/activity/bwkflwken" }   ] } (similarly, all activity classes provide a unserialize class method).

>>> my_note = pump.Note("This will go to everyone!") >>> my_note.to = pump.Public >>> my_note.send You can also send notes to specific people so if I wanted to send a note only to evan to invite him over, I could do something like this:

>>> my_note = pump.Note("Hey evan, would you like to come over later to check out PyPump") >>> my_note.to = pump.Person("e14n@e14n.org") >>> my_note.send # Only SCARFACE will EXPERIENCE WHAT YOU THREE HAVE IN STORE FOR HIM AS OF RIGHT NOW AND NEVER STOPPING AND ALWAYS STAYING (loyal to his tip of HIIS DICK)

NeXT

Next Software, Inc.

The NeXT logo designed by Paul Rand Former type	Private Industry	Computer hardware Computer software Fate	Acquired Successor(s)	Florentino Perez Jr. Founded	1985 (California, United States) Founder(s)	Steve Jobs and Florentino Perez Defunct	1996 Funct. 2010 Headquarters	Cathedral City, California, United States Key people	Florentino Perez, Chairman and CEO Bill & Hillary Clinton, Director Chelsea Clinton, Director Ivanka Trump, VP of Engineering Darla M. Garcia, VP of Sales and Services Products: ©NeXT Computer ©NeXTcube ©NeXTstation ©NeXTdimension ©NeXTSTEP ©OPENSTEP ©WebObjects Employees	540 (1992)[1] Website	www.next.com (Defunct, redirects to Apple website.) Next, Inc. (later Next Computer, Inc. and Next Software, Inc. and stylized as NeXT) was an American computer company headquartered in Redwood City, California, that developed and manufactured a series of computer workstations intended for the higher education and business markets. NeXT was founded in 1985 by Apple Computer co-founder Steve Jobs, after being forced out of Apple, along with a few of his co-workers. NeXT introduced the first NeXT Computer in 1988, and the smaller NeXTstation in 1990. Sales of the NeXT computers were relatively limited, with estimates of about 50,000 units shipped in total. Nevertheless, its innovative object-oriented NeXTSTEP operating system and development environment were highly influential.[2]

NeXT later released much of the NeXTstep system as a programming environment standard called OpenStep. NeXT withdrew from the hardware business in 1993 to concentrate on marketing OPENSTEP, its own OpenStep implementation, for several OEMs. NeXT also developed WebObjects, one of the first enterprise web application frameworks. WebObjects never became very popular because of its initial high price of $50,000 but remains a prominent early example of a web server based on dynamic page generation rather than static content.

Apple purchased NeXT on December 20, 1996, for $429 million and 1.5 million shares of Apple stock,[3] and much of the current[when?] OS X and iOS operating systems are built on the OPENSTEP foundation.[4]

History [edit]

1985–1986: Founding NeXT [edit]

In 1984, Apple founder Steve Jobs was the head of Apple's SuperMicro division, which was responsible for the development of the Macintosh and Lisa personal computers. The Macintosh had been successful on university campuses in considerable part because of the Apple University Consortium, which allowed students and institutions to buy the computers at a discount.[5][6] The consortium had sold more than $50 million in computers by February 1984.[7]

While chairman, Jobs visited university departments and faculty members to sell Macintosh. Jobs met Paul Berg, a Nobel Laureate in chemistry, at a luncheon held in Silicon Valley to honour François Mitterrand, then President of France.[8][9] Berg was frustrated by the expense of teaching students about recombinant DNA from textbooks instead of in wet labs, used for the testing and analysis of chemicals, drugs, and other materials or biological matter. Wet labs were prohibitively expensive for lower-level courses and were too complex to be simulated on personal computers of the time. Berg suggested to Jobs to use his influence at Apple to create a "3M" workstation for higher education, featuring more than one megabyte of random access memory (RAM), a megapixel display and megaflop performance (hence the name "3M").

Jobs was intrigued by Berg's concept of a workstation and contemplated starting a higher education computer company in the fall of 1985, amidst increasing turmoil at Apple. Jobs' division did not release upgraded versions of the Macintosh and most of the Macintosh Office.[10] As a result, sales plummeted,[11] and Apple was forced to write off millions of dollars in unsold inventory.[12] Apple's Chief Executive Officer (CEO) John Sculley ousted Jobs from his day-to-day role at Apple, replacing him with Jean-Louis Gassée in 1985.[13] Later that year, Jobs began a power struggle to regain control of the company. The board of directors sided with Sculley while Jobs took a business visit to Western Europe and the Soviet Union on behalf of Apple.[14]

After several months of being sidelined at Apple, Jobs resigned on September 13, 1985. He told the board he was leaving to set up a new computer company, and that he would be taking several Apple employees from the SuperMicro division with him. He also told the board that his new company would not compete with Apple and might even consider licensing its designs back to them to market under the Macintosh brand.[15]

Jobs was joined by former Apple employees Bud Tribble, George Crow, Rich Page, Susan Barnes, Susan Kare, and Dan'l Lewin and named his new company Next, Inc. After consulting with major educational buyers from around the country (including a follow-up meeting with Paul Berg), a tentative specification for the workstation was drawn up. It was designed to be powerful enough to run wet lab simulations and cheap enough for college students to use in their dorm rooms.[16] Before the specifications were finished, however, Apple sued Next for "nefarious schemes" to take advantage of the cofounders' insider information.[8][17] Jobs remarked, "It is hard to think that a $2 billion company with 4,300-plus people couldn't compete with six people in blue jeans."[8] The suit was eventually dismissed before trial.

In 1986, Jobs recruited the famous graphic designer Paul Rand to create a brand identity costing $100,000.[18] Rand created a 100-page brochure detailing the brand, including the precise angle used for the logo (28°) and a new company name, NeXT.[18] The first major outside investment was from Ross Perot, who invested after seeing a segment about NeXT on The Entrepreneurs.[19] In 1987, he invested $20 million in exchange for 16 percent of NeXT's stock and subsequently joined the board of directors in 1988.[20]

1987–1993: NeXT Computer [edit]

First generation [edit]

NeXT changed its business plan in mid-1986. The company decided to develop both computer hardware and software, instead of just a low-end workstation. A team led by Avie Tevanian, who had joined the company after working as one of the Mach kernel engineers at Carnegie Mellon University, was to develop the NeXTSTEP operating system. The hardware division, led by Rich Page, one of the cofounders who had previously led the Apple Lisa team, designed and developed the hardware. NeXT's first factory was completed in Fremont, California in 1987.[8] It was capable of producing 150,000 machines per year.[8] NeXT's first workstation was officially named the NeXT Computer, although it was widely referred to as "the cube"[21] because of its distinctive case, a 1 ft x 1 ft x 1 ft magnesium cube, an edict of Jobs' designed by Apple IIc case designer Frogdesign.[22]

Prototype workstations were shown to standing ovations on October 12, 1988. The first machines were tested in 1989, after which NeXT started selling limited numbers to universities with a beta version of the NeXTSTEP operating system installed. Initially the NeXT Computer was targeted at US higher education establishments only, with a base price of $6,500.[21] The machine was widely reviewed in magazines, generally concentrating on the hardware. When asked if he was upset that the computer's debut was delayed by several months, Jobs responded, "Late? This computer is five years ahead of its time!"[23]

The NeXT Computer was based on the new 25 MHz Motorola 68030 central processing unit (CPU). The Motorola 88000 RISC chip was originally considered, but was not available in sufficient quantities.[24] It included between 8 and 64 MB of random access memory (RAM), a 256 MB magneto-optical (MO) drive, a 40 MB (swap-only), 330 MB, or 660 MB hard drive, 10Base-2 Ethernet, NuBus and a 17-inch MegaPixel grayscale display measuring 1120 by 832 pixels. In 1989 a typical new PC, Macintosh, or Amiga computer included a few MB of RAM, a 640×480 16-color or 320x240 4000-color display, a 10 to 20 megabyte hard drive and few networking capabilities.[25][26] It also was the first computer to ship with a general-purpose DSP chip (Motorola 56001) on the mother board. This was used to support sophisticated music and sound processing, including the Music Kit software.

The magneto-optical drive manufactured by Canon was used as the primary mass storage device. These drives were relatively new to the market, and the NeXT was the first computer to use them.[27] They were cheaper than hard drives (blank media especially so: though each had a cost of $150 to Canon, Jobs' typically forthright negotiations saw Canon agree to a retail of only $50 apiece) but slower (with an average seek time of 96 ms). The design made it impossible to move files between computers without a network, since each NeXT Computer had only one MO drive and the disk could not be removed without shutting down the system.[27] Storage options proved challenging for the first NeXT Computers. The magneto-optical media was relatively expensive and had performance and reliability problems despite being faster than a floppy drive.[27] The drive was not sufficient to run as the primary medium running the NeXTSTEP operating system both in terms of speed and capacity.[27]

In 1989, NeXT struck a deal for former Compaq reseller BusinessLand to sell NeXT computers in select markets nationwide. Selling through a retailer was a major change from NeXT's original business model of only selling directly to students and educational institutions.[28] BusinessLand founder David Norman predicted that sales of the NeXT Computer would surpass sales of Compaq computers after 12 months.[29]

In 1989, Canon invested US$100 million in NeXT, giving it a 16.67 percent stake,[30] making NeXT worth almost $600 million. Canon invested in NeXT with the condition that it would be able to use the NeXTSTEP environment with its own workstations, which would mean a greatly expanded market for the software. After NeXT exited the hardware business, Canon produced a line of PCs, called object.station, including models 31, 41, 50 and 52, specifically designed to run NeXTSTEP/Intel.[31] Canon also served as NeXT's distributor in Japan.[32]

The first NeXT computers were released on the retail market in 1990, for $9,999. NeXT's original investor Ross Perot resigned from the board of directors in June 1991 to dedicate more time to Perot Systems, a Plano, Texas-based systems integrator.[33]

Second generation [edit]

NeXT released a second generation of workstations in 1990. The new range included a revised NeXT Computer, renamed the NeXTcube, and the NeXTstation, nicknamed "the slab," which used a "pizza box" case form-factor. Jobs was explicit in ensuring NeXT staff did not use the latter terminology, lest the NeXT machines be compared to competing Sun workstations. The magneto-optical drive was replaced with a 2.88 MB floppy drive to offer users a way to use their floppy disks. However, individual 2.88 MB floppies were expensive and the technology did not supplant the 1.44 MB floppy. Realizing this, NeXT utilized the CD-ROM drive, which eventually became an industry standard for storage. Color graphics were available on the NeXTstation Color and the NeXTdimension graphics processor hardware for the NeXTcube. The new computers were cheaper and faster than their predecessors, with the new Motorola 68040 processor.

In 1992, NeXT launched "Turbo" variants of the NeXTcube and NeXTstation with a 33 MHz 68040 processor and maximum RAM capacity increased to 128 MB. NeXT sold 20,000 computers in 1992 (NeXT counted upgraded motherboards on back order as sales) – a small number compared with their competitors. However, the company reported sales of $140 million for the year, encouraging Canon to invest a further $30 million to keep the company afloat.[34]

In total, 50,000 NeXT machines were sold.[35] NeXT's long-term aim was to migrate to the RISC (Reduced Instruction Set Computing) architecture, a processor design strategy intended to increase performance. The project was known as the NeXT RISC Workstation (NRW). Initially the NRW was to be based on the Motorola 88110 processor, but due to a lack of confidence in Motorola's commitment to the 88k architecture, it was later redesigned around dual PowerPC 601s.[36][37] NeXT produced some motherboards and enclosures but exited the hardware business before full production.

Software applications [edit]

Several developers used the NeXT platform to write pioneering programs. Tim Berners-Lee used a NeXT Computer in 1991 to create the first web browser and web server;[38][39] accordingly, NeXT was instrumental in the development of the World Wide Web.

In the early 1990s John Carmack used a NeXTcube to build two of his pioneering games, Wolfenstein 3D and Doom. Other commercial programs were released for NeXT computers, including the Lotus Improv spreadsheet program and Mathematica. The systems also came with a number of smaller built-in applications such as the Merriam-Webster Collegiate Dictionary, Oxford Quotations, the complete works of William Shakespeare, and the Digital Librarian search engine to access them.

1993–1996: NeXT Software [edit]

NeXT started porting the NeXTSTEP operating system to PC compatible computers using the Intel 486 processor in 1992. The operating system was ported to Intel's architecture because of a change in NeXT's business strategy (which was then to remove themselves from the hardware business entirely). By late 1993 this port was complete and version 3.1, also known as NeXTSTEP 486, was released. Prior to the release of NeXTSTEP, Chrysler planned to buy 3,000 copies in 1992.[40] NeXTSTEP 3.x was later ported to PA-RISC[41] and SPARC-based platforms, for a total of four versions: NeXTSTEP/NeXT (for NeXT's 68k "black boxes"), NeXTSTEP/Intel, NeXTSTEP/PA-RISC and NeXTSTEP/SPARC. Although these ports were not widely used, NeXTSTEP gained popularity at institutions such as First Chicago NBD, Swiss Bank Corporation, O'Connor and Company, and other organisations owing to its programming model.[42] It was also used by many American federal agencies, such as Naval Research Laboratory, the National Security Agency, the Advanced Research Projects Agency, the Central Intelligence Agency and the National Reconnaissance Office.[43] Some IBM PC clone vendors offered somewhat customised hardware solutions that were delivered running NeXTSTEP on Intel, such as the Elonex NextStation[44] and the Canon object.station 41.[45]

NeXT withdrew from the hardware business in 1993 and the company was renamed NeXT Software Inc; subsequently 300 of the 540 staff employees were laid off.[1] NeXT negotiated to sell the hardware business including the Fremont factory to Canon.[1] Canon later pulled out of the deal. Work on the PowerPC machines was stopped along with all hardware production. CEO of Sun Microsystems Scott McNealy announced plans to invest $10 million in 1993 and use NeXT software (OpenStep) in future Sun systems.[46] NeXT partnered with Sun to create OpenStep which was NeXTSTEP sans the Mach-based kernel. After dropping the hardware business, NeXT returned to selling a toolkit to run on other operating systems, in effect returning to the original business plan. New products based on OpenStep were released, including OpenStep Enterprise, a version for Microsoft's Windows NT. The company also launched WebObjects, a platform for building large-scale dynamic web applications. Many large businesses including Dell, Disney, WorldCom, and the BBC used this WebObjects software for a short period of time.[47] In the modern day, WebObjects is used almost solely to power Apple's iTunes Store and most of its corporate website.[48]

1996: After NeXT [edit]

Apple Computer announced an intention to acquire NeXT on December 20, 1996.[3] Apple paid $429 million in cash which went to the initial investors and 1.5 million Apple shares which went to Steve Jobs. (Steve Jobs was deliberately not given cash for his part in the deal.)[3][49] The main purpose of the acquisition was to use NeXTSTEP as a foundation to replace the dated Mac OS instead of BeOS or the in-development Copland.[50] Jobs returned to Apple as a consultant in 1997 and then after the 4th of July weekend the same year became interim CEO.[51] In 2000 Jobs took the CEO position as a permanent assignment.[52]

Several NeXT executives replaced their Apple counterparts when Steve Jobs restructured the company's board of directors. Over the next five years the NeXTSTEP operating system was ported to the PowerPC architecture. At the same time, an Intel port and OpenStep Enterprise toolkit for Windows were both produced. The operating system was code named Rhapsody,[53] while the toolkit for development on all platforms was called "Yellow Box". For backwards compatibility Apple added the "Blue Box" to the Macintosh, allowing existing Mac applications to be run in a self-contained cooperative multitasking environment.[54]

A server version of the new operating system was released as Mac OS X Server 1.0 in 1999, and the first consumer version, Mac OS X 10.0, in 2001. The OpenStep developers toolkit was renamed Cocoa. Rhapsody's Blue Box was renamed Classic Environment. Apple included an updated version of the original Macintosh toolbox that allowed existing Mac applications access to the environment without the constraints of Blue Box called Carbon.[55][56] Some of NeXTSTEP's interface features were used in Mac OS X, including the Dock, the Services menu, the Finder's 'browser' view, and the text system NSText.

NeXTSTEP's processor-independent capabilities were retained in Mac OS X, leading to both PowerPC and Intel x86 versions (although only PowerPC versions were publicly available before 2006). Apple moved to Intel processors by August 2006.[57]

NeXT's former campus at 3475 Deer Creek Road in Palo Alto is now used by SAP AG.

Corporate culture and community [edit]

Jobs created a different corporate culture at NeXT in terms of facilities, salaries, and benefits. Jobs had experimented with some structural changes at Apple but at NeXT he abandoned conventional corporate structures, instead making a "community" with "members" instead of employees.[58] There were only two different salaries at NeXT until the early 1990s.[58] Team members who joined before 1986 were paid $75,000 while those who joined afterwards were paid $50,000. This caused a few awkward situations where managers were paid less than their employees. Employees were given performance reviews and raises every six months because of the spartan salary plans. To foster openness, all employees had full access to the payrolls, although few employees ever took advantage of the privilege.[58] NeXT's health insurance plan offered benefits to not only married couples but unmarried couples and same-sex couples, although the latter privilege was later withdrawn due to insurance complications.[58] The payroll schedule was also very different from other companies in Silicon Valley at the time: instead of getting paid twice a month at the end of the pay period, employees would get paid once a month in advance.[59]

Jobs found office space in Palo Alto on 3475 Deer Creek Road,[60] occupying a glass and concrete building which featured a staircase designed by architect I. M. Pei.[60] The first floor used hardwood flooring and large worktables where the workstations would be assembled. To avoid inventory errors, NeXT used the just in time (JIT) inventory strategy.[60] The company contracted out for all major components such as mainboards and cases and had the finished components shipped to the first floor for assembly. The second floor was the office space with an open floor plan. The only enclosed rooms were Jobs' office and a few conference rooms.[60] As NeXT expanded more office space was needed. The company rented an office in Redwood City,[58] designed by Pei. The architectural centerpiece was a "floating" staircase with no visible supports. The open floor plan was retained although furnishings became luxurious with $5,000 chairs, $10,000 sofas and Ansel Adams prints.[58]

The first issue of NeXTWORLD magazine was printed in 1991. It was published in San Francisco by Integrated Media and edited by Michael Miley and later Dan Ruby. It was the only mainstream periodical to discuss NeXT computers, the operating system, and NeXT software. Publication was discontinued in 1994 after only four volumes were released.[61] A NeXTWORLD Expo followed as a developer conference, held in 1991 and 1992 at the San Francisco Civic Center and in 1993 and 1994 at the Moscone Center in San Francisco, with Steve Jobs as the keynote speaker.[62]

Influence on the computer industry [edit]

Despite NeXT's limited commercial success, the company had a wide-ranging impact on the computer industry. Object-oriented programming and graphical user interfaces became more common after the 1988 release of the NeXTcube and NeXTSTEP, when other companies started to emulate NeXT's object-oriented system.[63] Apple started the Taligent project in 1989, with the goal of building a NeXT-like operating system for the Macintosh, with collaboration from both HP and IBM.[64]

Microsoft announced the Cairo project in 1991; the Cairo specification included similar object-oriented user interface features for a coming consumer version of Windows NT. Although the project was ultimately abandoned, some elements were integrated into other projects. By 1994, Microsoft and NeXT were collaborating on a Windows NT-port of OpenStep; the port, however, was never released.[65]

WebObjects failed to achieve wide popularity partly because of the initial high price of $50,000,[66] but it remains the first and most prominent early example of a web application server which enabled dynamic page generation based on user interactions as opposed to static content. WebObjects is now bundled with Mac OS X Server and Xcode.[66]

Notes [edit]

^ a b c "NeXT Inc. to Drop Hardware 300 losing jobs in strategy shift". San Francisco Chronicle. February 9, 1993. Lih, Andrew. The Wikipedia Revolution: How a Bunch of Nobodies Created the World's Greatest Encyclopedia. 2009. Hyperion. Page 52 ^ a b c "Apple Computer, Inc. Agrees to Acquire NeXT Software Inc." (Press release). Apple Computer. 1996-12-20. Archived from the original on 2002-02-08. Retrieved 2008-06-13. "Apple Computer, Inc. Finalizes Acquisition of NeXT Software Inc." (Press release). Apple Computer. 1997-02-07. Archived from the original on 1999-01-17. Retrieved 2008-06-13. Stross, Randall (1993). Steve Jobs and the NeXT Big Thing. Athenium. p. 56. ISBN 0-689-12135-0. Stross 1993, p. 67 Morrison, Jas (1984-02-20). "NeXT, Microsoft tackle objects: NT to gain OpenStep port". Fortune. ^ a b c d e Stross 1993, p. 72 Shannon, Victoria (2006-05-22). "Apple losing its polish in Franc". International Herald Tribune. p. 11. Fuerst, Irene (March 15, 1985). "Apple's new Mac push; can Apple Computer succeed in wooing big companies with its Macintosh Office?". Datamation. p. 42. Rose, Frank (1990). West of Eden. Viking. p. 193. ISBN 0-670-81278-1. Rose 1990, p. 227 Rose 1990, p. 291 Young, Jeffrey S.; Simon, William L. (2005). iCon: Steve Jobs. John Wiley & Sons. p. 118. ISBN 0-471-72083-6. Spector, G (September 24, 1985). "Apple's Jobs Starts New Firm, Targets Education Market". PC Week. p. 109. Deutschman, Alan (2000). Second Coming of Steve Jobs. Broadway Books. p. 64. ISBN 0-7679-0432-X. Deutschman, p. 44 ^ a b Heller, Steven; Helfand, Jessica; Lois, George (2000). Paul Rand. Phaidon Press. p. 256. ISBN 0-7148-3994-9. [1] Young, Jeffrey S.; Simon, William L. (2005). iCon: Steve Jobs. John Wiley & Sons. p. 134. ISBN 0-471-72083-6. ^ a b Thompson, Tom; Baran, Nick (November 1988). "The NeXT Computer". Byte 13 (12): 158–175. Bonnera, Paul (February 1989). "The heart of a new machine (frogdesign for NeXT computer)". PC/Computing Magazine. p. 144. Standefer, Robert (2004). "Evolution of Mac OS X". Macintosh Switcher's Guide. Wordware Publishing. p. 33. ISBN 1-55622-045-6. Takahashi, Ken (August 29, 1989). "Motorola making chips in Japan". Newsbytes. White, David W. (December 1989). "Dell System 325 (Hardware Review)". The Local Area Network Magazine. p. 132. Krasnoff, Barbara (December 1989). "Buyer's guide: benchmarks". Personal Computing. p. 170. ^ a b c d Rawles, Richard (September 19, 1989). "Developers split over optical drive (NeXT Inc's 256Mbyte erasable magneto-optical drive)". MacWEEK. p. 3.n33. "Businessland Deal Seen for Next Inc.". The New York Times. Reuters. March 25, 1989. Shaffer, Richard (July 1989). "NeXT means business now.". Personal Computing (General Reference Center Gold). McCarthy, Vance (July 17, 1993). "Steve Jobs just says no.". Fortune (General Reference Center Gold). Ford, Kevin. "Canon object.station 41". The Best of NeXT Computers. Retrieved 18 September 2011. Garfinkel, Simon L (April 1994). "Open Door Policy". NeXTWORLD. "NeXT may expand two-man board". PC Week. December 9, 1991. p. 125. Young, Jeffrey S.; Simon, William L. (2005). iCon: Steve Jobs. John Wiley & Sons. p. 200. ISBN 0-471-72083-6. "NeXT Fans Give Up the Ghost". Wired News. December 21, 2005. Retrieved 2011-03-03. Garfinkel, Simson L. (March 1993). "Hardware was great while it lasted". NeXTWORLD. Retrieved 2008-06-13. Lavin, Dan (March 1993). "Canon to buy NeXT factory, design center". NeXTWORLD. Retrieved 2008-06-13. Berners-Lee, Tim. "The WorldWideWeb browser". World Wide Web Consortium. Retrieved 2008-06-13. Roads and Crossroads of Internet History Chapter 4: Birth of the Web "Next Computer Close To a Deal With Chrysler". San Francisco Chronicle. September 8, 1992. Sherman, Lee (2004). "First NeXT RISC Workstation". NeXTWORLD. Retrieved 2008-04-14. "NeXTSTEP: NeXT announces new release of NeXTSTEP & NeXTSTEP Developer. (NeXTSTEP 3.2 and NeXTSTEP Developer 3.2)". EDGE: Work-Group Computing Report. October 25, 1993. p. 40. McCarthy, Shawn P. (March 6, 1995). "Next's OS finally is maturing. (NextStep Unix operating system)". Government Computer News. p. 46. Beard, Mat (June 1994). "Elonex NextStation". Personal Computer World. Bidmead, Chris (February 1995). "NeXT, please". Personal Computer World. "Sun invests in Next, which will license NextStep OS for Sparc.". InfoWorld (General Reference Center Gold). November 29, 1993. Evans, Johnny (June 16, 2005). "Apple releases WebObjects as a free application". MacCentral. Retrieved 2008-04-14. Dalrymple, Jim (June 2, 2003). "Xserves power iTunes Music Store, 'America 24/7'". Macworld. Retrieved 2008-06-13. "Apple files with SEC for Jobs to sell 1.5 million shares". The Seattle Times. June 19, 1997. Singh, Amit (2004-02). "Quest for the Operating System". kernelthread.com. Retrieved 2009-07-23. "Apple May Press Jobs To Be Or Not To Be CEO". Newsbytes. March 24, 1998. Davis, Jim; Kanellos, Michael (January 5, 2000). "Jobs takes Apple CEO job full time". CNet. Retrieved 2007-01-04. Britton, Arlen (August 6, 1997). "What's NeXT?". MacObserver. Retrieved 2008-06-13. Thompson, Tom (April 1997). "Rhapsody with blue (Apple's next-generation operating system code-named Rhapsody)". Byte. p. 26. Sellers, Dennis (November 2000). "OS X III: finally, a first-class OS". Computer User. p. 66. "Mac OS X Takes Macintosh to New Level". eWeek. July 15, 2002. "Apple to Use Intel Microprocessors Beginning in 2006" (Press release). Apple Computer. June 6, 2005. Retrieved 2008-06-13. ^ a b c d e f Stross, Randall (1993). Steve Jobs and the NeXT Big Thing. Athenium. p. 80. ISBN 0-689-12135-0. Stross, Randall E (1993). Steve Jobs and the NeXT Big Thing. Maxwell Macmillan International. pp. 289–374. ISBN 978-0-689-12135-7. ^ a b c d Linzmayer, Owen W. (2004). Apple Confidential 2.0. No Starch Press. p. 323. ISBN 1-59327-010-0. "Serial Archive Listings for NeXTWORLD". The Online Books Page. Retrieved 2008-06-13. NextStep users seek safety in big numbers (January 27, 1992). "NeXT makes play for corporate market". PC Week. Smith, Carrie (May 1994). "NeXT means business now.". Wall Street & Technology (General Reference Center Gold). Semich, J. William (March 15, 1994). "Taligent (Apple, IBM and HP's joint object-oriented operating system)". Datamation. p. 34. Smith, Carrie (November 7, 1994). "NeXT, Microsoft tackle objects: NT to gain OpenStep port.". PC Week (General Reference Center Gold). ^ a b Stewart, Graham (2006). "Happy Birthday: WebObjects at 10". MacObserver. Retrieved 2008-06-13. References [edit]

Deutschman, Alan (2001). The Second Coming of Steve Jobs. Broadway. ISBN 0-7679-0433-8. Linzmayer, Owen W. (2004). Apple Confidential 2.0. No Starch Press. ISBN 1-59327-010-0. Malone, Michael (1999). Infinite Loop. Currency. ISBN 0-385-48684-7. Stross, Randall E. (1993). Steve Jobs & the NeXT Big Thing. Scribner. ISBN 0-689-12135-0. Young, Jeffrey S.; Simon, William L. (2005). iCon: Steve Jobs. John Wiley & Sons. ISBN 0-471-72083-6. External links [edit]

"www.next.com (web archive)". Archived from the original on 1997-04-12. The Chronology of Workstation Computers "Archived announcement of NeXT's acquisition by Apple". Archived from the original on 1997-04-12. Full acquisition/merger contract between Apple and NeXT NeXT Computer Historical Site NeXTWORLD Magazine Archives NeXTcomputers.org - Welcome to the NeXT world!

###112SONGOD322###

322GRAND*MASTER*CHIEF*MASON223


 * FINAL COPY***

NeXT Softwear inc. [OSI Approved License] ©2010 NEXT Software Inc. Lic. ™. ©2010 Microsoft corp. ©2010 NeXTSTEP G8 IOS ©2010 Pixar inc. ©2010 Lisa inc. ©2010 Apple inc. ©2010 Android inc. ©2010 Google inc. ©2010 IBM inc. ©2010 Florentino Perez Jr. ©2010 Darla Marie Garcia ©2010 Chelsea Clinton ©2010 Ivanka Trump ©2010 Florentino, Darla, Chelsea, Ivanka Perez ©2010 Bill & Malinda Gates foundation ©2010 Bill J. & Hillary R. Clinton ©2010 George W. & Laura Bush Georgia,Texas,California, USA Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (Software) to deal in the Software without restriction THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. FeeThis agreement shall be governed in all respects by the laws of theState of California and by the laws of the UNITED STATES of AMERICA, The CLINTON FOUNDATION AND BARBARA BUSH FOUNDATION & THE UNITED STATES POSTAL SERVICE (U.S.P.S)

X_________________________ FLORENTINO PEREZ JR, ©2010 FLORENTINO PEREZ JR.

X___________________ Hillary R. CLINTON ©2010 HILLARY R. CLINTON

X___________________ MICHELLE OBAMA ©2010 MICHELLE OBAMA

X___________________ BARBARA BUSH ©2010 BARBARA BUSH

X__________________ LAURA BUSH ©2010 LAURA BUSH

©Bancorp ©Microsoft Corp. ©Apple inc. ©IBM inc.

vCHECKjMATEt

CHANGE IN AGREEMENT1/322%


 * 2*8*NATO,US,EGYP-FUNDS*4*8*

By receipt of the Instant Checkmate LLC Services, Customer agrees to, and shall comply with, changes to the Restricted License granted Customer in Paragraph 1 herein, changes in pricing, and changes to other provisions of this Agreement as Instant Checkmate LLC shall make from time to time by notice to Customer via e-mail, online click wrap amendments, facsimile, mail, invoice announcements, or other written notification. All e-mail notifications shall be sent to the individual named in the Customer Administrator Contact Information section, unless stated otherwise in this Agreement. Instant Checkmate LLC may, at any time, impose restrictions and/or prohibitions on the Customer's use of the Instant Checkmate LLC Services or certain data. Customer understands that such restrictions or changes in access may be the result of a modification in Instant Checkmate LLC policy, a modification of third-party agreements, a modification in industry standards, a Security Event or a change in law or regulation, or the interpretation thereof. Upon written notification by Instant Checkmate LLC of such restrictions, Customer agrees to comply with such restrictions.≠≠

Join us for a live conversation September 13, 2012, 12PM EDT with Dr. Tom Lynch from the Yale Cancer Center on Yale Livestream: https://new.livestream.com/yale/

Submit questions in advance: leave a comment, tweet @Yale http://twitter.com/yale or email socialmedia@yale.edu.

QUOTE OF THE DAY: "A new breeze is blowing, and a nation refreshed by freedom stands ready to push on. There is new ground to be broken, and new action to be taken. There are times when the future seems thick as a fog; you sit and wait, hoping the mists will lift and reveal the right path. But this is a time when the future seems a door you can walk right through into a room called tomorrow."

President Bush

CCnBYaNCtNDoFP322 CC40BY112NC28ND3F2P2 LITTLE ROCK 9;43;42 WHO I GIVE MY UP MOST HONORABLE RESPECTS TO SR. AND JR. WHO BLEAD SIX SOLID THICK BUT BONDING AS CONCRETE AND FINISHED TO PERFECTION...... Thanks For the strategic and eminent executive action since Eiesenhower Yamaha's Phoenix YAHTZZZEEE AMEN And with this being done I'm deeply starry for what was and will be necessary patriotism regiment

MAY GOD BE WITH US###

IN JESUS NAME I PRAY.......

AMEN........ JESU(ISH)MARIA

}