Planet Smalltalk

August 28, 2015

Pharo Weekly - Steady updates: pharo heartbeat development

50286
16392 Should register WideString reader/writer to MCDataStream
https://pharo.fogbugz.com/f/cases/16392

16408 Clean up around changes files
https://pharo.fogbugz.com/f/cases/16408
50285
16347 ComposableModel announcer should not be a valueHolder
https://pharo.fogbugz.com/f/cases/16347

16401 opening monticello window does not respect world size
https://pharo.fogbugz.com/f/cases/16401
50284
16409 MNU: receiver of sourceInterval is nil
https://pharo.fogbugz.com/f/cases/16409

16249 change all senders of #instanceVariables to use #instVarNames
https://pharo.fogbugz.com/f/cases/16249

50283
16391 Switching hierarchy visually removes selection of a protocol
https://pharo.fogbugz.com/f/cases/16391

16331 MergeDiffMorph – Wrong scrollbars
https://pharo.fogbugz.com/f/cases/16331

16406 RBkeysDoRule has the same #uniqueIdentifierName as RBEqualNilRule
https://pharo.fogbugz.com/f/cases/16406

50282
16372 undeclared reference to searchList in FileList
https://pharo.fogbugz.com/f/cases/16372

15102 lost worldmenu
https://pharo.fogbugz.com/f/cases/15102

16405 Failign test: RBSmalllintTest.testConsistencyCheck
https://pharo.fogbugz.com/f/cases/16405

16404 Two tests failing OSWindowTest
https://pharo.fogbugz.com/f/cases/16404
50281
16294 get rid of System-VMEvents dependency in the bootstrap
https://pharo.fogbugz.com/f/cases/16294

16203 Wrong diff when changing the package of an extension method
https://pharo.fogbugz.com/f/cases/16203

16394 Kernel should not depend on System-CommandLine. Check the Exit class
https://pharo.fogbugz.com/f/cases/16394

16403 make two icon names more uniform
https://pharo.fogbugz.com/f/cases/16403
50280
16377 Formater bug on FileReference with cascade
https://pharo.fogbugz.com/f/cases/16377

16398 System-FileRegistry depends on Morphic
https://pharo.fogbugz.com/f/cases/16398

16401 opening monticello window does not respect world size
https://pharo.fogbugz.com/f/cases/16401

16397 DummyUIManager depends on System-VMEvents
https://pharo.fogbugz.com/f/cases/16397

16396 Timezone>>local should use LocalTimeZone
https://pharo.fogbugz.com/f/cases/16396

50279
16400 remaining haltOnce (and copy method)
https://pharo.fogbugz.com/f/cases/16400

16333 no syntax highlighting in TextModel beForCode
https://pharo.fogbugz.com/f/cases/16333

16371 Integrate new stable version of OSWindow
https://pharo.fogbugz.com/f/cases/16371
50278
16399 Improve RBSentNotImplementedRule for Traits
https://pharo.fogbugz.com/f/cases/16399

16395 remove some duplicated tests in RBConsistencyCheckRule and RBEqualNilRule
https://pharo.fogbugz.com/f/cases/16395

16387 remove Cursor read showWhile: from ImageReadWriter>>#formFromStream:
https://pharo.fogbugz.com/f/cases/16387

50277
16335 test command line handler should exit with failure if tests fails
https://pharo.fogbugz.com/f/cases/16335

50276
16289 Get rid of System-Localization dependency from the bootstrap
https://pharo.fogbugz.com/f/cases/16289

16188 System-Changes has low-level dependents
https://pharo.fogbugz.com/f/cases/16188

50275
16379 Cleanup Locale API
https://pharo.fogbugz.com/f/cases/16379

16282 Bootstrap should not depend on Graphics
https://pharo.fogbugz.com/f/cases/16282

16337 The cleaning of File servicies broke some applications
https://pharo.fogbugz.com/f/cases/16337
50274
15820 Better File API
https://pharo.fogbugz.com/f/cases/15820

16256 Evaluating a class which is not implemented does not show the “Unknown variable” dialog
https://pharo.fogbugz.com/f/cases/16256

16393 Mouse Button on Mac to get the menu is now wrong!!
https://pharo.fogbugz.com/f/cases/16393

50273
16074 Is RBClassNotReferencedRule ~200x slower in Pharo 4 vs Pharo 3 ?
https://pharo.fogbugz.com/f/cases/16074

16384 populateMethodList Nautilus
https://pharo.fogbugz.com/f/cases/16384

16265 World Menu should be invoked by right-click not left-click
https://pharo.fogbugz.com/f/cases/16265

50272
16277 Unselect the hierarchie button show the class definission
https://pharo.fogbugz.com/f/cases/16277

16290 Get rid of System-CommandLine dependency from the bootstrap
https://pharo.fogbugz.com/f/cases/16290

16369 do not use IdentitySet in whichSelectorsReferTo: and friends
https://pharo.fogbugz.com/f/cases/16369
50270
16367 #hasLiteralThorough: should not check for names of Binding
https://pharo.fogbugz.com/f/cases/16367

