Squeak Graveyard

class method category method and all deep senders refers to/used by TODO?
Object testing isWebBrowser (and all deep-senders) Scamper remove or put to class extension *Scamper
Object creation Morphs put all to class extension *Morphic
Object class documentation - this is documentation not behavior -> remove / create a documentation/finder tool
UndefinedObject 3ds parser support from3DS: - remove
ClassDescription private linesOfCode - purpose ? remove or replace by parseTree statements (more accurate)
Class testing officialClass, isSystemDefined Player remove
Color instance creation colorFrom: many use oop
Number private readRemainderOf:from:base:withSign: Number itself ???
Object viewer assureUniClass EToyys move to EToys

... ... ...

"B3D" - what is this (good for) ?

  • Number > asB3DVector3
  • SketchMorph > canBeEnlargedWithB3D

From class >> #readFromOldFormat:

  • look at the first line

StandardScriptingSystem

  • a class with and instance side and only class variables

OldSocket / OldSimpleClientSocket Smalltalk allClasses select: [ :each | each name last = $2 ] Morphs: AnimationMagicMorph, PasteUpMroph, SyntaxMorph

  1. name:superclassName:traitComposition:classTraitComposition:category:istVarNames:classVarNames:poolDictionaryNames:classInstVarNames:type:comment:commentStamp:

Date / DateAndTime / Timestamp

  • whats the difference between DateAndTime and Timestamp anyway?

BalloonEngine

  • #copyLoop
  • #copyLoopFaster
  • #copyLoopFastest

FileSystem

  • we really need a new one ! (more abstract, clean, easier)
  • accessing files in not threadsafe
  • accessing the source of a method is not threadsafe
  • FileDirectory sucks
  • DirectoryEntry sucks more
  • asking for the size or existence of a file is way easier in unix shell
  • FileDirectory >> #fileExists: -> Drugs ?!? walks over parent directory

CrLfStream

  • Why a subclass of StandardFileStream?!?

Etoys

  • methods are spread over the whole image/kernel
  • refactor this stuff into one package or ....
  • Ugly, crappy piece of shit. Even AK admits that. In fact it is so embarrassing to him that he does not show it on demos.
  • Replace with Scratch or Etoys 2.

Morphics

  • keyboard support (left, right, ... change focus without mouse)
  • PasteUpMorph
  • Morph
  • CommentMorph
  • BookMorph
  • any Morph in General

Text

  • html -> *Network, ...
  • asUrl —> *Network, ...
  • asUrlRelativeTo: —> *Network, ...

String

  • comparison polllution —> cleanup (intelligent names + comments)
  • asHtml, asIRCLowerCase, asUrl, unHtml, encodeForHTTP, ...... —> *Network, *IRC, ...
  • duplication: #findBetweenSubStrs:, #subStrings:, #findTokens:, #splitAtCommas,

Character

  • asIRCLowercase, ....... —> *Nertwork, *IRC
  • isTraditionalDomestic —> *Locals", "*Languages, ...

HTTPSocket

  • doesn’t work (ie. POST does not respect proxy settings)
  • huge methods
  • copy pasted all over the way, triplicated code ...
  • data was slow -> WTF?!?

CompiledMethod

  • huge methods that are not understandable (shift here, mask there)

Blocks

  • #fixTemps
  • no cheap blocks (clean)
  • no closures

Compiler

  • two different, not nested block

ClosureCompiler

  • slows down normal blocks too

Decompiler

  • decompiling does not work if receiver of #ifTrue:ifFalse: is cascade

WeakArrays

  • don’t scale
  • freeze image for long time

GarbageCollector

  • old generation collector is not incremental
  • tuned for memory sizes of ten years ago

Integer

  • Integer readFromString: ’VB rocks’

Url

  • #urlClassForScheme:, how about asking the subclasses like SM does?
  • Url absoluteFromText: ’http://smallwiki.unibe.ch/’ and Url absoluteFromText: ’https://smallwiki.unibe.ch/’ return objects that have a very different protocol

Streams

  • all those #become: when the something bad happens
  • why are they all subclasses and not wrapped (e.g. StandardFileStream, HtmlFileStream, CrLfStream)

SocketStream

  • reading form a closed stream returns nil
  • in 3.8 is a subclass of PositionableStream but not positionable

Object

  • abstract, like every other class

ReferenceStream

  • can not deal with changing index of instance variables

SmartReferenceStream

  • has a limit for big chunks but of course does not warn

SystemWindow

Number

  • isOrAreStringWith - hä?, not part of Number-Behavior
  • stringForReadout, same
  • isInfinite, couldnt we represent this as an Object instead of a string ?
  • detentBy: atMultiplesOf: snap:
  • there are a lot of conversion methods that don’t belong to the Behavior of Number -> class extensions

Random

  • "dices", nice but not core behavior of Random

MethodFinder

  • initialize, couldnt be more ugly

MorphicModel

  • ScrollBar >> #delete -> WFT?!?
  • select class pane horizontal scrollbar in browser and remove it

Behavior >> #formalHeaderPartsFor:

  • WFT?!?

ClassBuilder

  • central class
  • bugs
  • hairy code
  • no tests
  • #name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category:unsafe:
  • #isReallyObsolete: aClassDescription
	"Returns whether the argument class is \*really\* obsolete. (Due to a bug, the method isObsolete
	isObsolete does not always return the right answer"
  1. replaceFrom:to:with:startingAt:
  • copy and pasted all over the system, needs to be a trait
  • needs to be able to handle overlappy sections correctly (memmove gives this abstraction)

SharedQueue

  • needs no further explanation

tk code

  • SmalltalkImage >> calcEndianness -> ’Ted is confused’. Srsly?
  • From >> # hackBits:

... ... ...

Last changed by admin on 21 April 2009