Enviar búsqueda
Cargar
VA Smalltalk Update
•
1 recomendación
•
524 vistas
E
ESUG
Seguir
Tecnología
Educación
Denunciar
Compartir
Denunciar
Compartir
1 de 49
Descargar ahora
Descargar para leer sin conexión
Recomendados
Avalon Media System Community Update Webinar
Avalon Media System Community Update Webinar
Avalon Media System
Django è pronto per l'Enterprise
Django è pronto per l'Enterprise
PyCon Italia
Zend
Zend
marcosTedsys
Program development tools
Program development tools
Pantech ProLabs India Pvt Ltd
Advanced DNS/DHCP for Novell eDirectory Environments
Advanced DNS/DHCP for Novell eDirectory Environments
Novell
A Lap Around Visual Studio 11
A Lap Around Visual Studio 11
Chad Green
Cassandra Day NY 2014: Message Architectures in Distributed Systems at Simple...
Cassandra Day NY 2014: Message Architectures in Distributed Systems at Simple...
DataStax Academy
Component Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDS
Remedy IT
Recomendados
Avalon Media System Community Update Webinar
Avalon Media System Community Update Webinar
Avalon Media System
Django è pronto per l'Enterprise
Django è pronto per l'Enterprise
PyCon Italia
Zend
Zend
marcosTedsys
Program development tools
Program development tools
Pantech ProLabs India Pvt Ltd
Advanced DNS/DHCP for Novell eDirectory Environments
Advanced DNS/DHCP for Novell eDirectory Environments
Novell
A Lap Around Visual Studio 11
A Lap Around Visual Studio 11
Chad Green
Cassandra Day NY 2014: Message Architectures in Distributed Systems at Simple...
Cassandra Day NY 2014: Message Architectures in Distributed Systems at Simple...
DataStax Academy
Component Based DDS with C++11 and R2DDS
Component Based DDS with C++11 and R2DDS
Remedy IT
Android Library Projects
Android Library Projects
CommonsWare
Kitware: Qt and Scientific Computing
Kitware: Qt and Scientific Computing
account inactive
Velocity-EHF for Android
Velocity-EHF for Android
michaeljfawcett
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
gagravarr
Make Your Builds More Groovy
Make Your Builds More Groovy
Paul King
GroovyDSLs
GroovyDSLs
Paul King
Dependency Injection Styles
Dependency Injection Styles
Spring User Group France
OpenStack Extensions
OpenStack Extensions
Jorge Williams
Websphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open Source
IBM WebSphereIndia
Enterprise OSGi at eBay
Enterprise OSGi at eBay
Tony Ng
Basic Selenium Training
Basic Selenium Training
Dipesh Bhatewara
Building the VM
Building the VM
ESUG
VW Object Memory Management
VW Object Memory Management
ESUG
DeltaImpact: Assessing semantic merge conflicts with Dependency Analysis
DeltaImpact: Assessing semantic merge conflicts with Dependency Analysis
ESUG
Code Transformation by Direct Transformation of ASTs
Code Transformation by Direct Transformation of ASTs
ESUG
Mock Objects and Smalltalk
Mock Objects and Smalltalk
ESUG
Smalltalk on the JVM
Smalltalk on the JVM
ESUG
Pasos para escanear una imagen o documento
Pasos para escanear una imagen o documento
ana_palacio12
VA Smalltalk Update
VA Smalltalk Update
ESUG
VA Smalltalk Update ESUG2014
VA Smalltalk Update ESUG2014
ESUG
VA Smalltalk Update
VA Smalltalk Update
ESUG
Application Quality with Visual Studio 2010
Application Quality with Visual Studio 2010
Anna Russo
Más contenido relacionado
La actualidad más candente
Android Library Projects
Android Library Projects
CommonsWare
Kitware: Qt and Scientific Computing
Kitware: Qt and Scientific Computing
account inactive
Velocity-EHF for Android
Velocity-EHF for Android
michaeljfawcett
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
gagravarr
Make Your Builds More Groovy
Make Your Builds More Groovy
Paul King
GroovyDSLs
GroovyDSLs
Paul King
Dependency Injection Styles
Dependency Injection Styles
Spring User Group France
OpenStack Extensions
OpenStack Extensions
Jorge Williams
Websphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open Source
IBM WebSphereIndia
Enterprise OSGi at eBay
Enterprise OSGi at eBay
Tony Ng
Basic Selenium Training
Basic Selenium Training
Dipesh Bhatewara
La actualidad más candente
(11)
Android Library Projects
Android Library Projects
Kitware: Qt and Scientific Computing
Kitware: Qt and Scientific Computing
Velocity-EHF for Android
Velocity-EHF for Android
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
But We're Already Open Source! Why Would I Want To Bring My Code To Apache?
Make Your Builds More Groovy
Make Your Builds More Groovy
GroovyDSLs
GroovyDSLs
Dependency Injection Styles
Dependency Injection Styles
OpenStack Extensions
OpenStack Extensions
Websphere Application Server: Much more than Open Source
Websphere Application Server: Much more than Open Source
Enterprise OSGi at eBay
Enterprise OSGi at eBay
Basic Selenium Training
Basic Selenium Training
Destacado
Building the VM
Building the VM
ESUG
VW Object Memory Management
VW Object Memory Management
ESUG
DeltaImpact: Assessing semantic merge conflicts with Dependency Analysis
DeltaImpact: Assessing semantic merge conflicts with Dependency Analysis
ESUG
Code Transformation by Direct Transformation of ASTs
Code Transformation by Direct Transformation of ASTs
ESUG
Mock Objects and Smalltalk
Mock Objects and Smalltalk
ESUG
Smalltalk on the JVM
Smalltalk on the JVM
ESUG
Pasos para escanear una imagen o documento
Pasos para escanear una imagen o documento
ana_palacio12
Destacado
(7)
Building the VM
Building the VM
VW Object Memory Management
VW Object Memory Management
DeltaImpact: Assessing semantic merge conflicts with Dependency Analysis
DeltaImpact: Assessing semantic merge conflicts with Dependency Analysis
Code Transformation by Direct Transformation of ASTs
Code Transformation by Direct Transformation of ASTs
Mock Objects and Smalltalk
Mock Objects and Smalltalk
Smalltalk on the JVM
Smalltalk on the JVM
Pasos para escanear una imagen o documento
Pasos para escanear una imagen o documento
Similar a VA Smalltalk Update
VA Smalltalk Update
VA Smalltalk Update
ESUG
VA Smalltalk Update ESUG2014
VA Smalltalk Update ESUG2014
ESUG
VA Smalltalk Update
VA Smalltalk Update
ESUG
Application Quality with Visual Studio 2010
Application Quality with Visual Studio 2010
Anna Russo
Arif_Shaik_CV
Arif_Shaik_CV
Arif Shaik
SharePoint Sandboxed Solutions and InfoPath - TechEd Middle East
SharePoint Sandboxed Solutions and InfoPath - TechEd Middle East
Ayman El-Hattab
caseywest
caseywest
tutorialsruby
caseywest
caseywest
tutorialsruby
Turmeric SOA Introduction
Turmeric SOA Introduction
kingargyle
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
AgileNetwork
Mantis Code Deployment Process
Mantis Code Deployment Process
Jen Wei Lee
Lift Introduction
Lift Introduction
Indrajit Raychaudhuri
Case study
Case study
karan saini
Version Control, Writers, and Workflows
Version Control, Writers, and Workflows
stc-siliconvalley
Android application development
Android application development
Linh Vi Tường
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Michel Buczynski
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Chocolatey Software
Prueba ppt
Prueba ppt
Ulises Torelli
Html5v1
Html5v1
Ulises Torelli
ECM and Open Source Software: A Disruptive Force in ECM Solutions
ECM and Open Source Software: A Disruptive Force in ECM Solutions
Jeff Potts
Similar a VA Smalltalk Update
(20)
VA Smalltalk Update
VA Smalltalk Update
VA Smalltalk Update ESUG2014
VA Smalltalk Update ESUG2014
VA Smalltalk Update
VA Smalltalk Update
Application Quality with Visual Studio 2010
Application Quality with Visual Studio 2010
Arif_Shaik_CV
Arif_Shaik_CV
SharePoint Sandboxed Solutions and InfoPath - TechEd Middle East
SharePoint Sandboxed Solutions and InfoPath - TechEd Middle East
caseywest
caseywest
caseywest
caseywest
Turmeric SOA Introduction
Turmeric SOA Introduction
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
Mantis Code Deployment Process
Mantis Code Deployment Process
Lift Introduction
Lift Introduction
Case study
Case study
Version Control, Writers, and Workflows
Version Control, Writers, and Workflows
Android application development
Android application development
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Prueba ppt
Prueba ppt
Html5v1
Html5v1
ECM and Open Source Software: A Disruptive Force in ECM Solutions
ECM and Open Source Software: A Disruptive Force in ECM Solutions
Más de ESUG
Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
Technical documentation support in Pharo
Technical documentation support in Pharo
ESUG
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
ESUG
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
Garbage Collector Tuning
Garbage Collector Tuning
ESUG
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
thisContext in the Debugger
thisContext in the Debugger
ESUG
Websockets for Fencing Score
Websockets for Fencing Score
ESUG
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ESUG
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
ESUG
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
Más de ESUG
(20)
Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
Technical documentation support in Pharo
Technical documentation support in Pharo
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
Garbage Collector Tuning
Garbage Collector Tuning
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
thisContext in the Debugger
thisContext in the Debugger
Websockets for Fencing Score
Websockets for Fencing Score
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
Último
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Delhi Call girls
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Delhi Call girls
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Antenna Manufacturer Coco
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Igalia
Último
(20)
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
VA Smalltalk Update
1.
VA Smalltalk Update
John O’Keefe Principal Smalltalk Architect Instantiations, Inc. Copyright © 2011, Instantiations, Inc.
2.
Recent Events
• Completed first year as pure Smalltalk company • # of users and revenues continue to grow • Growing Engineering staff • 4 engineers joined since ESUG 2010 • Using contractors for additional capacity Copyright © 2011, Instantiations, Inc.
3.
Recent Events
Continued • University Outreach • Hasso Plattner Institute Bachelor Project • GTK+ Bindings for Linux • Interested in more • User Outreach • Conference participation • ESUG, Smalltalk Solutions, Smalltalks • VA Smalltalk Forum -> VA Smalltalk Google Group • Aggregated on [Smalltalk] http://forum.world.st • Previous forum content still available (static) • New “Videos and Podcasts” pages on website Copyright © 2011, Instantiations, Inc.
4.
Previous Releases
• V8.0 (May 2009) • Seaside, Tabbed Browsers, Documentation delivery system • V8.0.1 (November 2009) • Seaside update, ‘cdecl’ calling convention • V8.0.2 (May 2010) • Seaside update, GLORP • V8.0.3 (February 2011) • Seaside update, GUI improvements, added documentation Copyright © 2011, Instantiations, Inc.
5.
VA Smalltalk V8.5
August 2011 • Development Tools • Code Assist (code completion) • Infrastructure • Logging Framework • Preference Settings Framework • Deprecation Exception • Graphics and Windowing • Rebar Control • TIFF CCITT T.4 bi-level encoding • Web Interface • Grease 1.0.5+ / Seaside 3.0.5+ • HTTP Chunked Transfer Encoding Copyright © 2011, Instantiations, Inc.
6.
Development Tools
Code Assist • Problem: Developers can create many more classes and methods than we can hold names for in our minds • Solution: Use the computer’s calculating capabilities to predict names as they are being entered in the code editor Copyright © 2011, Instantiations, Inc.
7.
Development Tools
Code Assist General and extensible content assist framework Customizable popup list displays actionable suggestions Layout management functions control popup placement APIs and Extension Points allow for customization Numerous Configuration Options Enable and configure auto-popup of completion suggestions Visibility settings (i.e. Show only Public method suggestions) <Tab> or <Enter> to accept completion suggestions Automatic completion if single available suggestion Copyright © 2011, Instantiations, Inc.
8.
Development Tools
Code Assist • Context-Sensitive Auto-Completion Supported in Browsers, Workspaces and Debuggers • Suggestions for Methods, Symbols/Atoms, and Variables • Uses parse tree analysis and type reconstruction to provide most relevant suggestions • Smart Suggestion Sorting • Variable Suggestions: Locals before pseudo variables before pool variables Method Suggestions: Public before Private • Class Suggestions: Classes that extend SubApplication after other classes Copyright © 2011, Instantiations, Inc.
9.
Development Tools
Code Assist Suggestion descriptions provide additional details Methods: Class in which the method is defined or common superclass Scoped Pool Variables: Value of the pool variable Unscoped Pool Variables: Pool Dictionary in which it is defined Suggestions offered for ambiguous receivers OrderedCollection new add: #(1 2) be<Activate CA> Does the user want to complete before: for the receiver: #(1 2)? Does the user want to complete add:before: for the receiver: OrderedCollection new? Only the user knows; both suggestions are offered Copyright © 2011, Instantiations, Inc.
10.
Development Tools
Code Assist • Parentheses auto-inserted for method completions • Method override suggestions • Requesting Code Assistance at the top of a code browser will offer methods available to be overridden • Arguments are automatically inserted upon completion of an overridden method Copyright © 2011, Instantiations, Inc.
11.
Demo Copyright © 2011,
Instantiations, Inc.
12.
Infrastructure
Logging Framework • Problem: The product currently contains many one-off logging solutions, but no centralized facility useable by product developers and customers. • Solution: Provide a Logging Framework to standardize the definition, use, and output formats of logging. Copyright © 2011, Instantiations, Inc.
13.
Infrastructure
Logging Framework Log4s is a port of the popular Java logging framework log4j Copyright © 2011, Instantiations, Inc.
14.
Infrastructure
Logging Framework • Example of application logging requirement • A banking company is required to keep monthly logs of all foreign transactions and weekly logs of all foreign transactions greater than $10000 Copyright © 2011, Instantiations, Inc.
15.
Infrastructure
Logging Framework • Example of application logging solution • Make .ini file entries [log4s] createLogger=('vast') dailyRollingFileAppender=(ForeignTxns, root, c:logsforeignTxns.log, false, info, EsPatternLayout, '%d [%c] %o', true, topOfMonth) dailyRollingFileAppender=(BigForeignTxns, vast, c:logsbigForeignTxns.log, false, warn, EsPatternLayout, '%d %c %o', true, topOfWeek) The pattern of %d %c %o will log the time, the logger name, and the transaction object. Copyright © 2011, Instantiations, Inc.
16.
Infrastructure
Logging Framework • Define Transaction>>printLog4s ^ String streamContent: [ :stream | stream nextPutAll: self payee; space; nextPutAll: self amount printString ] • The application code might look like this: logIfNeeded: aTransaction aTransaction isForeign ifTrue: [ EsLogManager info: 'Foreign txn‘ object: aTransaction. "goes to root logger" aTransaction amount > 10000 ifTrue: [ EsLogManager loggerNamed: 'vast‘ warn: 'Large Foreign txn‘ object: aTransaction ] ]. Copyright © 2011, Instantiations, Inc.
17.
Infrastructure
Logging Framework • Result • foreignTxns.log will have output like this: '28 Aug 2011 08:15:07,000 [root] Mark Twain 13.67‘ • bigForeignTxns.log will have output like this: '28 Aug 2011 08:15:07,000 vast Fred Smith 23645.23' Copyright © 2011, Instantiations, Inc.
18.
Infrastructure
Preference Settings Framework • Problem: Existing customization preference settings are not well-managed or well- documented. In some cases, they are completely hidden. • Solution: Provide a Preference Settings Framework to standardize the management and documentation of preferences. Copyright © 2011, Instantiations, Inc.
19.
Infrastructure
Preference Settings Framework • Preferences are held in .ini file • Major groupings are stanzas -- generally named the same as the application they relate to • keyword=value entries hold the settings • Values are typed • Simple: boolean, decimal, directory, file, fraction, integer, multiLineString, number, point, string • Complex: array, range Copyright © 2011, Instantiations, Inc.
20.
Infrastructure
Preference Settings Framework • Preference settings are managed by subclasses of Application • Preference settings are read from the .ini file • The user implements 3 methods to provide preference settings for an application • validSettings • currentSettings • setCurrentSettings Copyright © 2011, Instantiations, Inc.
21.
Infrastructure
Preference Settings Framework • validSettings • Provides valid element types for keywords within stanzas • Example validSettings ^ LookupTable new at: self symbol asString put: (LookupTable with: 'fplevel' ->(0 inclusiveTo: 9) elementType: self integerType)); at: 'VAST 5.0 Compatibility' put: (LookupTable with: 'installPath' -> self directoryType); yourself Copyright © 2011, Instantiations, Inc.
22.
Infrastructure
Preference Settings Framework • currentSettings • Provides current and default setting values for keywords within stanzas • Example currentSettings ^ LookupTable new at: self symbol asString put: (LookupTable with: 'bitmapPath' -> (Array with: CgScreen bitmapPath with: #())); yourself Copyright © 2011, Instantiations, Inc.
23.
Infrastructure
Preference Settings Framework • setCurrentSettings • Transfers setting values to their ‘used’ location for the application • Example setCurrentSettings | addr | addr := self settingFor: 'ServerAddress'. addr isEmpty ifTrue: [ addr := nil ]. EmLibrary defaultName: (self settingFor: 'DefaultName'); serverAddress: addr; openReadOnly: (self settingFor: 'OpenReadOnly') Copyright © 2011, Instantiations, Inc.
24.
Infrastructure
Deprecation Exception • Problem: Frameworks evolve and some API methods are destined to be removed in favor of replacement methods, but customers may have code dependencies. • Solution: Mark methods as deprecated and gather usage information Copyright © 2011, Instantiations, Inc.
25.
Infrastructure
Deprecation Exception • Technique • Categorize method as ‘Deprecated’ • Replace method content with: self deprecated: ‘explanation string’ in: ‘version string’. ^ …invocation of alternate implementation… • Example asDecimal ^ self deprecated: 'Replaced by #asScaledDecimal‘ in: ‘V8.5'; asScaledDecimal Copyright © 2011, Instantiations, Inc.
26.
Infrastructure
Deprecation Exception • Deprecation is subclass of Warning • Default handling based on preference • Logging: write message to in-memory log • Showing: write message to Transcript (TranscriptTTY in runtime) • Raising: open MessagePrompter allowing continue or terminate • Documentation provides sample code to dump in- memory log Copyright © 2011, Instantiations, Inc.
27.
Graphics and Windowing
Rebar Control • Problem: Windows customers want Toolbars with adjustable content. • Solution: Add support for Rebar control Copyright © 2011, Instantiations, Inc.
28.
Graphics and Windowing
Rebar Control • Specialized container for widgets • Holds bands • Bands may be moved and resized • Band may hold • Gripper (for resizing) • Child widget • Label • Bitmap Copyright © 2011, Instantiations, Inc.
29.
Graphics and Windowing
TIFF CCITT T.4 bi-level encoding • Problem: Customers are receiving FAX documents encoded as CCITT T.4 that they can’t process • Solution: Add support for CCITT T.4 bi-level encoding (read and write) to existing TIFF support Copyright © 2011, Instantiations, Inc.
30.
Web Interface
Seaside 3.0.5+ / Grease 1.0.5+ • Problem: Seaside and Grease development has progressed since VA Smalltalk V8.0.3 • Solution: Port Seaside 3.0.5 and Grease 1.0.5 (both with updates through 8/9/2011 – exact level identified in configuration maps) Copyright © 2011, Instantiations, Inc.
31.
Web Interface
HTTP Chunked Transfer Encoding • Problem: Customers need to maintain persistent connections for HTTP with dynamically generated content (size not known when connection established). • Solution: Add support for HTTP Chunked Transfer Encoding. Chunked HTTPRequests and HTTPResponses (including web services) can be processed. Copyright © 2011, Instantiations, Inc.
32.
Support
• 60+ bug fixes and minor enhancements Copyright © 2011, Instantiations, Inc.
33.
Looking to the
Future Copyright © 2011, Instantiations, Inc.
34.
Future Releases
• Release schedule is about twice a year • Next release is planned for end of Q1/2012 • Current information available in Product Roadmap • http://www.instantiations.com/products/roadmap.html • Content based on requirements from: • Direct customer interactions • Forums • Support cases • Internals Copyright © 2011, Instantiations, Inc.
35.
Priority Technologies
• Internationalization • Web interface • Middleware • GUI Look and Feel • Development Tools • Security • Performance and Scalability • Platforms • External Interfaces • Other Copyright © 2011, Instantiations, Inc.
36.
Future Releases
Candidate Items • Internationalization • Full Unicode/UTF-8 (including VM) • Web interface • Seaside 3.x • Continuation support • SST Servlet multipart forms • Web services tooling improvements • Web services debugging tools/doc • Validating XML parser Copyright © 2011, Instantiations, Inc.
37.
Future Releases
Candidate Items • GUI Look and Feel • GTK+ 2.x on Linux • Windows Common Controls additions • Icon/image support additions • Backport widgets from add-ons • Development Tools • Improved Changes Browser & Merge Tool • Code Assist additions • Monticello importer Copyright © 2011, Instantiations, Inc.
38.
Future Releases
Candidate Items • Infrastructure • Settings Dialogs to complement Settings Framework • Consolidate most settings using Settings Framework • Logging Framework improvements • Windows Services control moved to Smalltalk • Middleware • DB2 Stored Procedures improvements • GLORP infrastructure improvements • GLORP Programmer’s Reference • Active Records built on GLORP • TCP/IP V6 Copyright © 2011, Instantiations, Inc.
39.
Future Releases
Candidate Items • Security • “Basic” security framework (consolidate existing OpenSSL wrappers) • “Full” security framework -- OpenSSL 1.0 wrappers • Performance and Scalability • Incremental garbage collection • 64-bit Smalltalk • Class library performance hotspots • Integrate KES/Stats tool for object monitoring Copyright © 2011, Instantiations, Inc.
40.
Future Releases
Candidate Items • External Interfaces • JNIPort • .NET/C# Other • Installation • Single installer for Client and Manager • Seamless with Windows UAC (User Account Control) • Install/Repair/Uninstall (no manual Registry edit) • Silent installer for Unix • Class Libraries • Collection hashing policies • Collection sorting policies Copyright © 2011, Instantiations, Inc.
41.
How Do You
Get VA Smalltalk? • Download evaluation copy • http://www.instantiations.com/products/vasmalltalk/download.html • Buy development licenses • http://www.instantiations.com/products/purchase.html • Download development build • Announced in VA Smalltalk Google Group • Be a committer on an Open Source project • http://www.instantiations.com/company/open-source.html • Work for an educational institution • http://www.instantiations.com/products/academic-license- program.html Copyright © 2011, Instantiations, Inc.
42.
Contact us
• General information • info@instantiations.com • Sales • sales@instantiations.com • Support • support@instantiations.com • Me • john_okeefe@instantiations.com Copyright © 2011, Instantiations, Inc.
43.
Backup Copyright © 2011,
Instantiations, Inc.
44.
Development Tools
Code Assist Copyright © 2011, Instantiations, Inc.
45.
Development Tools
Code Assist Copyright © 2011, Instantiations, Inc.
46.
Development Tools
Code Assist Copyright © 2011, Instantiations, Inc.
47.
Development Tools
Code Assist Copyright © 2011, Instantiations, Inc.
48.
Development Tools
Code Assist Copyright © 2011, Instantiations, Inc.
49.
Development Tools
Code Assist Copyright © 2011, Instantiations, Inc.
Descargar ahora