16189 System-Sources has low-level dependents
https://pharo.fogbugz.com/f/cases/16189

16375 More tests for instead links
https://pharo.fogbugz.com/f/cases/16375

50269
16131 RBModifiesCollectionRule breaks methods AST when checking
https://pharo.fogbugz.com/f/cases/16131

16363 Context menu in Recent Messages broken when empty
https://pharo.fogbugz.com/f/cases/16363

16365 Make properties on TemporaryVariable persistent
https://pharo.fogbugz.com/f/cases/16365

16364 Typo in Recent message browser title
https://pharo.fogbugz.com/f/cases/16364

50268
16358 Can not commit three changed method to class TemporaryVariable
https://pharo.fogbugz.com/f/cases/16358
50267
16358 Can not commit three changed method to class TemporaryVariable
https://pharo.fogbugz.com/f/cases/16358
50266
16119 Monticello doent ask for user credidentials
https://pharo.fogbugz.com/f/cases/16119

16219 BIConfigurableFormatter>>#needsMethodSignatureOnMultipleLinesFor: uses to:do: instead of with:do:
https://pharo.fogbugz.com/f/cases/16219

16358 Can not commit three changed method to class TemporaryVariable
https://pharo.fogbugz.com/f/cases/16358

50265
16175 WorldMorph ctrl+shift+click menu allows for some bad choices
https://pharo.fogbugz.com/f/cases/16175

16356 Persistent properties on Temps
https://pharo.fogbugz.com/f/cases/16356

16346 Add Object>>displayString
https://pharo.fogbugz.com/f/cases/16346
50264
16352 some RubExamples dont work anymore
https://pharo.fogbugz.com/f/cases/16352

16285 Files should not depend on Graphics-Primitives
https://pharo.fogbugz.com/f/cases/16285

16353 TemporyVariable: pointer to method and block startpc
https://pharo.fogbugz.com/f/cases/16353
50263
16294 get rid of System-VMEvents dependency in the bootstrap
https://pharo.fogbugz.com/f/cases/16294

16349 Lowercase button should be uppercase (when selecting an st file)
https://pharo.fogbugz.com/f/cases/16349

16350 Default HelpIcon in CustomHelp has to be book instead of page
https://pharo.fogbugz.com/f/cases/16350

16299 Monticello should not depend on Text-Diff
https://pharo.fogbugz.com/f/cases/16299
50262
16348 Deprecate HelpIcon and HelpIconTest
https://pharo.fogbugz.com/f/cases/16348

16351 skip testTestInterferenceWithSystemTimingSemaphore for now
https://pharo.fogbugz.com/f/cases/16351

16345 Improve the feedback system of QualityAssistant
https://pharo.fogbugz.com/f/cases/16345

50261
16338 Property API for TemporaryVariable
https://pharo.fogbugz.com/f/cases/16338

16344 add basis for links to Temps and Slots
https://pharo.fogbugz.com/f/cases/16344

16269 separatorBlock is not read and written in BISimpleFormatter>>#formatSelectorAndArguments:firstSeparator:restSeparator:
https://pharo.fogbugz.com/f/cases/16269

16343 add isEmpty not to RBNotEliminationRule
https://pharo.fogbugz.com/f/cases/16343

16342 deprecated #whichSelectorsReferTo:special:byte: and friends
https://pharo.fogbugz.com/f/cases/16342

50260
16341 Update key text for browse version since the shortcut changed
https://pharo.fogbugz.com/f/cases/16341
50259
16266 Nautilus no longer highlights protocol when method is selected
https://pharo.fogbugz.com/f/cases/16266

50258
16301 Monticello should not depend on Tool-ExternalBrowser
https://pharo.fogbugz.com/f/cases/16301

16336 reduce senders of #hasSpecialSelector:ifTrueSetByte:
https://pharo.fogbugz.com/f/cases/16336

50257
16298 get rid of Tool-Base in the bootstrap
https://pharo.fogbugz.com/f/cases/16298

15861 Create test package for Jobs
https://pharo.fogbugz.com/f/cases/15861

16283 Collections-Abstract should not depend on Graphics-Primitive
https://pharo.fogbugz.com/f/cases/16283

16208 System-Support should have a System-Support-Tests
https://pharo.fogbugz.com/f/cases/16208

16293 get rid of NativeBoost dependency in the bootstrap
https://pharo.fogbugz.com/f/cases/16293
50256
16324 Clean FileServices and FileList by using pragmas
https://pharo.fogbugz.com/f/cases/16324

16328 Fix senders of ifNotEmptyDo: in image
https://pharo.fogbugz.com/f/cases/16328

16300 Monticello should not depend on Tool-Diff
https://pharo.fogbugz.com/f/cases/16300
50255
16275 You cant use ctrl + shift + f anymore on the debuggeur
https://pharo.fogbugz.com/f/cases/16275

