diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0af268a..6676d68 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,40 +1,93 @@ -CONTRIBUTING TO NewtonScript.org -================================ +# 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, the current project -maintainer), but you are encouraged to submit your improvements. +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. -WHAT YOU NEED -------------- +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 [GithHub](http://github.com) account for submitting pull requests -* A familiarity with HTML5, CSS3 experience is a plus +* A [GitHub](http://github.com) account for submitting pull requests +* A familiarity with HTML5 +* Experience with CSS3 is a plus -MAKING CHANGES --------------- +## Making Changes -You will need to do the following to make changes that are most likely to be -accepted with little headache and back & forth: +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 (an appropriately named branch regarding the intended changes, e.g. "new-license", "style-overhaul", or "resonsive-design-fixes") from the `master` branch -3. Make commits in logical units and with properly explanatory commit messages -4. Preview your changes in an HTML5-capable web browser to ensure nothing broke and everything is rendering appropriately. +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 ------------------- +## Submitting Changes -When you've completed your changes and are ready for them to be merged into the -main project, you can do the following to submit them for review and likely -inclusion in NewtonScript.org: +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 your changes to your fork of the newtonscript.github.com project on GitHub +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 pretty -smooth process to get them merged in. \ No newline at end of file +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 936ac63..f108b9b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ -NewtonScript.org -================ +# NewtonScript.org This is the repository for the [NewtonScript.org](http://newtonscript.org/) site. -Improvements, fixes, translations, etc., are not only welcome, but highly encouraged. See [CONTRIBUTING](CONTRIBUTING.md) for details on how to appropriately & effectively submit improvements so that they are more likely to be accepted and the process is as smooth as possible for all parties involved. +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 b932b76..7706837 100644 --- a/css/advanced.css +++ b/css/advanced.css @@ -4,6 +4,32 @@ body { 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 Portrait CSS */ /* @media all and (max-device-width: 320px) and (orientation:portrait) */ @@ -14,18 +40,34 @@ body { margin-left: 0; margin-right: 0; } + .metadata li { + display: list-item; + float: none; + } + .metadata li:after { + content: ""; + padding-left: 0; + } } -/* Mobile Landscape CSS */ +/* Mobile Landscape & Tablet Portrait CSS */ /* @media all and (max-device-width: 480px) and (orientation:landscape) */ -@media all and (min-width: 321px) and (max-width: 480px) { +@media all and (min-width: 321px) and (max-width: 768px) { html { -webkit-text-size-adjust: none; /* prevent font scaling */ } body { - width: 30em; /* 480px @ 16px */ + 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 fc15b39..4b526c1 100644 --- a/css/basic.css +++ b/css/basic.css @@ -20,13 +20,22 @@ a:link img { margin-top: -4px; margin-right: 4px; } -p, dt, dd { +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; @@ -43,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 */ @@ -53,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/icons/dashboard-32x32.gif b/img/applications/dashboard-32x32.gif similarity index 100% rename from img/icons/dashboard-32x32.gif rename to img/applications/dashboard-32x32.gif diff --git a/img/icons/dynetk-32x32.png b/img/applications/dynetk-32x32.png similarity index 100% rename from img/icons/dynetk-32x32.png rename to img/applications/dynetk-32x32.png diff --git a/img/icons/einstein-32x32.png b/img/applications/einstein-32x32.png similarity index 100% rename from img/icons/einstein-32x32.png rename to img/applications/einstein-32x32.png diff --git a/img/icons/newtdevenv-32x32.gif b/img/applications/newtdevenv-32x32.gif similarity index 100% rename from img/icons/newtdevenv-32x32.gif rename to img/applications/newtdevenv-32x32.gif diff --git a/img/icons/subethaedit_mode-32x32.png b/img/applications/subethaedit-mode-32x32.png similarity index 100% rename from img/icons/subethaedit_mode-32x32.png rename to img/applications/subethaedit-mode-32x32.png diff --git a/img/icons/viewframe-32x32.gif b/img/applications/viewframe-32x32.gif similarity index 100% rename from img/icons/viewframe-32x32.gif rename to img/applications/viewframe-32x32.gif 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 52ed4a3..d559032 100644 --- a/index.html +++ b/index.html @@ -4,108 +4,619 @@ NewtonScript - + + + + + + + + + + + + + +

NewtonScript

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.

-

