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.
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 looking for new clients or an employer. Here’s my resume. I’d love to hear from you; thanks!
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!
Here’s the first draft of my next Spoon presentation. I’d love to hear any feedback you have. Thanks!
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.
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…
I created the first Naiad module page, for the “fundamental constants” module. I also made a custom search engine for finding Naiad module pages.
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.
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.).
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.
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