16322 Move navigation arrows close to navigation drop list in Nautilus
https://pharo.fogbugz.com/f/cases/16322

16323 add the concepts of a first class TemporaryVariable
https://pharo.fogbugz.com/f/cases/16323

16321 started a RBSmalltalkGlobalsRule
https://pharo.fogbugz.com/f/cases/16321

16307 Fix adding Slots to anonymous classes
https://pharo.fogbugz.com/f/cases/16307

50254
16320 Update configuration of Rubric
https://pharo.fogbugz.com/f/cases/16320

16313 fix tests failing when unloading old compiler
https://pharo.fogbugz.com/f/cases/16313

16315 SimpleServerEntry should use a pragma and use them to declare them
https://pharo.fogbugz.com/f/cases/16315

50253
16316 Form should not rgisterFileReader inside the Graphics package
https://pharo.fogbugz.com/f/cases/16316

16312 Fix some references to the old compiler
https://pharo.fogbugz.com/f/cases/16312

16080 RBImplementedButNotSent always true
https://pharo.fogbugz.com/f/cases/16080

16306 Clear undo cache in Nautilus when changing source code
https://pharo.fogbugz.com/f/cases/16306
50252
16268 SyntaxErrorNotification from styler for single double quotes
https://pharo.fogbugz.com/f/cases/16268

16284 Compression should not depend on Graphics-Primtives
https://pharo.fogbugz.com/f/cases/16284

16281 Collections should not depend on Multilingual-OtherLanguages
https://pharo.fogbugz.com/f/cases/16281

16287 Transcript should not depend on Graphics-Primitives
https://pharo.fogbugz.com/f/cases/16287

50251
16292 Make TreeNode of Komitter user friendly
https://pharo.fogbugz.com/f/cases/16292

16296 Default group with configurations in Nautilus
https://pharo.fogbugz.com/f/cases/16296

16297 Add shortcut to open variables menu
https://pharo.fogbugz.com/f/cases/16297

16288 Remove parallel diff calculation
https://pharo.fogbugz.com/f/cases/16288

50250
16305 Update configuration of Rubric
https://pharo.fogbugz.com/f/cases/16305

16273 RubSmalltalkEditor(Object)>>doesNotUnderstand: #shiftedTextPaneMenuRequest
https://pharo.fogbugz.com/f/cases/16273

50249
16250 Activate new Encoders
https://pharo.fogbugz.com/f/cases/16250

16295 Update NautilusGroupAutoBuilder
https://pharo.fogbugz.com/f/cases/16295

16270 Rewrite ifTrue:ifFalse: using min: in Date>>#addMonths:
https://pharo.fogbugz.com/f/cases/16270

50248
14789 Nautilus can not browse anonymous classes
https://pharo.fogbugz.com/f/cases/14789

16302 Move variable assignment outside of blocks and Rewrite ifTrue:ifFalse: using min:/max: in Rectangle>>#intersect:ifNone:
https://pharo.fogbugz.com/f/cases/16302

16261 Monticello window is ridiculously small when opened from the world menu
https://pharo.fogbugz.com/f/cases/16261

16291 Remove scary weel of the Komitter
https://pharo.fogbugz.com/f/cases/16291

50247
16150 make OSWindow events work with morphic
https://pharo.fogbugz.com/f/cases/16150

16276 thoroughWhichSelectorsReferTo:special:byte: does not need to use isTrait
https://pharo.fogbugz.com/f/cases/16276
50246
16239 hasReportTableSlip is not packaged well and more
https://pharo.fogbugz.com/f/cases/16239

16264 update ring-core-kernel dependencies
https://pharo.fogbugz.com/f/cases/16264

16272 Reflectivity: start of code gen for Globals
https://pharo.fogbugz.com/f/cases/16272

16192 Cut Text-Core dependencies
https://pharo.fogbugz.com/f/cases/16192

50244
16099 Failing tests in MCSnapshotBrowserTest
https://pharo.fogbugz.com/f/cases/16099

16257 Use Rubric in description area of Nautilus Plugin Manager
https://pharo.fogbugz.com/f/cases/16257

16260 Compression should not depend on Tool-Base
https://pharo.fogbugz.com/f/cases/16260

50243
16253 Failing Test: RBSmalllintTest>>#testMissingYourself
https://pharo.fogbugz.com/f/cases/16253

16251 Dictionary tests are failing
https://pharo.fogbugz.com/f/cases/16251

16204 Traits package should not depend in System-Changes: fix two obvious causes
https://pharo.fogbugz.com/f/cases/16204

50242
16248 Remove unused ClassCategoryReader and ClassCommentReader
https://pharo.fogbugz.com/f/cases/16248

16173 ASTCache depends on Reflectivity
https://pharo.fogbugz.com/f/cases/16173

16199 Introduce OpalEncoders
https://pharo.fogbugz.com/f/cases/16199

16247 Move fileOut* methods to a separate package
https://pharo.fogbugz.com/f/cases/16247

