diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..496ee2c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..b4259c5 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +newtonscript.org \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..6676d68 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,93 @@ +# Contributing to NewtonScript.org + +We welcome feedback, bug fixes, content & display improvements, and translations. Ultimately, what gets accepted and merged into the project is up to NewtonScript.org staff (specifically, [Morgan Aldridge](https://github.com/morgant), the current project maintainer), but you are encouraged to submit any suggestions. + +Please submit errors/corrections, additions, and feature requests via the project’s [issue tracker](https://github.com/NewtonScript/newtonscript.github.com/issues). + +## What You Need + +You will need the following to contribute: + +* A [GitHub](http://github.com) account for submitting pull requests +* A familiarity with HTML5 +* Experience with CSS3 is a plus + +## Making Changes + +Follow these steps when making changes. That way, they will most likely be accepted with few headaches and very little back and forth. + +1. Fork the [newtonscript.github.com](https://github.com/NewtonScript/newtonscript.github.com) project on GitHub. +2. Create a topic branch from the `master` branch. Name your branch appropriately, reflecting the intended changes. (e.g. “new-license”, “style-overhaul”, or “responsive-design-fixes”) +3. Make your edits (please try to conform to our [style guide](#style-guide)). +4. Make commits in logical units and with explanatory commit messages. +5. Preview your changes in an HTML5-capable web browser to ensure nothing is broken and everything is rendering correctly. + +## Submitting Changes + +When you’ve completed your changes and are ready to merge them into the main project, follow these steps to submit them for review. + +1. Push the changes to your fork of the [newtonscript.github.com](https://github.com/NewtonScript/newtonscript.github.com) project on GitHub +2. Submit a pull request to the [newtonscript.github.com](https://github.com/NewtonScript/newtonscript.github.com) project + +That’s all there is to it. + +If you followed the “Making Changes” guidelines and the changes are aligned with the vision of the project, it should be a smooth process to merge them. + +## Style Guide + +### HTML + +* Please write well-formed HTML to the HTML5 specification. +* Please write pretty HTML with proper indentation for nested elements. +* Please use tabs instead of spaces for indentation. + +### Text + +* Please alphabetize referenced materials (software, source code, reference documentation, etc.) by title and authors by last name. +* For sub lists which are more appropriately listed in chronological order (e.g. lists of publication issues), please do so. +* Please use [serial commas](https://en.wikipedia.org/wiki/Serial_comma). + +### Resource Template + +The following is the template used to list referenced resources (software, source code, documentation, etc.): + +```html +
[RESOURCE TITLE/NAME]
+
+

[RESOURCE DESCRIPTION]

