Spoon presentation 2012-02-24

Posted in Uncategorized on 24 February 2012 by Craig Latta

This is a fly-through of my next presentation about Spoon (netjam.org/spoon). I hope to present it at the next Pharo conference, 24-25 May 2012 in Lille, France.

I’m available for work.

Posted in consulting on 20 February 2012 by Craig Latta

I’m looking for new clients or an employer. Here’s my resume. I’d love to hear from you; thanks!

next steps 2012-02-20

Posted in Spoon on 20 February 2012 by Craig Latta

Thanks for all the feedback on the 3 alpha 3 release! I’m preparing 3a4 now. Sorry for the delay, I had paid-work issues to deal with for the last few months. Speaking of paid work, I’m available for new clients or a full-time assignment. Here’s my resume. I’d love to hear from you!

If you had trouble starting 3a3, please let me know. I’d be happy to get together with you online and debug it together. While Bert Freudenberg’s “all in one” packaging technique for Squeak has made things considerably simpler, it seems there are still ways that the configuration of an individual machine can interfere with successful startup.

The next feature I’m working on is more convenient startup of the history memory from a subject memory. Since this is the execution of a single well-known command, I decided that using OSProcess is overkill. Instead, I’m adding a Flow primitive that forks and execs the appropriate command (and the equivalent action on Windows).

I’ve also submitted a Kickstarter project proposal to fund work on Spoon.

Thanks again for your interest!

first draft of the next Spoon presentation

Posted in Naiad, Spoon on 19 February 2012 by Craig Latta

Here’s the first draft of my next Spoon presentation. I’d love to hear any feedback you have. Thanks!

Spoon 3 alpha 3 released

Posted in Naiad, Spoon on 19 August 2011 by Craig Latta

Hey there, I’ve released Spoon 3 alpha 3. I look forward to tearing through a few more alphas in the coming days at ESUG! :) See you soon.

first Naiad module page created

Posted in Naiad, Spoon on 10 July 2011 by Craig Latta

Naiad is Spoon’s module system. For every Naiad module, there can be a webpage describing it and providing something for Google to crawl. This is the basis of a discovery system for Naiad modules. It includes…

  • a well-known master Naiad module pages ID (so that one can search the web for all Naiad module pages)
  • the module’s name
  • the module’s author’s ID (so that one can search the web for the pages of the modules by that author)
  • the module’s ID
  • a description of the module’s content
  • the module’s current version
  • the module’s latest timestamp
  • the module’s tags
  • the IDs of the module’s prerequisite modules (for which one may search the web)
  • one or more installation links. When clicked, an installation link hits a webserver running in a local Spoon system. The link contains an encoded hostname and port for a remote Spoon system which actually serves the module.

I created the first Naiad module page, for the “fundamental constants” module. I also made a custom search engine for finding Naiad module pages.

initial Spoon modularization finished

Posted in Naiad, Spoon on 5 July 2011 by Craig Latta

I’ve finished the initial Spoon modularization. It’s 32 modules, 179 classes, and 1953 methods. The listing on the linked page above is now machine-generated from the modules.

next steps

Posted in Naiad, Spoon on 26 June 2011 by Craig Latta

Well, the initial Spoon modularization is coming along nicely. It has taken a form which is both human and machine readable, so I’m going to write code which reads it and creates the modules. Then I’ll check for methods which aren’t mentioned, probably removing some more stuff that hasn’t been used recently. Then I’ll test serving a module to another system, and adapt the remote browsing support to Squeak 4.2. The next Spoon release will consist of minimal history and subject memories and VMs (packaged as host-platform applications), remote browsing changes, VM changes, and VM build environments.

It looks like the first non-bootstrap module will be for printing (printOn: etc.).

initial Spoon modularization

Posted in Naiad, Spoon on 20 June 2011 by Craig Latta

At last! I’ve wanted to see this list ever since I started Smalltalking. Here are the initial modules in Spoon, including the classes and methods they contain, numbered for reference.

How would you sort these classes by dependency?

Posted in Naiad, Spoon on 20 June 2011 by Craig Latta

Here are the last 168 classes remaining in Spoon. I’m sorting them into a graph of dependent modules for the next release. How would you do it? Suggestions welcome.

ArrayedCollection
Collection
SequenceableCollection
Array
ByteArray
Interval
LinkedList
OrderedCollection
SharedQueue
SortedCollection

Association
Link
LookupKey
ReadOnlyVariableBinding
WeakKeyAssociation

Character
String
Symbol

Dictionary
IdentityDictionary
IdentitySet
Set
WeakArray
WeakIdentityKeyDictionary
WeakKeyDictionary
WeakRegistry
WeakSet

Behavior
Class
ClassBuilder
ClassDescription
Metaclass

Magnitude
Time

BlockContext
CompiledMethod
ContextPart
InstructionStream
Message
MethodContext
MethodDictionary

Float
Integer
LargeNegativeInteger
LargePositiveInteger
Number
Random
SmallInteger

Boolean
False
Object
True
UndefinedObject

Delay
Process
ProcessorScheduler
Semaphore

HTTPServer
HTTPAction
ExceptionMarker
OtherMarker
RemoteMethod
ClassID
MethodID
Module
ModuleDescription
Version
AuthorEdition
BehavioralEdition
Checkpoint
ClassEdition
CommentEdition
CommentedEdition
Edit
EditHistory
Edition
MetaclassEdition
MethodEdition
ProtoclassEdition
TaggedEdition
TagsEdition

Apache
GPL
GPL3
License
MIT
Squeak

BehavioralLiteralMarker
ClassLiteralMarker
ClassVariableLiteralMarker
GlobalLiteralMarker
IdentityLiteralMarker
MetaSuperSendLiteralMarker
MethodLiteralTransmissionMarker
PublishedVariableLiteralMarker
SharedVariableLiteralMarker
UndeclaredLiteralMarker

Manifest
NegativeManifest
PositiveManifest

DescribeModule
BrowseAvailableModules
EmitFavoritesIcon
InstallRemoteModule
ListInstalledModules
ModuleAction
Quit
RemoteModuleAction
RemoveModule
RunRemoteModule
Snapshot
Welcome

UUID
UUIDGenerator

CounterpartRequest
IncomingMessageExchange
MessageExchange
MessagingServer
MessagingSession
Other
OutgoingMessageExchange
RemoteMessageAnswer

Wormhole
WormholeServer

Scanner

Halt
BlockCannotReturn
Error
Exception
ExceptionAboutToReturn
Notification
ZeroDivide
ConnectionRefused
EncodingMismatch
ExternalResourceError
FailedReadingAttempt
InvalidPositioningAttempt
StreamingError
Timeout

MethodReference
Interpreter
ObjectMemory

PositionableStream
Stream
WritableStream

Correspondent
Server
SocketAddress
SocketAddressResolver
ExternalSemaphoreTable
Client
IncomingClient
IncomingHTTPClient
OutgoingClient
SocketTransport
Transport
ExternalStream
NetStream
SocketStream
TCPStream
ExternalResource
Peer
ClientTCPSocket
IncomingClientTCPSocket
OutgoingClientTCPSocket
ServerTCPSocket
Socket
TCPSocket
Follow

Get every new post delivered to your Inbox.

Join 37 other followers