50239
16237 Values in the class init of NECPreferences are not what we expect
https://pharo.fogbugz.com/f/cases/16237

14428 CollectionsTests package should be Collections-Tests
https://pharo.fogbugz.com/f/cases/14428

50241
16233 Add balloon-text to the various buttons used by Nautilus browser
https://pharo.fogbugz.com/f/cases/16233

16210 Multilinguage-OtherLinguage should not have the tests inside his packages.
https://pharo.fogbugz.com/f/cases/16210

15020 remove “missing yourself” rule
https://pharo.fogbugz.com/f/cases/15020

16241 RBFutureDeprecationWarningRule not needed
https://pharo.fogbugz.com/f/cases/16241

50240
16240 Rename loop variable to avoid conflicts in NautilusGroupAutoBuilder
https://pharo.fogbugz.com/f/cases/16240

16227 Nautilus wrong buttonstate (hierarchy/class)
https://pharo.fogbugz.com/f/cases/16227

16243 add property API to RPackage
https://pharo.fogbugz.com/f/cases/16243
50238
16229 NEC is disabled and prior default values are unset
https://pharo.fogbugz.com/f/cases/16229
50237
16235 New method in UITheme for saving files
https://pharo.fogbugz.com/f/cases/16235

16230 Use Property API to set a MetaLink on Slots
https://pharo.fogbugz.com/f/cases/16230
50236
16214 Reput the shortcuts for browsing etc in Monticello
https://pharo.fogbugz.com/f/cases/16214

16212 ChunkWriteStream doesnt understand many messages…
https://pharo.fogbugz.com/f/cases/16212

16225 Adding facilities to define repositories to publish in the catalog browser
https://pharo.fogbugz.com/f/cases/16225

16234 Add a button to load and create a group in Catalog Browser
https://pharo.fogbugz.com/f/cases/16234

50235
16221 ReEngine needs a #reset and #cleanUp method
https://pharo.fogbugz.com/f/cases/16221

16224 Property API for Slots
https://pharo.fogbugz.com/f/cases/16224

16226 Use the new property API on Globals when setting a link:
https://pharo.fogbugz.com/f/cases/16226
50234
16220 Two new rules: RBRuleIfNotEmptyDo and RBRuleIfNotNilDo
https://pharo.fogbugz.com/f/cases/16220

16223 Property API for Globals
https://pharo.fogbugz.com/f/cases/16223

16215 Can not get menu for list panes anymore when not using a mouse
https://pharo.fogbugz.com/f/cases/16215

15861 Create test package for Jobs
https://pharo.fogbugz.com/f/cases/15861
50233
16217 zombie instances of Spec Tools: revert case 11115
https://pharo.fogbugz.com/f/cases/16217

16187 Create a group automatically when you load a project
https://pharo.fogbugz.com/f/cases/16187

50232
16133 repackage blue ink in blue project
https://pharo.fogbugz.com/f/cases/16133

16213 Update Configuration of Rubric
https://pharo.fogbugz.com/f/cases/16213

15279 Nautilus: Rename Package needs to copy over defined Monticello repositories
https://pharo.fogbugz.com/f/cases/15279
50231
16208 System-Support should have a System-Support-Tests
https://pharo.fogbugz.com/f/cases/16208

16179 Reflectivity: Set Links on Globals
https://pharo.fogbugz.com/f/cases/16179

16216 Default values in NECPreferences are not initilized right
https://pharo.fogbugz.com/f/cases/16216

50230
16200 Error in #selectNextMethod when removing the only method
https://pharo.fogbugz.com/f/cases/16200

16185 Kernel should not depend on NewValueHolder
https://pharo.fogbugz.com/f/cases/16185

16202 System-FileRegistry should not depend on System-Changes
https://pharo.fogbugz.com/f/cases/16202

50229
ConfigurationOfRubric

15290 Remove UserManager
https://pharo.fogbugz.com/default.asp?15290

Update GTools to version 3.0.5
https://pharo.fogbugz.com/default.asp?16171

50228
16197 update and merge Rubric
https://pharo.fogbugz.com/f/cases/16197

16198 Add users button in message browser
https://pharo.fogbugz.com/f/cases/16198

16201 Remove unsent extension methods in System-Changes
https://pharo.fogbugz.com/f/cases/16201

50227
16194 Remove refresh button from QualityAssistant, improve UI a bit
https://pharo.fogbugz.com/f/cases/16194

16193 Typo: generation -> generation
https://pharo.fogbugz.com/f/cases/16193

15697 Speed up the autocompletion pop-up appearance delay
https://pharo.fogbugz.com/f/cases/15697

16184 Update ConfigurationOfCatalog
https://pharo.fogbugz.com/f/cases/16184

50226
16183 Clean up class comment implementation
https://pharo.fogbugz.com/f/cases/16183

16181 Better unifying of the columns width in Nautilus
https://pharo.fogbugz.com/f/cases/16181

16182 Add Manifests for the bootstrap (part 2)
https://pharo.fogbugz.com/f/cases/16182