+ +
+``` + +**Important:** Whenever you link to a resource or its mirror, please visit the [Internet Archive Wayback Machine](http://archive.org/web/) and submit that URL to “Save Page Now” to ensure its preservation! + +Please reference the following descriptions of the fields from the above template, as well as existing examples on the site, when adding a referenced resource: + +`RESOURCE-ANCHOR` — A unique anchor value for the reference. This accommodates direct linking to the reference. Optional. + +`RESOURCE URL` — The URL for the referenced resource. + +`RESOURCE TITLE/NAME` — The title or name of the referenced resource. This should be in proper title case, with the exception of software/source code where the project’s name itself may not be in proper title case. A common abbreviation for the resource title (e.g. “NTK”) may optionally be included). + +`RESOURCE DESCRIPTION` — A short summary (one to three sentences) of the resource. For software, this should include its functionality and how NewtonScript comes into play. For reference material, it should describe what the documentation covers. For periodicals as a whole where individual issues or articles may also be available, it is suggested that those issues or articles be listed and linked individually following this section. + +`AUTHOR/ORGANIZATION URL` — The URL to the author’s or organization’s site. Optional. + +`AUTHOR/ORGANIZATION NAME` — The name of the person or organization that created or published the resource. Multiple names should be comma separated and placed in alphabetical order by last name. It is preferable to list all authors or the specific organization. In rare cases, it may be appropriate to use “Various” instead. + +`PLATFORM` — The name of the platform which the resource was developed for. If multiple platforms are supported, they should be comma separated and in alphabetical order. For non-Newton platforms, the general platform type is suggested (e.g. “Mac OS”, “Mac OS X”, “Windows”, “Linux”, “BSD”, “BeOS”, etc.). For Newton platforms, the specific Newton OS version should be included (e.g. “Newton OS 1.x”, “Newton OS 2.x”, “Newton OS 2.1”, etc.) Optional, but should be included for software and source code. + +`LICENSE` — Optional, but should be included for software and source code. + +`FORMAT` — The format which the documentation is available in. If multiple formats are available, they should be comma separated and may link directly to the specified format. Optional, but should be included for documentation. + +`MIRROR URL` — The URL of an alternate source for the resource. Optional, but should be included whenever available. + +`MIRROR TITLE/NAME` The name of an alternate source for the resource. Optional, but should be included whenever available. + diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..c2e4d87 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,7 @@ +# License + +This work is licensed under the [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-nc-sa/4.0/). + +You can also request a copy of this license by sending a letter to: + +Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA diff --git a/README.md b/README.md index 1bcb6ba..f108b9b 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,7 @@ -This is the repository for the NewtonScript site. +# NewtonScript.org +This is the repository for the [NewtonScript.org](http://newtonscript.org/) site. + +Improvements, corrections, additions, and translations are not only welcome, but highly encouraged. See the [CONTRIBUTING](CONTRIBUTING.md) document for details on how to appropriately and effectively submit improvements so that they are more likely to be accepted, keeping the process as smooth as possible for everyone. + +This work is licensed under the [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-nc-sa/4.0/). \ No newline at end of file diff --git a/artwork/apple-touch-icon-114x114-precomposed.psd b/artwork/apple-touch-icon-114x114-precomposed.psd new file mode 100644 index 0000000..3a469d9 Binary files /dev/null and b/artwork/apple-touch-icon-114x114-precomposed.psd differ diff --git a/artwork/apple-touch-icon-120x120-precomposed.psd b/artwork/apple-touch-icon-120x120-precomposed.psd new file mode 100644 index 0000000..2ac3f4e Binary files /dev/null and b/artwork/apple-touch-icon-120x120-precomposed.psd differ diff --git a/artwork/apple-touch-icon-144x144-precomposed.psd b/artwork/apple-touch-icon-144x144-precomposed.psd new file mode 100644 index 0000000..888794e Binary files /dev/null and b/artwork/apple-touch-icon-144x144-precomposed.psd differ diff --git a/artwork/apple-touch-icon-152x152-precomposed.psd b/artwork/apple-touch-icon-152x152-precomposed.psd new file mode 100644 index 0000000..08ccae0 Binary files /dev/null and b/artwork/apple-touch-icon-152x152-precomposed.psd differ diff --git a/artwork/apple-touch-icon-180x180-precomposed.psd b/artwork/apple-touch-icon-180x180-precomposed.psd new file mode 100644 index 0000000..286ae70 Binary files /dev/null and b/artwork/apple-touch-icon-180x180-precomposed.psd differ diff --git a/artwork/apple-touch-icon-72x72-precomposed.psd b/artwork/apple-touch-icon-72x72-precomposed.psd new file mode 100644 index 0000000..d7e195c Binary files /dev/null and b/artwork/apple-touch-icon-72x72-precomposed.psd differ diff --git a/artwork/apple-touch-icon-76x76-precomposed.psd b/artwork/apple-touch-icon-76x76-precomposed.psd new file mode 100644 index 0000000..80a82b9 Binary files /dev/null and b/artwork/apple-touch-icon-76x76-precomposed.psd differ diff --git a/artwork/apple-touch-icon-precomposed.psd b/artwork/apple-touch-icon-precomposed.psd new file mode 100644 index 0000000..ee76716 Binary files /dev/null and b/artwork/apple-touch-icon-precomposed.psd differ diff --git a/artwork/avatar-800x800.psd b/artwork/avatar-800x800.psd new file mode 100644 index 0000000..e75ca46 Binary files /dev/null and b/artwork/avatar-800x800.psd differ diff --git a/artwork/favicon.psd b/artwork/favicon.psd new file mode 100644 index 0000000..c745248 Binary files /dev/null and b/artwork/favicon.psd differ diff --git a/artwork/msapplication-tileimage-144x144.psd b/artwork/msapplication-tileimage-144x144.psd new file mode 100644 index 0000000..4d9e6ef Binary files /dev/null and b/artwork/msapplication-tileimage-144x144.psd differ diff --git a/artwork/touch-icon-192x192.psd b/artwork/touch-icon-192x192.psd new file mode 100644 index 0000000..97fcaf9 Binary files /dev/null and b/artwork/touch-icon-192x192.psd differ diff --git a/css/advanced.css b/css/advanced.css index f1ddbc0..7706837 100644 --- a/css/advanced.css +++ b/css/advanced.css @@ -2,11 +2,72 @@ body { width: 54em; /* 864px @ 16px */ margin-left: auto; margin-right: auto; + padding: 1em; +} +.metadata { + margin-top: 2em; /* 24px @ 16px */ + margin-bottom: 2em; + padding-left: 0; + list-style: none; + font-size: 0.75em; /* 12px @ 16px */ +} +.metadata li { + display: block; + float: left; + padding-left: 0; + padding-right: 1em; + line-height: 2em; /* 24px @ 16px */ +} +.metadata li:after { + content: "|"; + /*color: #000;*/ + padding-left: 1em; +} +.metadata li:last-child { + float: none; + padding-right: 0; +} +.metadata li:last-child:after { + content: ""; } -/* Mobile Landscape CSS */ -@media all and (max-device-width: 480px) and (orientation:portrait) { +/* Mobile Portrait CSS */ +/* @media all and (max-device-width: 320px) and (orientation:portrait) */ +@media all and (max-width: 320px) { body { - width: 22.375em; /* 358px @ 16px */ + width: 20em; /* 320px @ 16px */ + padding: 0; + margin-left: 0; + margin-right: 0; + } + .metadata li { + display: list-item; + float: none; } -} \ No newline at end of file + .metadata li:after { + content: ""; + padding-left: 0; + } +} + +/* Mobile Landscape & Tablet Portrait CSS */ +/* @media all and (max-device-width: 480px) and (orientation:landscape) */ +@media all and (min-width: 321px) and (max-width: 768px) { + html { + -webkit-text-size-adjust: none; /* prevent font scaling */ + } + body { + width: 100%; + padding: 0; + margin-left: 0; + margin-right: 0; + } + .metadata li { + display: list-item; + float: none; + } + .metadata li:after { + content: ""; + padding-left: 0; + } +} diff --git a/css/basic.css b/css/basic.css index fdbd102..4b526c1 100644 --- a/css/basic.css +++ b/css/basic.css @@ -3,7 +3,6 @@ body { font-family: Verdana, Arial, sans-serif; - padding: 1em; line-height: 1.5em; /* 24px @ 16px */ } a:link { @@ -15,13 +14,28 @@ a:visited { a:link:hover, a:visited:hover, a:active:hover { color: #FFBF00; } -p, dt, dd { +a:link img { + display: block; + float: left; + margin-top: -4px; + margin-right: 4px; +} +p, dt, dd, ul { margin-top: 1.5em; /* 24px @ 16px */ margin-bottom: 1.5em; padding: 0 1.5em; } dd { + border-bottom: 1px solid #DDD; margin-left: 1.5em; + margin-right: 1.5em; +} +dd > p { + padding: 0; +} +dd:last-child { + border-bottom: none; + margin-bottom: 2.5em; } h1, h2, h3, h4, h5, h6 { font-family: "Gill Sans", sans-serif; @@ -38,8 +52,7 @@ h1 { background-color: #FFBF00; } h2, h3, h4, h5 { - background-color: #CCC; - text-transform: uppercase; + background-color: #DDD; } h2 { font-size: 1.5em; /* 24px @ 16px */ @@ -48,4 +61,18 @@ h2 { margin-bottom: 1em; padding-left: 1em; padding-right: 1em; -} \ No newline at end of file +} +.metadata li { + color: #999; +} +footer { + border-top: 5px solid #DDD; +} +footer p { + color: #999; + font-size: 0.75em; /* 12px @ 16px */ + padding-top: 1.5em; + margin-left: 2.5em; +} + + diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..2d891e0 Binary files /dev/null and b/favicon.ico differ diff --git a/img/apple-touch-icon-114x114-precomposed.png b/img/apple-touch-icon-114x114-precomposed.png new file mode 100644 index 0000000..91075d0 Binary files /dev/null and b/img/apple-touch-icon-114x114-precomposed.png differ diff --git a/img/apple-touch-icon-120x120-precomposed.png b/img/apple-touch-icon-120x120-precomposed.png new file mode 100644 index 0000000..ab2ac0f Binary files /dev/null and b/img/apple-touch-icon-120x120-precomposed.png differ diff --git a/img/apple-touch-icon-144x144-precomposed.png b/img/apple-touch-icon-144x144-precomposed.png new file mode 100644 index 0000000..e8230a7 Binary files /dev/null and b/img/apple-touch-icon-144x144-precomposed.png differ diff --git a/img/apple-touch-icon-152x152-precomposed.png b/img/apple-touch-icon-152x152-precomposed.png new file mode 100644 index 0000000..bd684d2 Binary files /dev/null and b/img/apple-touch-icon-152x152-precomposed.png differ diff --git a/img/apple-touch-icon-180x180-precomposed.png b/img/apple-touch-icon-180x180-precomposed.png new file mode 100644 index 0000000..79e4f2e Binary files /dev/null and b/img/apple-touch-icon-180x180-precomposed.png differ diff --git a/img/apple-touch-icon-72x72-precomposed.png b/img/apple-touch-icon-72x72-precomposed.png new file mode 100644 index 0000000..48628be Binary files /dev/null and b/img/apple-touch-icon-72x72-precomposed.png differ diff --git a/img/apple-touch-icon-76x76-precomposed.png b/img/apple-touch-icon-76x76-precomposed.png new file mode 100644 index 0000000..6e60d31 Binary files /dev/null and b/img/apple-touch-icon-76x76-precomposed.png differ diff --git a/img/apple-touch-icon-precomposed.png b/img/apple-touch-icon-precomposed.png new file mode 100644 index 0000000..2991dcc Binary files /dev/null and b/img/apple-touch-icon-precomposed.png differ diff --git a/img/applications/dashboard-32x32.gif b/img/applications/dashboard-32x32.gif new file mode 100644 index 0000000..3e32545 Binary files /dev/null and b/img/applications/dashboard-32x32.gif differ diff --git a/img/applications/dynetk-32x32.png b/img/applications/dynetk-32x32.png new file mode 100644 index 0000000..83159b6 Binary files /dev/null and b/img/applications/dynetk-32x32.png differ diff --git a/img/applications/einstein-32x32.png b/img/applications/einstein-32x32.png new file mode 100644 index 0000000..7f8de56 Binary files /dev/null and b/img/applications/einstein-32x32.png differ diff --git a/img/applications/newtdevenv-32x32.gif b/img/applications/newtdevenv-32x32.gif new file mode 100644 index 0000000..dbe63c1 Binary files /dev/null and b/img/applications/newtdevenv-32x32.gif differ diff --git a/img/applications/subethaedit-mode-32x32.png b/img/applications/subethaedit-mode-32x32.png new file mode 100644 index 0000000..14f68a3 Binary files /dev/null and b/img/applications/subethaedit-mode-32x32.png differ diff --git a/img/applications/viewframe-32x32.gif b/img/applications/viewframe-32x32.gif new file mode 100644 index 0000000..a4dd3d7 Binary files /dev/null and b/img/applications/viewframe-32x32.gif differ diff --git a/img/avatar-800x800.png b/img/avatar-800x800.png new file mode 100644 index 0000000..79af241 Binary files /dev/null and b/img/avatar-800x800.png differ diff --git a/img/msapplication-tileimage-144x144.png b/img/msapplication-tileimage-144x144.png new file mode 100644 index 0000000..3607cca Binary files /dev/null and b/img/msapplication-tileimage-144x144.png differ diff --git a/img/touch-icon-192x192.png b/img/touch-icon-192x192.png new file mode 100644 index 0000000..77864e6 Binary files /dev/null and b/img/touch-icon-192x192.png differ diff --git a/index.html b/index.html index 852edb1..d559032 100644 --- a/index.html +++ b/index.html @@ -1,98 +1,837 @@ - + NewtonScript - + + + + + + + + + + + + + + + +

NewtonScript

-

NewtonScript is an object-oriented programming language developed by Walter Smith for Apple for the NewtonOS running on their MessagePad & eMate hardware. It borrows concepts from the Smalltalk, LISP, and Self programming languages with special consideration for a low memory footprint (esp. differential inheritance). In 2003 a NewtonScript interpreter, NEWT/0 was developed by Makoto Nukui allowing for its use on other platforms. Here you'll find information about the language and programming reference materials.

-

Development Tools

+

NewtonScript is an object-oriented programming language developed by Walter Smith for Apple for the Newton OS running on their MessagePad & eMate hardware. It borrows concepts from the Smalltalk, LISP, and Self programming languages with special consideration for a low memory footprint (esp. differential inheritance). In 2003 a NewtonScript interpreter, NEWT/0 was developed by Makoto Nukui allowing for its use on other platforms.

+

For assistance with programming in the NewtonScript language beyond the documentation provided here, it is suggested that you join the newtonscript-lang.slack.com Slack team (get an invite), join the #newtonscript channel on irc.libera.chat, tag a question with the 'newtonscript' tag on stackoverflow.com, or post to the NewtonTalk mailing list.

+ + +

Table of Contents

-
Dashboard -
An open source alternate button bar, hierarchical menu, and scripting system (using NewtonScript) for NewtonOS by Five Speed Software. Source available on GitHub.
+
Development Tools
+
Documentation
+
Libraries
+
Sample Code
+
Further Reading
+
+ + +

Development Tools

+
+
Dashboard
+
+

An alternate button bar, hierarchical menu, and scripting system (using NewtonScript) for Newton OS. Source available on GitHub.

+ +
+ +
DyneTK
+
+

A cross-platform IDE for Newton OS software development. Built on NEWT/0.

+ +
+ +
Einstein
+
+

A Newton OS 2.1 emulator. It includes a “Relativity” feature that allows NewtonScript to call native methods from the parent OS from within the Newton OS.

+ +
+ +
Minspector
+
+

A Newton OS Newton debugging tool modeled after the Newton Toolkit Inspector.

+ +
+ +
NEWT/0
+
+

A multi-platform NewtonScript interpreter. Matthias Melcher has also created a modified version of NEWT/0 that compiles on 64-bit architectures.

+ +
+ +
newt.vim
+
+

A cross-platform Vim syntax highlighter for the NewtonScript language.

+ +
-
DyneTK
-
An open source Linux, Mac OS X, and Windows IDE for NewtonOS software development by Matthias Melcher. Built on NEWT/0.
+
NewtDevEnv (Newt)
+
+

An environment for developing applications using NewtonScript and creating packages natively on a Newton OS device.

+ +
-
Einstein
-
An open source Mac OS X, Linux, Windows, iOS, Android, and ARM-Linux NewtonOS 2.1 emulator by Paul Guyot. It includes a "Relativity" feature that allows NewtonScript to call native methods from the parent OS from within the NewtonOS. Built on NEWT/0.
+
Newton Data Browser
+
+

A application which can send NewtonScript commands and functions to a Newton device and then retrieve the results using a desktop or laptop computer.

+ +
-
Minspector
-
A freeware NewtonOS inspector by Five Speed Software.
+
NewtonScript Xcode Language Specification
+
+

An Xcode language specicification (syntax highlighter) for the NewtonScript language.

+ +
-
NEWT/0
-
An open source Darwin/Mac OS X, Linux, FreeBSD, Windows, and BeOS NewtonScript interpreter by Makoto Nukui.
+
NewtonScript Mode
+
+

A SubEthaEdit and Coda Mode (syntax highlighter) for the NewtonScript language.

+ +
+ +
NewtonScript Codeless Language Module
+
+

A BBEdit and TextWrangler Codeless Language Module (syntax highlighter) for the NewtonScript language.

+ +
+ +
Newton Inspector
+
+

A native implementation of the NTK Inspector window for Mac OS X.

+ +
-
NewtDevEnv (a.k.a. Newt)
-
A shareware NewtonOS 1.x & 2.x package by Steve Weyer that allows native NewtonScript development & package creation on a NewtonOS device.
+
Newton Personal Data Sharing (NPDS)
+
+

A web server for Newton OS which can be scripted to generate dynamic content using NewtonScript.

+ +
-
NewtonScript Mode
-
A Mac OS X SubEthaEdit/Coda Mode (syntax highlighter) for the NewtonScript language by Morgan Aldridge.
+
Newton Toolkit (NTK)
+
+

Apple’s original IDE for Newton OS software development.

+ +
-
Newton Toolkit (a.k.a NTK)
-
Apple's Mac OS & Windows IDE for NewtonOS software development.
+
Newton Toolkit for Mac OS X (NTX)
+
+

A modern replacement for Apple’s original Newton Toolkit.

+ +
-
tntk
-
An open source, Mac OS X command line NewtonScript compiler by Eckhart Köppen. Built on NEWT/0.
+
Newton Toolkit Bracket Highlighting & Balancing
+
+

This bit of code adds visual bracket matching, highlighting, and balancing functionality to the Newton Toolkit editor.

+ +
+ +
NSM
+
+

A portable NewtonScript bytecode virtual machine.

+ +
-
ViewFrame
-
A freeware, NewtonOS live NewtonScript object explorer/editor by Jason Harper.
+
Prota
+
+

An implementation of NewtonScript written in C++.

+ +
+ +
ROM Soup
+
+

A utility for exploring the Soup contained within Newton ROM images. It can preview code, strings, pictures, sounds, and more.

+ +
+ +
tntk
+
+

A command line NewtonScript compiler and packager. Built on NEWT/0.

+ +
+ +
ViewFrame
+
+

A live NewtonScript object browser, editor, and debugging tool.

+ +
-

Documentation

+ + + +

Libraries

-
Class-based NewtonScript Programming (PDF)
-
+
MacInTalk
+
+

Apple's official MacInTalk Text-to-Speech extension for Newton OS.

+ +
+ +
mbed TLS
+
+

A port of the mbed TLS SSL/TLS library to NewtonOS, allowing for secure network communications.

+ +
-
The Newton Application Architecture (PDF)
-
+
Newton Messaging Enabler
+
+

Apple's Messaging Enabler "Provide[s] high-level support for a wide variety of messaging devices. Messaging devices are both one-way and two-way pagers, or more generally, any device that can receive (and maybe send) short, usually less than 5 KB, wireless messages."

+ +
-
Newton Formats (PDF; mirrors: UNNA)
-
+
NHttpLib
+
+

An HTTP library for Newton OS. Source available on SourceForge.

+ +
+ +
NSUnit
+
+

A simple xUnit unit testing framework for the NewtonScript language (currently supporting NEWT/0) by Morgan Aldridge.

+ +
-
Newton OS 2.1 Engineering Documents (PDF; mirrors: UNNA, Newted)
-
+
ntox
+
+

A port of the tox XML/HTML tokenizer.

+ +
-
Newton Programmer’s Guide (for OS 2.0; PDF; mirrors: UNNA, Newted)
-
+
ZLib
+
+

A partial port of the zlib compression library, based on the version 1.1.4 release.

+ +
+
+ + + +

Documentation

+
+
Class-based NewtonScript Programming
+
+

A paper explaining conventions for simulating class-based programming in NewtonScript, which is a prototype-based language, from the designer of the language.

+ +
-
Newton Programmer’s Guide: 2.1 OS Addendum (PDF; mirrors: UNNA, Newted)
-
+
Developing NewtonScript apps for the Apple MessagePad
+
+

A walk-through on setting up a Newton Toolkit development environment using Basilisk II and Einstein emulators.

+ +
+ +
develop
+
+

Apple’s quarterly technical journal published from 1990-1997, before being pulled into MacTech magazine as a regular column. The following issues contain Newton/NewtonScript-specific articles:

+ + +
-
Newton Programmer’s Reference (for NewtonOS 2.0; PDF; mirrors: UNNA, Newted)
-
+
Dr. Dobb’s
+
+

Michael Swaine explored the Newton as a platform, NewtonScript as a programming language, and NTK as a development environment in 1994 & 1995 for his “Programming Paradigms” column in Dr. Dobb’s magazine.

+

Note: Free registration required to view more than two articles.

+ + +
+ +
Folklore.org: The Newton, The First PDA
+
+

“Anecdotes about the development of the Newton, the world's first PDA.” The following articles cover NewtonScript:

+ + +
+ +
Frames in GoLisp
+
+

An explanation of the frames implementation in GoLisp, including comparison to Self & NewtonScript, by which it was inspired.

+ +
+ +
Hammering Newton
+
+

Unofficial documentation of the inner workings of Newton OS as gleaned using the "Hammer" low level debugger. The following sections are NewtonScript-specific:

+ + +
+ +
How to Work with the Text-to-Speech Extension
+
+

An example of developing with the MacInTalk Text-to-Speech extension.

+ +
+ +
More Newton Text to Speech
+
+

An explanation of the embedded commands available in the MacInTalk Text-to-Speech extension.

+ +
+ +
Newton 2.x OS Q&As
+
+

Additional clarification, documentation, and examples for Newton OS 2.x development, including a section devoted to NewtonScript (though much of the rest of the documentation is relevant to developing in NewtonScript anyway). Available as a single page containing all content or multiple pages by section.

+ +
+ +
The Newton Application Architecture
+
+

Official overview of the Newton application architecture, including the NewtonScript language, view system, object store, and communications system.

+ +
+ +
Newton Book Maker User’s Guide
+
+

Official documentation on creating digital books and application help for the Newton, including the use of NewtonScript to customize book interaction, display, and behavior.

+ +
+ +
Newton Bowels
+
+

Unofficial documentation of the inner workings of Newton OS. The following articles are NewtonScript-specific:

+ + +
-
The NewtonScript Programming Language (PDF; mirrors: UNNA, Newted)
-
Apple's official introduction & reference material for the NewtonScript language under NewtonOS 2.x. You'll probably want to start here.
+
Newton Formats
+
+

Official documentation of Newton data formats and protocols.

+ +
-
Newton Toolkit 1.6.x File Formats (PDF)
-
+
Newton Formats Errata
+
+

Unofficial corrections to errors found in Apple's Newton Formats documentation.

+ +
-
Newton User Interface Guidelines (Book; PDF)
-
+
Newton OS 2.1 Engineering Documents
+
+

Official documentation of changes and additions in Newton OS 2.1, including: NewtWorks, keyboard enhancements, grayscale imaging, graphics shapes, sound, dial-in networks, IrDA communications tool, and the eMate 300 multi-user environment.

+ +
-
Programming for the Newton: Software Development with NewtonScript (Book)
-
+
Newton OS 2.1 Engineering Documents: Miscellaneous
+
+

A preliminary draft version of Chapter 11: Miscellaneous that appears to have been intended to be added to the Newton OS 2.1 Engineering Documents, covering additions in Newton OS 2.1 that weren't, "[L]engthy enough to warrant their own chapters."

+ +
-
Programming for the Newton Using Macintosh (Book)
-
+
Newton OS Error Database
+
+

A searchable database of Newton OS error codes gleaned from the NTK for Windows v1.6.1 help file, NIE 2.0 API documentation, and Lantern DDK documentation.

+ +
-
Programming for the Newton Using Windows (Book)
-
+
Newton Programmer’s Guide (for Newton 2.0)
+
+

Official documentation for the Newton OS 2.0 application programming interfaces, providing an overview and conceptual information. See the Newton Programmer’s Reference for detailed reference documentation of data structures, functions, constants, and error codes.

+ +
-
SELF and the Origins of NewtonScript (PDF)
-
+
Newton Programmer’s Guide: 2.1 OS Addendum
+
+

Official documentation covering additions and changes in the Newton OS 2.1 application programming interfaces.

+ +
-
User Interface Guidelines for Newton OS 2.1 Keyboard Enhancements
-
+
Newton Programmer’s Reference (for Newton 2.0)
+
+

Official documentation of the Newton OS 2.0 protos, methods, functions, data structures, and error codes. A companion to the Newton Programmer’s Guide.

+ +
-
Using a Prototype-based Language for User Interface: The Newton Project's Experience (PDF)
-
+
NewtonScript ByteCode
+
+

Documentation of the NewtonScript bytecode as compiled through observation.

+ +
+ +
NewtonScriptに見る: もうひとつのプロトタイプ指向
+
+

An overview of the NewtonScript language presented at the 2008 Lightweight Language conference in Toyko, Japan.

+ +
+ +
The NewtonScript Programming Language
+
+

Official introduction & reference material for the NewtonScript language under Newton OS 2.x. You’ll probably want to start here.

+ +
+ +
プログラミング言語 NewtonScript
+
+

An unofficial Japanese translation of Apple’s NewtonScript Programming Language reference.

+ +
+ +
Newton Technology Journal
+
+

Apple’s Newton-specific technical journal, published six times per year from 1995-1997. The content is 70% development and 30% marketing.

+ + +
+ +
Newton Toolkit 1.6.x File Formats
+
+

Official documentation of file formats used by NTK 1.6.x for Windows and Macintosh, specifically Project files, Layout files, and native code module files.

+ +
+ +
Newton Toolkit Tips and Tricks
+
+

Tips & tricks for NTK, esp. the Windows version.

+ +
+ +
Newton User Interface Guidelines (for Newton 2.0)
+
+

Official documentation of Newton OS 2.0 user interface and how to optimize software for it, including the whys and hows.

+ +
+ +
Newt’s Cape: NewtonScript Syntax
+
+

This document covers issues related to embedding NewtonScript syntax in HTML and embedding HTML in NewtonScript.

+ +
+ +
Programming for the Newton: Software Development with NewtonScript
+
+

+ +
+ +
Programming for the Newton Using Macintosh
+
+

+ +
+ +
Programming for the Newton Using Windows
+
+

+ +
+ +
SELF and the Origins of NewtonScript
+
+

An introduction to the paper Self: The Power of Simplicity, by Ungar and Smith, which describes the aspects of NewtonScript which were inspired by the SELF programming language.

+ +
+ +
Soups on the Newton
+
+

An overview on creating and interacting with soups using NewtonScript.

+ +
+ +
The NewtonScript Programming Language
+
+

An overview of NewtonScript language, illustrating the differences between object oriented programming paradigms and relating how some NewtonScript features have their own particular programatic flavor.

+ +
+ +
User Interface Guidelines for Newton OS 2.1 Keyboard Enhancements
+
+

A supplement to Newton User Interface Guidelines which specifically covers the keyboard enhancements in Newton OS 2.1.

+ +
+ +
Using a Prototype-based Language for User Interface: The Newton Project’s Experience
+
+

An explanation of how the Newton OS user interface was implemented using a prototype-based language (NewtonScript) and the advantages it has over class-based languages.

+ +
+ +
Writing Assembly for Your Newton
+
+

Primarily discusses writing, linking, and packaging assembly code for Newton OS, but also covers communicating between assembly code and NewtonScript code.

+ +
+
+ + + +

Sample Code

+
+
Internal Serial Enabler
+
+

Sample NTK & MPW project for Newton OS 2.1 to control the internal serial port, incl. toggling channels and GPIO.

+ +
+ +
Newton 2.x OS Sample Code
+
+

Official sample Mac OS & Windows NTK projects for Newton OS 2.x.

+ +
+ + + +

Further Reading

+
+
Talking with Mikel Evins about the Lisp-based Newton OS
+
+

In 2004, Rainer Joswig spoke with Mikel Evins, a former member of Apple’s Newton group, about an early development version of Newton OS written in Lisp.

+ +
+
+
+
Dad Hacker
+
+

Reminiscing about early Newton development, programming, and NewtonScript with Landon Dyer, a member of the original Newton team.

+ +

Also available as audio files from Mac Folklore Radio.

+ + +
+
+ + + - diff --git a/mirrors/develop/README.md b/mirrors/develop/README.md new file mode 100644 index 0000000..3f9ade9 --- /dev/null +++ b/mirrors/develop/README.md @@ -0,0 +1,12 @@ +# Vintage Apple Develop Magazine Library + +Source: + +> Ron R. was generous enough to share his PDF libary of Apple's [Develop magazine](https://en.wikipedia.org/wiki/Develop_(Apple_magazine)). The native PDF version of the library came as each article in a separate PDF file, so Ron wrote some Applescript to assemble it into a magazine PDF format with the articles in proper order. +> +> Thanks Ron! +> +> _Some interesting tidbits_ +> - The first four issues continue page numbering from the end of one issue to the next +> - For the first four issues, they dated them by year and month. For issues 5-9, they +dated them by year and season. With the 10th issue, they went back to year / month. diff --git a/mirrors/develop/develop-01_9001_January_1990.pdf b/mirrors/develop/develop-01_9001_January_1990.pdf new file mode 100644 index 0000000..82252df Binary files /dev/null and b/mirrors/develop/develop-01_9001_January_1990.pdf differ diff --git a/mirrors/develop/develop-02_9004_April_1990.pdf b/mirrors/develop/develop-02_9004_April_1990.pdf new file mode 100644 index 0000000..d003aae Binary files /dev/null and b/mirrors/develop/develop-02_9004_April_1990.pdf differ diff --git a/mirrors/develop/develop-03_9007_July_1990.pdf b/mirrors/develop/develop-03_9007_July_1990.pdf new file mode 100644 index 0000000..5dc03ba Binary files /dev/null and b/mirrors/develop/develop-03_9007_July_1990.pdf differ diff --git a/mirrors/develop/develop-04_9010_October_1990.pdf b/mirrors/develop/develop-04_9010_October_1990.pdf new file mode 100644 index 0000000..58f654a Binary files /dev/null and b/mirrors/develop/develop-04_9010_October_1990.pdf differ diff --git a/mirrors/develop/develop-05_9101_Winter_1991.pdf b/mirrors/develop/develop-05_9101_Winter_1991.pdf new file mode 100644 index 0000000..5c1a5f2 Binary files /dev/null and b/mirrors/develop/develop-05_9101_Winter_1991.pdf differ diff --git a/mirrors/develop/develop-06_9104_Spring_1991.pdf b/mirrors/develop/develop-06_9104_Spring_1991.pdf new file mode 100644 index 0000000..42ce960 Binary files /dev/null and b/mirrors/develop/develop-06_9104_Spring_1991.pdf differ diff --git a/mirrors/develop/develop-07_9107_Summer_1991.pdf b/mirrors/develop/develop-07_9107_Summer_1991.pdf new file mode 100644 index 0000000..6ce1951 Binary files /dev/null and b/mirrors/develop/develop-07_9107_Summer_1991.pdf differ diff --git a/mirrors/develop/develop-08_9110_Autum_1991.pdf b/mirrors/develop/develop-08_9110_Autum_1991.pdf new file mode 100644 index 0000000..7c454b9 Binary files /dev/null and b/mirrors/develop/develop-08_9110_Autum_1991.pdf differ diff --git a/mirrors/develop/develop-09_9201_Winter_1992.pdf b/mirrors/develop/develop-09_9201_Winter_1992.pdf new file mode 100644 index 0000000..cbee4d6 Binary files /dev/null and b/mirrors/develop/develop-09_9201_Winter_1992.pdf differ diff --git a/mirrors/develop/develop-10_9205_May_1992.pdf b/mirrors/develop/develop-10_9205_May_1992.pdf new file mode 100644 index 0000000..4995f40 Binary files /dev/null and b/mirrors/develop/develop-10_9205_May_1992.pdf differ diff --git a/mirrors/develop/develop-11_9208_August_1992.pdf b/mirrors/develop/develop-11_9208_August_1992.pdf new file mode 100644 index 0000000..35eb031 Binary files /dev/null and b/mirrors/develop/develop-11_9208_August_1992.pdf differ diff --git a/mirrors/develop/develop-12_9212_December_1992.pdf b/mirrors/develop/develop-12_9212_December_1992.pdf new file mode 100644 index 0000000..b278578 Binary files /dev/null and b/mirrors/develop/develop-12_9212_December_1992.pdf differ diff --git a/mirrors/develop/develop-13_9313_March_1993.pdf b/mirrors/develop/develop-13_9313_March_1993.pdf new file mode 100644 index 0000000..2f4ba49 Binary files /dev/null and b/mirrors/develop/develop-13_9313_March_1993.pdf differ diff --git a/mirrors/develop/develop-14_9306_June_1993.pdf b/mirrors/develop/develop-14_9306_June_1993.pdf new file mode 100644 index 0000000..9369adb Binary files /dev/null and b/mirrors/develop/develop-14_9306_June_1993.pdf differ diff --git a/mirrors/develop/develop-15_9309_September_1993.pdf b/mirrors/develop/develop-15_9309_September_1993.pdf new file mode 100644 index 0000000..5b1670e Binary files /dev/null and b/mirrors/develop/develop-15_9309_September_1993.pdf differ diff --git a/mirrors/develop/develop-16_9312_December_1993.pdf b/mirrors/develop/develop-16_9312_December_1993.pdf new file mode 100644 index 0000000..fc4542f Binary files /dev/null and b/mirrors/develop/develop-16_9312_December_1993.pdf differ diff --git a/mirrors/develop/develop-17_9403_March_1994.pdf b/mirrors/develop/develop-17_9403_March_1994.pdf new file mode 100644 index 0000000..3918e99 Binary files /dev/null and b/mirrors/develop/develop-17_9403_March_1994.pdf differ diff --git a/mirrors/develop/develop-18_9406_June_1994.pdf b/mirrors/develop/develop-18_9406_June_1994.pdf new file mode 100644 index 0000000..c6ade18 Binary files /dev/null and b/mirrors/develop/develop-18_9406_June_1994.pdf differ diff --git a/mirrors/develop/develop-19_9408_September_1994.pdf b/mirrors/develop/develop-19_9408_September_1994.pdf new file mode 100644 index 0000000..b3adde7 Binary files /dev/null and b/mirrors/develop/develop-19_9408_September_1994.pdf differ diff --git a/mirrors/develop/develop-20_9412_December_1994.pdf b/mirrors/develop/develop-20_9412_December_1994.pdf new file mode 100644 index 0000000..b79714a Binary files /dev/null and b/mirrors/develop/develop-20_9412_December_1994.pdf differ diff --git a/mirrors/develop/develop-21_9503_March_1995.pdf b/mirrors/develop/develop-21_9503_March_1995.pdf new file mode 100644 index 0000000..b3a4ccb Binary files /dev/null and b/mirrors/develop/develop-21_9503_March_1995.pdf differ diff --git a/mirrors/develop/develop-22_9506_June_1995.pdf b/mirrors/develop/develop-22_9506_June_1995.pdf new file mode 100644 index 0000000..a9944e9 Binary files /dev/null and b/mirrors/develop/develop-22_9506_June_1995.pdf differ diff --git a/mirrors/develop/develop-23_9509_September_1995.pdf b/mirrors/develop/develop-23_9509_September_1995.pdf new file mode 100644 index 0000000..71530f6 Binary files /dev/null and b/mirrors/develop/develop-23_9509_September_1995.pdf differ diff --git a/mirrors/develop/develop-24_9512_December_1995.pdf b/mirrors/develop/develop-24_9512_December_1995.pdf new file mode 100644 index 0000000..5350e04 Binary files /dev/null and b/mirrors/develop/develop-24_9512_December_1995.pdf differ diff --git a/mirrors/develop/develop-25_9603_March_1996.pdf b/mirrors/develop/develop-25_9603_March_1996.pdf new file mode 100644 index 0000000..c53bebf Binary files /dev/null and b/mirrors/develop/develop-25_9603_March_1996.pdf differ diff --git a/mirrors/develop/develop-26_9606_June_1996.pdf b/mirrors/develop/develop-26_9606_June_1996.pdf new file mode 100644 index 0000000..73df334 Binary files /dev/null and b/mirrors/develop/develop-26_9606_June_1996.pdf differ diff --git a/mirrors/develop/develop-27_9609_September_1996.pdf b/mirrors/develop/develop-27_9609_September_1996.pdf new file mode 100644 index 0000000..9657974 Binary files /dev/null and b/mirrors/develop/develop-27_9609_September_1996.pdf differ diff --git a/mirrors/develop/develop-28_9612_December_1996.pdf b/mirrors/develop/develop-28_9612_December_1996.pdf new file mode 100644 index 0000000..fe62fa8 Binary files /dev/null and b/mirrors/develop/develop-28_9612_December_1996.pdf differ diff --git a/mirrors/develop/develop-29_9703_March_1997.pdf b/mirrors/develop/develop-29_9703_March_1997.pdf new file mode 100644 index 0000000..6b90364 Binary files /dev/null and b/mirrors/develop/develop-29_9703_March_1997.pdf differ