Here you’ll find information about the language, available development tools for various platforms, and programming reference materials.

+

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.

-

Development Tools

+ +

Table of Contents

-
Dashboard (Newton OS; open source)
-
An alternate button bar, hierarchical menu, and scripting system (using NewtonScript) for Newton 2.1 OS 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.

+ +
-
DyneTK (Linux, Mac OS X, Windows; open source)
-
A cross-platform IDE for Newton OS software development by Matthias Melcher. Built on NEWT/0.
+
NEWT/0
+
+

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

+ +
-
Einstein (Mac OS X, Linux, Windows, iOS, Android, ARM-Linux; open source)
-
A Newton OS 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 Newton OS.
+
newt.vim
+
+

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

+ +
-
Minspector (Newton OS; freeware)
-
A Newton OS 2.1 inspector by Five Speed Software.
+
NewtDevEnv (Newt)
+
+

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

+ +
+ +
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.

+ +
+ +
NewtonScript Xcode Language Specification
+
+

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

+ +
-
NEWT/0 (Mac OS X, Linux, FreeBSD, Windows, BeOS; open source)
-
A 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.

+ +
-
newt.vim (Vim; unknown license)
-
A cross-platform Vim syntax highlighter for the NewtonScript language by Layána Ǩaynolj Konóvo.
+
Newton Inspector
+
+

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

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

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

+ +
-
NewtonScript Mode (SubEthaEdit/Coda; open source)
-
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; Mac OS, Windows; freeware; mirrors: UNNA)
-
Apple’s original Mac OS & Windows IDE for Newton OS software development.
+
Newton Toolkit for Mac OS X (NTX)
+
+

A modern replacement for Apple’s original Newton Toolkit.

+ +
-
tntk (Linux, Mac OS X; open source)
-
A 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 (Newton OS; freeware)
-
A live NewtonScript object explorer/editor for Newton OS 1.x & 2.x 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.

+ +
+ +
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."

+ +
+ +
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.

+ +
-
develop (Magazine, HTML; mirrors: MacTech)
+
ntox
+
+

A port of the tox XML/HTML tokenizer.

+ +
+ +
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.

+ +
+ +
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:

+ +
+ +
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:

+ +
-
How to Work with the Text-to-Speech Extension (HTML; mirrors: Steve Weyer, Internet Archive)
-
+
Newton Formats
+
+

Official documentation of Newton data formats and protocols.

+ +
+ +
Newton Formats Errata
+
+

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

+ +
-
More Newton Text to Speech (HTML; mirrors: Steve Weyer, Internet Archive)
-
+
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.

+ +
-
The Newton Application Architecture (PDF)
-
+
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."

+ +
-
Newton Formats (PDF; mirrors: UNNA)
-
+
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.

+ +
-
Newton OS 2.1 Engineering Documents (PDF; mirrors: UNNA, Newted)
-
+
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.

+ +
-
Newton OS Error Database (HTML)
+
Newton Programmer’s Guide: 2.1 OS Addendum
+
+

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

+ +
-
Newton Programmer’s Guide (for OS 2.0; PDF; mirrors: UNNA, Newted)
-
+
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.

+ +
-
Newton Programmer’s Guide: 2.1 OS Addendum (PDF; mirrors: UNNA, Newted)
-
+
NewtonScript ByteCode
+
+

Documentation of the NewtonScript bytecode as compiled through observation.

+ +
-
Newton Programmer’s Reference (for Newton OS 2.0; PDF; mirrors: UNNA, Newted)
-
+
NewtonScriptに見る: もうひとつのプロトタイプ指向
+
+

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

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

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

+ +
-
Newton Technology Journal (PDF; mirrors: UNNA)
+
プログラミング言語 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 (PDF)
-
+
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 User Interface Guidelines (for OS 2.0; Book, PDF; mirrors: UNNA, Newted)
-
+
Newton Toolkit Tips and Tricks
+
+

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

+ +
-
Programming for the Newton: Software Development with NewtonScript (Book)
-
+
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 Macintosh (Book, HTML; mirror: UNNA)
-
+
Programming for the Newton Using Windows
+
+

+ +
-
Programming for the Newton Using Windows (Book)
-
+
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.

+ +
-
SELF and the Origins of NewtonScript (PDF)
-
+
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 (PDF; mirrors: UNNA, Newted)
-
+
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 (PDF)
-
+
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