16178 new nautilus icons (for class side, hierarchy, etc) are defined in wrong class
https://pharo.fogbugz.com/f/cases/16178
50225
16167 remove useless methods
https://pharo.fogbugz.com/f/cases/16167

16170 Add Manifests for the bootstrap (part 1)
https://pharo.fogbugz.com/f/cases/16170

16172 Kernel and Ring should not depend on Nautilus
https://pharo.fogbugz.com/f/cases/16172

50224
16089 Nautilus buttons
https://pharo.fogbugz.com/f/cases/16089

15150 SpecTableLayout not included in Pharos Spec fork
https://pharo.fogbugz.com/f/cases/15150

16174 Allow links to be put on ClassVars
https://pharo.fogbugz.com/f/cases/16174
50223
16168 Context>>#directedSuperSend:numArgs: is broken
https://pharo.fogbugz.com/f/cases/16168

15198 Cleaning Nautilus (browser compatibility)
https://pharo.fogbugz.com/f/cases/15198

16164 Reflectivity: Allow a Links to be put on a Slot
https://pharo.fogbugz.com/f/cases/16164

16169 komitter slice commit may break
https://pharo.fogbugz.com/f/cases/16169
50222
16158 Do not announce ClassCommented when its the same string
https://pharo.fogbugz.com/f/cases/16158

16145 CTRL + S doesnt work anymore to commit after written a message
https://pharo.fogbugz.com/f/cases/16145

16162 echo is not used in VTermOutputDriver
https://pharo.fogbugz.com/f/cases/16162

16165 Array>>#storeOnStream: not used and broken
https://pharo.fogbugz.com/f/cases/16165
50221
16148 Select next method when remove one in Nautilus
https://pharo.fogbugz.com/f/cases/16148

16146 unify hasComplexVariables vs usesSpecialVariables
https://pharo.fogbugz.com/f/cases/16146

16141 Use themed help icons when issue 15079 was integrated (for Help-Core)
https://pharo.fogbugz.com/f/cases/16141

16160 ProfStef context menu broken
https://pharo.fogbugz.com/f/cases/16160

50220
15079 Move HelpIcons into icons package
https://pharo.fogbugz.com/f/cases/15079

16149 Remove PluggableTextMorph from StandardWindow
https://pharo.fogbugz.com/f/cases/16149

16144 FFI is not loading on Pharo 5
https://pharo.fogbugz.com/f/cases/16144
50219
16138 WorldMenu->System->Settings throws DNU – Image 50217
https://pharo.fogbugz.com/f/cases/16138

16140 Monticiellos save popup should should wrap the text.
https://pharo.fogbugz.com/f/cases/16140

50218
16137 PluggableButtonMorph needs #on:getState:action:label:menu: for backwards compatibility
https://pharo.fogbugz.com/f/cases/16137

50217
16128 Better handling when the Pharo-window is re-sized
https://pharo.fogbugz.com/f/cases/16128

16106 Image grows by 3.5MB for every save
https://pharo.fogbugz.com/f/cases/16106

16135 Remove RBModifiesCollectionRule from rules run by Renraku (QualityAssistant)
https://pharo.fogbugz.com/f/cases/16135

16120 Remove unused #importFrom: in ClassOrganization and ProtocolOrganizer
https://pharo.fogbugz.com/f/cases/16120

16116 introduce PluggableButtonMorph with icons and PluggableToggleButtonMorph
https://pharo.fogbugz.com/f/cases/16116
50216
15305 LabelModel emphasis: is bad
https://pharo.fogbugz.com/f/cases/15305

15489 Switching to class side with modified class comment
https://pharo.fogbugz.com/f/cases/15489

15365 Spec TreeModel support for odd/even row color
https://pharo.fogbugz.com/f/cases/15365

16113 SimpleFormatter
https://pharo.fogbugz.com/f/cases/16113

16127 Remove PluggableTextMorph from edit:label:action:
https://pharo.fogbugz.com/f/cases/16127
50215
15754 New Code Critic for unary “accessing” methods without explicit returns
https://pharo.fogbugz.com/f/cases/15754

16113 SimpleFormatter
https://pharo.fogbugz.com/f/cases/16113


Pharo Weekly - MultiWindow Desktop

Julien Delplanque provided this week a goodie to switch between 
"desktops" - but his initial solution was more or less hiding windows
and not really switching between real Pharo worlds/desktops.

I gave him some tips what could be done on the pharo-user list. Havent heard
from him afterwards.

Now I was able to spend a few hours on this topic myself and implemented 
a full multiple desktop solution myself.

This works in Pharo 5 only (currently) and requires latest VM (at least on Windows)
from files.pharo.org to get the keyboard shortcuts right.

To try:

  Gofer new
    smalltalkhubUser: 'TorstenBergmann' project: 'DesktopManager';
    configuration;
    loadDevelopment.

The goodie has some nice features like keyboard navigation, world menu
integration and even a custom spotter with preview of the desktops.

