peterrenshaw / socsim Goto Github PK
View Code? Open in Web Editor NEWA simulation tool for social media to test against.
License: GNU General Public License v3.0
A simulation tool for social media to test against.
License: GNU General Public License v3.0
_ _____ ____ _____ _____ (_)____ ___ / ___// __ \ / ___/ / ___// // __ `__ \ (__ )/ /_/ // /__ (__ )/ // / / / / / /____/ \____/ \___/ /____//_//_/ /_/ /_/ [1] name readme.txt date 2013AUG04 prog @peterrenshaw desc SOCSIM: A simulation tool for social media to test against. 2013AUG17 * install - python2.7 OK - all 54 tests pass - python3.2 OK - all 54 tests pass * trivial (in|ex)clusions - .gitignore - setup.py * rebuild source code tree * create install script * make sure tests, hacks code work * update docs 2013AUG15 * record/factory.Factory - done, tested * record/hack_read_ini2json.py - run, not tested but naive test works * input - urls.ini * output - urls.json * HACK_Factory.txt, written - rough version 2013AUG13 * record/factory.py - added + factory.Ini + empty.ini + contact.ini + urls.ini * work on factory.Ini allows to specificy blocks as .ini files on system. Read them & then push thu work chain file.ini <- factory.Ini.read() factory.Ini.all() -> factory.Delivery Delivery.Meta for blocks Delivery.Record as container for blocks * record/test_ini.py - attention to versions of python and using configparser which changes sig for python version 3 - attention to different operating system filepaths * record/test_all - updated 2013AUG11 * added HACK_INI.txt - describes how .ini files are used * added hack_read_ini.py - quick, untested hack to see how configparser works and how this might be used to read .ini files - idenified problems with python versions - no real code yet, just a hack to see where to go next. 2013AUG10 * record.Meta - basic testing against record/record.py + added record/test_tools.py + ammeded record/test_all.py - all: fixes - __add_default: added time format string setting * testing - record.Meta + fixes - record.Record() done 2013AUG09 * added license - <https://www.gnu.org/licenses/gpl-3.0.txt> * couple of changes - blocks.py + example code - record.py + comment blocks added * idea: like most ideas they take time to develop. This is how the idea stands as of now: - we have blocks of metadata and a record block. - a Record block contains a list of key/value pairs - so a key/value pair can contain a Meta block with all the associated metadata. - I like to think of these as lego like blocks that can be stacked together. - so we have Record KEY title description created ... n unique key/value pairs ... Meta KEY title description created ... n unique key/value ... * Combining - so we can now combine Meta blocks with a Record block be creating a unique Meta block populating it with data # a red block of size 2, with 2x2 holes and weighs 10g meta_a = record.Meta("A", "This is the A meta block") meta_a.add("colour", "red") meta_a.add("size", 2) meta_a.add("weight", 10) meta_a.add("format", "2x2") # data looks like this meta_a.all() { "deleted": false, "key": "A", "value": [ { "key": "title", "value": "A" }, { "key": "description", "value": "This is the A meta block" }, { "key": "created", "value": "2013AUG0914:54" }, { "key": "colour", "value": "red" }, { "key": "size", "value": 2 }, { "key": "weight", "value": 10 }, { "key": "format", "value": "2x2" } ] } # a yellow block of size 4, with 2x4 holes and weighs 20g meta_b = record.Meta("B", "This is the B meta block") meta_b.add("colour", "yellow") meta_b.add("size", 4) meta_b.add("weight", 20) meta_b.add("format", "2x4") # data looks like this meta_b.all() { "deleted": false, "key": "B", "value": [ { "key": "title", "value": "B" }, { "key": "description", "value": "This is the B meta block" }, { "key": "created", "value": "2013AUG0914:54" }, { "key": "colour", "value": "yellow" }, { "key": "size", "value": 4 }, { "key": "weight", "value": 20 }, { "key": "format", "value": "2x4" } ] } # a blue block of size 1, with 1x1 holes and weighs 5g meta_c = record.Meta("C", "This is the C meta block") meta_c.add("colour", "blue") meta_c.add("size", 1) meta_c.add("weight", 10) meta_c.add("format", "1x1") # data looks like this meta_c.all() { "deleted": false, "key": "C", "value": [ { "key": "title", "value": "C" }, { "key": "description", "value": "This is the C meta block" }, { "key": "created", "value": "2013AUG0914:54" }, { "key": "colour", "value": "blue" }, { "key": "size", "value": 1 }, { "key": "weight", "value": 10 }, { "key": "format", "value": "1x1" } ] } * with me still? - now I want to create a big block, called Blocks. # create a big block called Blocks and add block a, b & c together labels = record.Meta("bigblock", "This is a big block made up of A, B & C blocks") Blocks = record.Record(labels.all() Blocks.add("A", meta_a.all()) Blocks.add("B", meta_b.all()) Blocks.add("C", meta_c.all()) # what does it look like? Blocks.all() [ { "key": "title", "value": "bigblock" }, { "key": "description", "value": "This is block is combined with A, B, C" }, { "key": "created", "value": "2013AUG0914:54" }, { "deleted": false, "key": "A", "value": [ { "key": "title", "value": "A" }, { "key": "description", "value": "This is the A meta block" }, { "key": "created", "value": "2013AUG0914:54" }, { "key": "colour", "value": "red" }, { "key": "size", "value": 2 }, { "key": "weight", "value": 10 }, { "key": "format", "value": "2x2" } ] }, { "deleted": false, "key": "B", "value": [ { "key": "title", "value": "B" }, { "key": "description", "value": "This is the B meta block" }, { "key": "created", "value": "2013AUG0914:54" }, { "key": "colour", "value": "yellow" }, { "key": "size", "value": 4 }, { "key": "weight", "value": 20 }, { "key": "format", "value": "2x4" } ] }, { "deleted": false, "key": "C", "value": [ { "key": "title", "value": "C" }, { "key": "description", "value": "This is the C meta block" }, { "key": "created", "value": "2013AUG0914:54" }, { "key": "colour", "value": "blue" }, { "key": "size", "value": 1 }, { "key": "weight", "value": 10 }, { "key": "format", "value": "1x1" } ] } ] * now we can save this as a file and use it a lot of different ways on the web, and that's good. 2013AUG06 * todo - added 2013AUG05 * docs/resources.md - quick exploration on how/why u might store critical data - make distinction between human/machine readable format - storage, resource types, access & distribution * docs/testing.md - quick ideas on what to test on responses 2013AUG04 * docs/simple.md - a quick decription of a scenario - how it's done on pen/paper & twitter - conducting experiments, what can you measure? - how to improve thru automat@n - sanity check * updated about - scenario, controller, operators, time, fog, analysis * screw markdown, remove ABOUT.md, convert to .txt * github remote add * wrote about cf ABOUT.md * created [1] Title created with an ASCII text generator using 'slant' and 'stretch=Yes". The code is based on Figlet which can be found here ~ <http://www.figlet.org/> [Last accessed: Sunday 4th August, 2013] <http://www.network-science.de/ascii/> # vim: ff=unix:ts=4:sw=4:tw=78:noai:expandtab
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.