Hi - Sorry your venture did not work out.  I think it is generous to share
your code with the world.  I'm interested in seeing how you put it all
together.  

Recognizing this is a Pharo list, I'm also interested in seeing your
GemStone site and maintenance scripts.  

Hope you're able to find people to keep it going

Paul


Pharo Smalltalk Users mailing list wrote
> Quuve Moves to the Public Domain under MIT License
> <https://opensource.org/licenses/MIT>
> 
> Quuve provides a pro-grade integrated environment for portfolio management
> and research for securities investors. Professional grade in that it was
> meant to be licensed out to firms/groups offering research & portfolio
> management services. It is a virtualized, scaleable, web application
> developed with Pharo and deployed on GemStone/S. See the Quuve Overview
> video on YouTube
> <https://www.youtube.com/watch?v=sraCv1VwJzQ&list=PLfTMPTPc22sGNrm2rXt8kD-9iFTgqbAUG>
> for more information.
> 
> Quuve development stopped in the Fall of 2017 due to a lack of funding,
> however it still has some cutting-edge features for the industry. Because
> Quuve can function as an institutional level data server, tailored mobile
> apps could be built as standalone technology - and such an approach could
> even take advantage of Quuve’s analyst/site model subscription selections.
> 
> Software Positives:
> 
>    -
> 
>    Using a Glorp-like interface to access data: Quuve has successfully run
>    on Pharo (stand alone for development, backed by Fuel), Gemstone
>    (deployment), and with portions backed using a relational DB - not
> required
>    nor used at present. Quuve provides DB admin tools including
> import/export
>    of DB’s in part or full; deleted records access tables, and more. User
>    permission-masks can be granted by DB, table, even patterns in records.
>    -
> 
>    Generic CRUD tables UI allows for rapid class development/usage - see
>    ApplicationContext (stack with preferences style inheritance).
>    -
> 
>    3-tier model (application, site, user) for data and Rules, allows site
>    (group) and user specific overrides, which is important in Finance,
> where
>    few will agree on how to define “free cash flow” in one accounting
> system,
>    or one industry, let alone globally.
>    -
> 
>    Processors allow for dynamic code-based answers to data requests; they
>    blur the lines between data and Rules. Any object can be wrapped with a
>    Processor and have data and rules added dynamically. Rules allow
>    data-requests to perform any operation a modern computer can perform,
> and
>    most often these are simple math operations on series. Rules are
> organized
>    by “analyst” names (akin to rules’ Classes), the specifications for
>    analysts is user specific, allowing for dynamic-inheritance required
> for a
>    pro-grade multi-user Finance application pulling in international data
>    (using different source accounting standards). Rules are compiled on
>    demand; all caching is dynamic and user specific. Rules can be defined
>    using wild-card method-names to open up entire remote volumes of data,
> or
>    data transformations, with a new pattern. Data series are very robust
>    around missing data and math errors. Quuve includes time profiling and
>    debugging method-trace system to understand data missing or debug
> errors -
>    enabled in user-specific permissions.
>    -
> 
>    Demonstrated integration of learning systems for analysis and portfolio
>    management (“robo-trading”). Data-sampling uses “point in time view” to
>    support accurate backtesting. Portfolios have the unique feature of
> being
>    able to scroll backwards in time to any date to see the specific
> holdings
>    there - as models are built from trade-event records.
>    -
> 
>    Access to millions of FREE data series from sites like FRED (St. Louis
>    Federal Reserve Bank - USA), World Bank, etc. - menu selectable in
> report
>    writer!
>    -
> 
>    NPI (Non-public information) masking tools - important for privacy in
>    professional Finance office.
>    -
> 
>    Script Tool allows for ad hoc testing - most tools like the company
>    report tool also incorporates an ad hoc scripting area.
>    -
> 
>    User-specific configurable DB tables access, window access, etc. User
>    and DB bindings specified in CSV files for bootstrapping.
>    -
> 
>    Programmer documentation in wiki & in-system help-notes. Some ‘company
>    reports’ are training tools.
> 
> 
> Software Issues (“opportunities”!):
> 
>    -
> 
>    Quuve development stopped in the Fall of 2017 due to a lack of funding;
>    some dialogs already look a bit out-dated.
> 
> 
>    -
> 
>    Some external libraries (e.g. javascript charting) require external
>    licenses - see Credits listed below.
>    -
> 
>    Professional grade data must be licensed for individual or larger group
>    - please consult us. Note: we can provide small amounts of CSV data for
>    testing company reports. Perhaps we can form a consortium to license
>    pro-grade data - but we need a Champion to lead the way. CSV data can
> load
>    on-demand and depends only on the user’s data-source selection via
>    preference or dialog-input specification. Small amounts of data can be
>    sourced from certain sites on an individual basis but not commercially,
>    e.g. yahoo, google, etc.
>    -
> 
>    Data loaded currently into one default currency - defined in
>    data-loaders - the idea was to use “table decorators” model to map data
> to
>    any currency at current exchange ratio or historical.
>    -
> 
>    Dropbox was used for file-sharing on cloud servers - not required for
>    local Pharo execution.
>    -
> 
>    Quuve configuration has not been updated in 18 months.
>    -
> 
>    In recent years only Apple platforms were used for Pharo development.
>    -
> 
>    Currently there is minimal support for Quuve. We can add users to our
>    existing programmer wiki and slack-threads to pick up where we left
> off. In
>    adding users we would prefer a few dedicated champions. There are tools
>    that can be harvested for non-Finance applications. We can add a few
>    trusted users to our current demonstration server, but this contains
> data
>    that cannot be shared, so we must be selective!
>    -
> 
>    Latest working image was Pharo 6.1 32 bits and GemStone 3.4.0
>    -
> 
>    Latest instructions to load code are in our devwiki titled
>    DevelopmentBootstrapping_IAM - only a few dedicated users will be added
>    initially.
>    -
> 
>    Code is in smallhub and should become public, MIT, and possibly moved
> to
>    Github. This is an immediate need!
>    -
> 
>    GemStone scripts to build new sites, maintenance etc are in gitlab -
>    again, we can start providing access selectively!
>    -
> 
>    We have only one server, running in Linode:
>    https://cloud.linode.com/linodes/866838/summary
> 
> 
> 
> More info:
> 
> Currently copyrighted to Debris Publishing, Inc. - This is changing to MIT
> License.
> 
> Quuve is intended to assist investors manage portfolios and perform
> research.
> 
> Quuve was built and deployed using tools from various sources. The
> following firms, organizations, communities, and individuals have not
> endorsed Quuve nor Debris, but we offer due credit whether they are aware
> of us or not. Many thanks for/to...
> 
> Development and deployment environments and platforms
> 
> Pharo (c) Pharo.org <http://pharo.org/> Pharo is our development
> platform,
> language and environment.
> 
> GemStone (c) GemTalk Systems <http://gemtalksystems.com/> We use
> GemStone
> system to deploy and run each Quuve site for production. In addition,
> GemStone serves as our scalable object database.
> Web frameworks
> 
> Seaside Web Framework <http://seaside.st/> The web UI of Quuve is
> built
> using Seaside: a great web framework ideal for developing dynamic and
> complex applications
> 
> Twitter Bootstrap for Seaside
> <http://smalltalkhub.com/#!/~TorstenBergmann/Bootstrap> Bootstrap is
> very
> nicely integrated in Seaside web framework and we use it for styling and
> designing Quuve web components.
> 
> Highcharts for Seaside
> <http://smalltalkhub.com/#!/~Mercap/HighchartsSt>
> All our web charts use Highcharts JS bindings for Seaside
> 
> Magritte <https://github.com/magritte-metamodel/magritte> Magritte
> provides
> us a nice and small meta-description framework which allow us to build a
> fully featured CRUD system. Most of Quuve forms and reports are
> automatically generated from our CRUD framework build on top of Magritte.
> Development tools and frameworks
> 
> Fuel Serializer <http://rmod.inria.fr/web/software/Fuel> We use Fuel
> to
> save and load our development and testing databases when working in Pharo
> platform
> 
> SIXX Serializer
> <http://www.mars.dti.ne.jp/~umejava/smalltalk/sixx/index.html'> SIXX
> is
> used to move small databases from GemStone to Pharo or vice-versa or
> between different GemStone instances
> 
> Metacello
> <https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUserGuide.md>
> To manage software dependencies, releases, environment building,
> deploying,
> etc. we use Metacello
> 
> Zinc and Zodiac HTTP Components <http://zn.stfx.eu/zn/index.html>
> Both are
> used as HTTP and HTTPS clients. In Addition, Zinc is used as the web
> server
> when using Seaside in Pharo
> 
> Blowfish <http://smalltalkhub.com/mc/Cryptography/Cryptography/main>
> We use
> Blowfish as part of our encryption and decryption tools.
> 
> XMLParser <http://smalltalkhub.com/mc/PharoExtras/XMLParser/main> We
> also
> need to parse and write XML in many places
> Javascript Libraries
> 
> JQuery and JQuery-UI <https://jquery.com/> Even if small, most of
> our JS
> development is using JQuery when possible. In addition, a couple of
> components like autocompletion, popups, sortable lists, etc are used from
> JQuery-UI
> 
> TinyMCE <http://www.tinymce.com/> For nicely editing notes,
> documents, etc.
> we use the fully WYSIWYG editor TinyMCE
> 
> Datatables <https://www.datatables.net/> To improve or HTML tables
> and
> reports we use Datatables. This allow us to have fixed header, fixed
> columns and many many other features.
> 
> CodeMirror <http://codemirror.net/> For scripting, editing
> accounting and
> computation rules, and many other places, we use CodeMirror to color
> highlight code, autocomplete, etc.
> Infrastructure
> 
> CentOS Linux <https://www.centos.org/> All our guest/virtual
> operating
> systems are CentOS Linux, with latest stable release and security updates.
> 
> Nginx <http://nginx.org/> Our web server for production purposes is
> nginx.
> 
> Monit <https://mmonit.com/monit/> We use monit to monitor all
> processes,
> being that Quuve ones or the ones we need from the Operating System. Monit
> will, for example, automatically restart Quuve processes upon crashes.
> 
> Fail2ban <http://www.fail2ban.org/> As part of our security efforts
> we use
> fail2ban to protect us from DOS attacks and from malicious user
> 
> Firewalld <https://fedoraproject.org/wiki/FirewallD> We also use
> firewalld
> as out OS firewall





--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Reply via email to