Quick start:
===========
 - evaluate the above expression in a Pharo 5 image
 - check the world menu "Desktop"
 - you can press CTRL + D and then CTRL + A (= Desktop Add) to add a new desktop 
 - you can press CTRL + D and then CTRL + D (= Desktop Desktop) to open the overview
 - you can press CTRL + D and then CTRL + P (= Desktop Previous) to navigate to the previous desktop
 - you can press CTRL + D and then CTRL + N (= Desktop Next) to navigate to the next desktop

The code is hopefully a good example on how to build a custom spotter, shortcuts, inspector extensions, ...
Additionally all this is described in a new article including screenshots
and a guide on how to use this new goodie:

   https://medium.com/@astares/multiple-desktops-for-pharo-5cbc46f3179f

Actually the article took more time to write than coding but I hope 
it helps explaining Pharo and why it is a power tool. 

Project is on http://www.smalltalkhub.com/#!/~TorstenBergmann/DesktopManager
Article and code is still subject to change.

Have fun
T.

August 26, 2015

Pharo News - [ANN] Brick on top of Bloc - Preview

<p>We are happy to announce the first preview version of Brick, a new widget set created from scratch on top of Bloc.</p> <p>Brick is being developed primarily by Alex Syrel (together with Alain Plantec, Andrei Chis and myself), and the work is sponsored by ESUG. Brick is part of the Glamorous Toolkit effort and will provide the basis for the new versions of the development tools.</p> <p>Brick's goal is to provide a beautiful looking widget set, and the default look is based on material design. The widgets are theme-able.</p> <p>Right now, there exists:</p><ul><li> Label</li><li> Simple button</li><li> Toggle button</li><li> Checkbox</li><li> Radio button</li><li> Window with or without an active title bar that can include various visual actions and info</li><li> Menu</li><li> Beautiful scrollbars that are thin by default and enlarge when the mouse hovers over it</li><li> Scalable list for huge amounts of items with various heights</li></ul><p>(The list also allows one for embedding text widgets with in place editing)</p> <p>The next immediate target is the creation of a new Pager widget (the widget that is behind the current GTInspector).</p> <p>You can see some screenshots on the official site: <a href="http://gt.moosetechnology.org/brick">http://gt.moosetechnology.org/brick</a></p>

Pharo News - [ANN] Brick on top of Bloc - Preview

<p>We are happy to announce the first preview version of Brick, a new widget set created from scratch on top of Bloc.</p> <p>Brick is being developed primarily by Alex Syrel (together with Alain Plantec, Andrei Chis and myself), and the work is sponsored by ESUG. Brick is part of the Glamorous Toolkit effort and will provide the basis for the new versions of the development tools.</p> <p>Brick's goal is to provide a beautiful looking widget set, and the default look is based on material design. The widgets are theme-able.</p> <p>Right now, there exists:</p><ul><li> Label</li><li> Simple button</li><li> Toggle button</li><li> Checkbox</li><li> Radio button</li><li> Window with or without an active title bar that can include various visual actions and info</li><li> Menu</li><li> Beautiful scrollbars that are thin by default and enlarge when the mouse hovers over it</li><li> Scalable list for huge amounts of items with various heights</li></ul><p>(The list also allows one for embedding text widgets with in place editing)</p> <p>The next immediate target is the creation of a new Pager widget (the widget that is behind the current GTInspector).</p> <p>You can see some screenshots on the official site: <a href="http://gt.moosetechnology.org/brick">http://gt.moosetechnology.org/brick</a></p>

Pierce Ng - The Smalltalk Report

I was looking for a generic implementation of trees and found Hernan Morales’s Trees. From the comment, the package is a “port of Bruce Samuelson’s TreeLW implementation. An article on the Tree class hierarchy appeared in the October 1993 issue of The Smalltalk Report.”

As it turns out, a copy of that issue of The Smalltalk Report is found on esug.org (in PDF format) and there are many other issues there.

Pharo Weekly - Brick Preview

Hi,
We are happy to announce the first preview version of Brick, a new widget set created from scratch on top of Bloc.
Brick is being developed primarily by Alex Syrel (together with Alain Plantec, Andrei Chis and myself), and the work is sponsored by ESUG. Brick is part of the Glamorous Toolkit effort and will provide the basis for the new versions of the development tools.
Brick’s goal is to provide a beautiful looking widget set, and the default look is based on material design. The widgets are theme-able.
Right now, there exists:
– Label
– Simple button
– Toggle button
– Checkbox
– Radio button
– Window with or without an active title bar that can include various visual actions and info
– Menu
– Beautiful scrollbars that are thin by default and enlarge when the mouse hovers over it
– Scalable list for huge amounts of items with various heights
(The list also allows one for embedding text widgets with in place editing)
The next immediate target is the creation of a new Pager widget (the widget that is behind the current GTInspector).
You can see some screenshots on the official site:
To play with it, you can download a ready-made image:
and, in a Bloc space, you can browse the examples:
BrExampleBrowser exampleOpen
We would be happy to hear your feedback.
Cheers,
Doru

August 25, 2015

Marten Feldtmann - Smalltalk User Meeting in Hamburg (September)

A date for the next Hamburg Smalltalk user meeting is about to be selected:

Select a date


Filed under: Smalltalk Tagged: Hamburg, Meeting, Smalltalk, Users

Marten Feldtmann - PUM 8.6.1 – 02.06.22

New version out with small points:

Topaz/Gemstone

-> accessMethod created in service class to have direct access to the root of the persistency tree of the data – to unify the programming style among several projects

-> sessionID method created in the service class – needed for the lower level framework. I noticed this problem, while starting a new project. This was a little bit trickier, because the system has to look for all :n associations in the model and find out, where the sessions are really handled


Filed under: Smalltalk Tagged: Gemstone, PUM, Smalltalk, Topaz

Torsten Bergmann - Feedback About SmallLint Rules

The Feedback collected in Pharo about the SmallLint Rules could be seen here.

August 24, 2015

Nicolas Cellier - Smallapack moved to github

After ArbitraryPrecisionFloat, I also moved the Smallapack project from https://code.google.com/p/smallapack to https://github.com/nicolas-cellier-aka-nice/smallapack.

Like ArbitraryPrecisionFloat, there is no much code on the repository, except a bit outdated Dolphin verison. The Visualworks and Squeak versions are handled with Store and Monticello in traditional dialect repositories...

Maybe it's time to update a bit the project and open a Pharo 5 branch based on Opal Compiler, but we'll see that...

Andres Valloud - Camp Smalltalk PDX wrap up

We wrapped up Camp Smalltalk PDX tonight.  The Saturday barbeque with fresh Oregon food and the Flat Nines jazz band was really nice!  Thank you Instantiations, FAST, and others who contributed to make it such a great experience --- including the cooks Paul DeBruicker and Dave Caster.  The CTRL-H hackerspace was a welcoming venue.  Thank you CTRL-H!  We had room and amenities, they lent us their backyard for the barbeque, and we also heard about the hackerspace's member projects.  And we even got Camp Smalltalk shirts courtesy of Dave Caster.

Of course, there was a lot of Smalltalk.  I heard of people working on VA Smalltalk, Monticello, Squeak, Cuis, web frameworks, GemStone, and so on.  Personally, I had a lot of fun hacking some VM stuff until a while ago.  And it's not just the work itself --- it's also the people you meet, the connections you make, and the passion you can share.

Photos will become available I am sure --- such as here.  In the mean time, enjoy this preview :).



Pharo Weekly - Projector as Golden consortium member

The Pharo Consortium is very happy to announce that Projector Software GmbH
has joined the Consortium as an Gold Member.

About
 - Projector Software GmbH: http://projector.de
 - Pharo Consortium: http://consortium.pharo.org

The goal of the Pharo Consortium is to allow companies and institutions to
support the ongoing development and future of Pharo.

Individuals can support Pharo via the Pharo Association:

    http://association.pharo.org



August 23, 2015

Pharo Weekly - WAV parser available

Hi,

I made a WAV parser, so now we can play music in Pharo :)

I made an example using OpenAL’s binding from Ronnie.

You can try it with this piece of code :

Gofer new
smalltalkhubUser: ‘MerwanOuddane’ project: ‘WAVParser’;
package: ‘ConfigurationOfWAVParser’;
load.
(Smalltalk at: #ConfigurationOfWAVParser) loadBleedingEdge.
(Smalltalk at: #ALExamplesWAV) exampleBirdChirping

Merwan


August 22, 2015

Marten Feldtmann - PUM 08.06.01 – 02.06.20

Again re-arrangements in the Gemstone/Topaz Generator

-> CookieName and CookiePath is now defined on project level
-> Each versioned API definition HAS to use the project cookie settings
-> method “cookiePath” is now created at the project session-class side


Filed under: Smalltalk Tagged: Gemstone, PUM, Smalltalk

August 21, 2015

Torsten Bergmann - Smalltalks 2015 invitation

The Fundación Argentina de Smalltalk proudly invites you to one of the premier Smalltalk conferences in the world. Let's meet in Buenos Aires, November 11-13! For more details, see here

Torsten Bergmann - FastTable performance

A blog post of FastTable usage with more than 1,2 million of scientific names in one of the most useful bioinformatics curated databases, the NCBI Taxonomy Database.

ESUG news - [ANN] Smalltalks 2015 invitation

The Fundación Argentina de Smalltalk proudly invites you to one of the premier Smalltalk conferences in the world. Let's meet in Buenos Aires, November 11-13! For more details, see here

Pharo Weekly - 1,2 Million of Scientific Names

Hello there,
This might be useful to others, I wrote a small blog post of FastTable usage with more than 1,2 million of scientific names in one of the most useful bioinformatics curated databases, the NCBI Taxonomy Database.

http://biosmalltalk.blogspot.com/2015/08/browsing-12-million-formal-scientific.html

Cheers,

Hernán


August 20, 2015

BioSmalltalk - Browsing +1,2 million formal scientific names from the NCBI Taxonomy Database.

Contents of this post does not require to load or install BioSmalltalk or PhyloclassTalk, but uses a plain Pharo image with the FastTable package.

As part of the PhyloclassTalk project I wanted to add a feature to browse all formal scientific names found in the full NCBI taxonomy database. The recently published FastTable package in the pharo mailing-list makes me wonder how well will perform to open a FastTable Morphic window with its contents. You can also download the taxonomy dump list I used for this experiment. I filtered the original file (taxdmp.zip) to remove "noise" (synonyms, authorities). Using a Sony Vaio i3 at 2.40Ghz it takes just 4 seconds, and you get a fully scrollable list, without pagination, without lags. First we open the FastTable widget with a basic benchmark:

Smalltalk garbageCollect.
[
| speciesDumpReader speciesDumpList |
speciesDumpReader := 'scientific_names.dmp' asFileReference readStream.
speciesDumpList := speciesDumpReader contents lines.
FTEasyListMorph new
extent: 300@550;
elements: speciesDumpList;
openInWindow
] timeToRun.
"0:00:00:03.968" "0:00:00:04.249" "
Now let's go for a more functional species "browser" by adding a callback to open the Google results for the selected taxa:

| speciesDumpReader speciesDumpList |
speciesDumpReader := 'scientific_names.dmp' asFileReference readStream.
speciesDumpList := speciesDumpReader contents lines.
FTEasyListMorph new
header: 'NCBI Taxonomy Database List';
extent: 300 @ 550;
elements: speciesDumpList;
menu: [ : taxaName |
MenuMorph new
add: ('Open External Browser')
target: NBWin32Shell
selector: #shellBrowse:
argument: 'https://www.google.com/?gws_rd=ssl#q=' , taxaName;
yourself ];
openInWindow
and of course, a screenshot:
I hope to see more of this cool packages coming to the Pharo Smalltalk community. Enjoy!

Pharo Weekly - New Smacc version

Hi All,

I have released SmaCC 2.0.5, aligned on the main SmaCC[1] with a small fix on the Java parser, a few additional parsers (Cucumber), the addition of the Javascript parser, and continuous improvements on the performance and source code coverage of SmaCC generated parsers (with many thanks to John Brant and Don Roberts). The project is available on github[2]
This release is targeted at Pharo4. All parsers should work on Pharo 5, but the GUI doesn’t work. Most parsers come with full AST generation and a dedicated visitor for each, and support for native language refactoring.
To retrieve a specific parser, please use Metacello with the following script:
Metacello new
  baseline: ‘SmaCC’;
  repository: ‘github://ThierryGoubier/SmaCC:v2.0.5’;
  load: ‘SmaCC-Javascript’
(SmaCC-Python, SmaCC-Java, SmaCC-Cucumber, etc…)
On Pharo4 only, to retrieve the full set (gui and tests), please use Metacello with the following expressions:
Metacello new
  baseline: ‘SmaCC’;
  repository: ‘github://ThierryGoubier/SmaCC:v2.0.5’;
  load

August 19, 2015

Smalltalk Jobs - Smalltalk Jobs – 8/19/15

  • Sunnyvale, CASoftware Engineer at AIXTRON, Inc.
    • Required Skills:
      • BS or MS in Computer Science or related field
      • Solid programming knowledge and hands-on experience in C/C++, C#, .Net, COM
      • Experience with ControlWORKS SmallTalk framework
      • At least 5 years experience in real-time multitasking programming, preferably for large equipment control software in the semiconductor industry
      • Experience in software development for intelligent devices and their links such as: MFC’s, gate valves, pressure transducers, integrated gasbox, gas panel, safety-critical devices, Ethernet, TCP/IP, RS-232, etc.
      • Strong and effective interpersonal and communication skills and the ability to interact professionally with a diverse group of staff and customers
Good luck with your job hunting,
James T. Savidge

View James T. Savidge's profile on LinkedIn

This blog’s RSS Feed


Filed under: Employment Tagged: jobs, Smalltalk, Smalltalk jobs

Marten Feldtmann - PUM 08.06.01 – 02.06.18

Several bugs fixed in the meantime in the Topaz code generator.

I added a 0:n/1:n association contruct in the modelling tool to allow the usage of instances of RcQueue (good structure for shared system) in the model. The RcQueue models the :n construct. But due to the RcQueue restrictions you can not break the association by setting the :1 side to nil – because its not possible to remove an item somewhere in the queue. Only the first item can be removed … therefore several other methods had to be created:

* remove – removes an item from the queue and clears the association
* add: – adds an item to the queue and set the association


Filed under: Smalltalk Tagged: Gemstone, PUM, Smalltalk

Torsten Bergmann - SmaCC 2.0.5

SmaCC 2.0.5 for Pharo released with JavaScript, Cucumber, Python, CSV, C, C# and Java parsers. Read more here.